0x01
随便输入一个邮箱名称,知道存在step2.php。
查看源码,可以看到如下代码。说明网页是用vim写的。
<meta name="admin" content="[email protected]" />
<meta name="editor" content="Vim" />
0x02
尝试进入step2.php,发现会跳回step1.php。使用firefox修改请求头,得到step2.php的响应:
邮箱地址都是交到这个submit.php页面判断,用vim编辑器编辑的网页如果没删掉备份文件是很危险的(ctf出现vim就一般是有漏洞啦)。
这里我们输入ctf5.shiyanbar.com/10/ upload/.submit.php.swp
查看备份文件,果然看到了源码~
if(!empty($token)&&!empty($emailAddress)){
if(strlen($token)!=10) die('fail');
if($token!='0') die('fail');
$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 "澶辫触浜嗗憖";
}
}
构造payload: ./[email protected]&token=0e11111111得到flag。