起因
在i春秋社区论坛看到一篇帖子:【逻辑漏洞】挑战你的思维方式 ,作者@sqler分享了他解决问题的思路,很清晰明了,值得点赞~
本次想分享一个更快捷的思路以供参考。
开始
目标站点:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/index.php
突破点就在于忘记密码的逻辑处理了
抓包来分析admin与其他任意用户名(building)的区别
核心就在于构造sukey的值
对再次发包所得sukey=31c04d0f6c95e8f53442e1e674c98b74进行MD5解密,发现是本地时间戳
而返回包中的服务器时间是使用GMT,及与本地北京时间相隔8小时
如此就简单了,设置username=admin,取得返回包中的服务器时间+8小时,转换为unix时间戳,在进行MD5加密即可算出重置密码的核心参数sukey
只需要仔细的判断加以合理的分析,这道CTF题就做出来了。
此类型的逻辑漏洞在实际测试环境中也会出现,需要细细体会。
有人质疑这题做的有什么用?这里给出了合理的答案奇虎360任意用户密码修改漏洞
懂的人自然懂
本文介绍了一种解决CTF题目中逻辑漏洞的方法,通过分析忘记密码功能的处理流程,利用MD5解密和时间戳转换技巧,快速计算出重置密码所需的核心参数sukey。

1662

被折叠的 条评论
为什么被折叠?



