Guess Next Session
写个算法没准就算出来了,23333
hint:你确定你有认真看判断条件?
查看源码
<?php
session_start();
if (isset ($_GET['password'])) {
if ($_GET['password'] == $_SESSION['password'])
die ('Flag: '.$flag);
else
print '<p>Wrong guess.</p>';
}
mt_srand((microtime() ^ rand(1, 10000)) % rand(1, 10000) + rand(1, 10000));
?>
通过代码了解只要 满足这个条件$_GET['password'] == $_SESSION['password']
传入的password要等于session中的password,即可拿到flag。
在PHP配置中的默认情况下,Session是用Session ID来确定当前对话所对应的服务器Session,sessionID可在cookie中找到,当我们删除cookie中的sessionID后,$_SESSION[‘password’]就会返回空,我们同样传入空的password就能绕过了。
我们抓个包看看
发现cookie中有一个PHPSESSIONID,我们把PHPSESSIONID删除后,$_SESSION[‘password’]就会返回空,同时传入password为空就能时判断条件成立拿到flag。