今天被子摔坏了,而且感冒了,有点头疼,想转运。。。
前几天就看到这个题了,今天把他做掉吧。
1、打开界面,有按钮可以看源码,能看就直接看呐

2、看到rand大概明白这些数字肯定每次都会不一样,刷新了一次,果然不一样。
3、解释一下这行代码吧:
mt_srand((microtime() ^ rand(1, 10000)) % rand(1, 10000) + rand(1, 10000));
函数:
mt_srand() :播种 Mersenne Twister 随机数生成器。参数为种子
提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数。
microtime() :返回当前 Unix 时间戳的微秒数。
4、但是这个和解题好像没什么关系,解题的要求是获取到的password要与"$_SESSION"的password相同,那么"$_SESSION"是什么呢?
(1)session_start()为向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID,使用 PHP $_SESSION 变量存储和取回 session
(2)因此Session是用Session ID来确定当前对话所对应的服务器Session变量,sessionID可在cookie中找到
5、于是BurpSuite抓包

6、只要把Cookie中的东西删掉了,那么就获取不到服务器Session的password了,就为空,password也为空,删掉后forward即可。

小结:学到了"$_SESSION"的获取服务器上的数据,可以构造空数据相同。
网友评论