想必大家都对参数篡改攻击有所了解,今天作者分享的是对RSA加密参数的篡改从而实现账号劫持的简单测试,漏洞原因在于Web应用在客户端缺乏安全的防护机制。一起来看看。
出于保密,目标Web应用暂且叫它为target.com,在接触该目标时,经测试发现,其上所有的参数操作都是加密传输的,在Burp的抓包配合下,可见其大概的加密形式如下:
userName=8cfe39943d6e08e505531ddfd90c66f47c2f55ce140e5770fef58d3bec826f52490a089d1942aaed74a9f6ed0fd8890cef6c36e31220c9859a3ab423062wxbeea480d94850d95374ab3a7a47de3e9f89b3250a58397044817069c6a17109cc27408b0c53f94q34a5878270ff6random8c96b916bb9594af648e6dc6851685a9d41cdb868761c4d36d49389150840af05a277530dd191464befc79a46d418a4e4f12b2dec0c5cc01097efed4b2a6608c2c2f076a27fe0ce62a70a4fe2f02b558abae6f4a4757fb34a593ccd04f2356c2c521758b0e59c017087121d63c1b002fc794953e690290489f8af87d17359ba0fc59b832f972d80293fe8d2aafcb4faca
接下来,我把关注点放到了其“忘记密码”功能上,其大概流程如下:
1、访问target.com/signin页面,输入需要重置密码的邮箱号;
2、Web服务端会向邮箱发送一个6位数授权码;
3、访问target.com/forgotPasswd,输入需要重置密码的邮箱号、授权码和重置后的密码,提交即可完成密码重置操作。
现在,我以邮箱“attacker@email.com”向Web服务端发起密码重置请求,在收到授权码之后,访问target.com/forgotPasswd,重复上述密码重置操作,该过程用Burp抓包的数据如下:
从上图中可以看到,其中包含4个参数:Email, Username, Encrypted Password 和 Code,但是所有这些参数都是加密的。我尝试着把参数数值替换成明文数值,如用“attacker@email.com” 或“victim@email.com”替换掉其中的邮箱,但提交的请求却不成功。
接着,我用另外的浏览器访问target.com/forgotpasswd,以“victim@email.com”身份发起密码重置请求,抓包,复制其中的email 和 username加密数值,到之前的浏览器请求包中,提交,但请求还是无效。
因此,总结来看,忘记密码的请求格式如下:
email=encryptedattackeremail&userName=encryptedattackerusername&passwd=encryptedattackerpasswd&code=encryptedcode
我度过把其中的encryptedattackeremail替换为encryptedvictimemail,encryptedattackerusername替换为encryptedvictimusername,但都不可行。
我依然没有气馁。经过一番分析,根据加密长度,我发现其加密方式为RSA。同时,我对目标Web应用的源代码分析后发现,其中多个js脚本中包含了rsa方法名称,因此,我确信其为RSA加密无疑了。
后来我意识到Burp抓包时参数值已经被加密了,这是一种客户端加密,所以我尝试把浏览器中调用的js脚本执行关闭,看看加密功能是否还可行,但之后,密码重置请求就完全不起效。
我又考虑到,由于这是客户端加密,RSA函数肯定是在某个js脚本中被定义,且被浏览器调用的,于是我点击Chrome浏览器的Inspect Element按钮,来到了其Console一栏下,输入“rsa” ,让我吃惊的是其中匹配出了“rsaEncrypt”方法函数名。
经过测试发现,只要为该方法函数提供一个参数名,其就能生成相应的加密数值,因此,我以参数s定义了数值“victim@email.com”,即s=“victim@email.com“,执行rsaEncrypt,它即生成了如下相应的加密串:
需要注意的是,可能是其与会话参数相关,所以在端点/forgotpasswd上每次刷新页面,上述的加密串都会发生变化。
按照前述的密码重置操作,我以“attacker@email.com”身份发起密码重置请求,提交授权码和新密码,并进行Burp抓包,其相应界面如下:
在Burp的请求包中,除了 把其中的“username”替换成浏览器端rsaEncrypt方法生成的“rsaencryptedvictimemail”加密串之外,其它的都无需更改,也即:
email=encryptedattackeremail&username=rsaencryptedvictimemail&passwd=encryptedattackerpasswd&code=encryptedcode
请求提交后,奇迹发生了,对应的账号密码被成功更改,实现了账户劫持!【来源:FreeBuf】
六大终端安全管理工具,助力企业安全防护升级
你们是不是常常为企业的信息安全问题忧心忡忡呀?网络攻击、数据泄露、恶意软件入侵…… 这些光听听就让人脑袋大的问题,天天都在威胁着企业的正常运作。别发愁,今天给你们带来六大终端安全管理工具,它们简直就是企业安全的忠诚卫士,能让你们企业的安全防护能力瞬间提升好几个层级。一、病毒查杀神器:为企业阻挡恶意软件的侵袭病毒、木马、...
深入解析网络监控:你不知道的隐私风险与防护技巧
上网冲浪现在已经成了咱们日常生活里的家常便饭。但当您浏览网页、分享动态,甚至网购的时候,网络监控可能正偷偷盯着您呢,您的隐私信息没准儿就在不知不觉中泄露出去啦。别害怕,今儿个咱们就来唠唠网络监控的那些事儿,特别是那些您可能还不晓得的隐私风险,还有超级实用的防护妙招。一、网络监控:看不见的信息小偷网络监控,听起来是不是就...
从杂乱到整洁:2025年电脑桌面管理软件推荐
每次打开电脑,看到那乱得一塌糊涂的桌面,是不是头都大啦?文件、文件夹、快捷方式、图标啥的堆得到处都是,找个文件简直比大海捞针还难!别愁,今儿个我就来给大伙推荐几款 2025 年超牛的电脑桌面管理软件,让您的桌面从乱七八糟秒变整整齐齐!一、腾讯桌面整理工具它的一键整理功能简直强到爆!轻轻一点,那些乱糟糟的文件、文件夹就乖...
网络信息安全解决方案:守护您的数字资产
我们的日常生活与数字世界紧密联系,从日常购物到工作文件,从家庭照片到个人信息,一切都在网络中。但你有没有想过,这类珍贵的数字资产,其实每日都面临着无形威胁?病毒、黑客、网络诈骗……他们就像潜伏在黑暗中的“窃贼”。他们常常准备盗取你的信息,不要担心,今天我们将讨论如何给你的数字资产找到一个可靠的“保镖”。一、数字资产,你...
办公必备!五款超好用的电脑操作记录软件推荐
各位职场小伙伴们,是不是经常觉得一天下来忙忙碌碌,却想不起具体做了哪些工作?或者,有时候急需找到某个文件的修改记录,却只能无奈地从头翻到尾?别担心,今天就来给你揭秘五款超实用的电脑操作记录软件,它们简直是办公族的福音,让你的工作效率翻倍,还能轻松管理你的数字生活!一、记录小能手:Evernote这款软件就像是你的私人助...