昨天的文章因为看到留言说比赛还没有结束,所以就先删了。今天结束了再发。
今天在一个交流群的看到的CTF题目,不知道是什么比赛的,研究了一下,写一下解题思路。
返回包,cookie里面有明显异常,提示从lock中推导出key。
使用工具扫描网站,扫描出来一个index.bak
看到mt_rand函数,就知道考点是在爆破随机数种子这一块了
看返回包中的lock的值,每一次都是固定的,所以推测随机数种子也是固定的,后端代码如下
所以我们只要爆破出种子的值就可以,得到key的值了
使用爆破工具 php_mt_seed - PHP mt_rand() seed cracker
下载完了以后,cd,然后make,应该就可以了。但是mac上编译会报错错误,直接gcc编译就可以了
通过代码算出爆破的参数
大概五分钟左右就能得到第一个种子
通过代码验证一下,符合预期值
这里有一个点,要注意一下
通过响应头,我们可知php的版本为5.6所以我们也要使用这个版本的php,来运行代码,否则和我们的预期值会有偏差。
然后把我们算出来的key的值,放到cookie中发包
本以为可以一发入魂,但是想到,还是提示这个
在这个地方卡了好久,都以为是自己的思路错了,然后使用程序把全部的种子都跑出来了。除了这个种子以外,还有一个种子。但是试了还行不行。
最后加了一个XF头,搞定
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论