忘记密码了
输个123看看,结果返回如下,也不知道有什么用,确定以后又返回step1.php
老规矩,看一下源码,发现里面有这么一段
<meta name="renderer" content="webkit" />
<meta name="admin" content="[email protected]" />
<meta name="editor" content="Vim" />
发现是通过vim编写的,一般的vim编写可能会产生遗留问题,就是一个备份文件.swp,但是直接用似乎不行,然后我们通过抓刚刚那个重置链接的包
发送数据发现step2.php,也就是上面的回复包中要提交给另外一个submit.php文件。于是我们去访问一下这个页面,显示 you are not an admin
看来只有管理员才能访问刚刚那个页面,联想到刚开始我们已经有了管理员的邮箱,且该网页是用vim编辑的,我们可以查看一下备份文件submit.php.swp,但自己访问貌似不行。
试一试.submit.php.swp,果然发现了源代码。注意submit前面加点
if(!empty($token)&&!empty($emailAddress)){
if(strlen($token)!=10) die('fail'); *//token长度为10*
if($token!='0') die('fail'); *//token==0*
$sql = "SELECT count(*) as num from `user` where token='$token' AND email='$emailAddress'";
$r = mysql_query($sql) or die('db error'); //必须要是管理员邮箱
$r = mysql_fetch_assoc($r);
$r = $r['num'];
if($r>0){
echo $flag;
}else{
echo "澶辫触浜嗗憖";
}
}
管理员邮箱我们之前就已经拿到了[email protected]
token的要求为长度为10并且值为0,0e满足这个条件。
现在我们要构造token=0e11111111
然后直接传入参数即可拿到flag
http://ctf5.shiyanbar.com/10/upload/[email protected]&token=0e11111111