忘记密码了--实验吧
Posted sanstyle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了忘记密码了--实验吧相关的知识,希望对你有一定的参考价值。
题目地址
http://www.shiyanbar.com/ctf/1808
思路
按照解web题的思路
1,看按流程走一遍,在提交邮箱后,会弹出一个提示,然后点击确定,会离开闪现一个界面,又跳到另一个界面,
2,这里就可以使用burpsuite进行抓包,这期间也同时把第一个页面的数据包也抓到了。
3,于是开始看这2个的页面的html源码,第一次看的时候觉得第一个页面很简单,也没有注意什么就直接看第二个页面了,第二个页面我看到的信息是,使用的submit.php对提交的数据进行处理的,于是就把submit.php放到url中试验下,http://ctf5.shiyanbar.com/10/upload/submit.php
出现提示:you are not an admin,也不知道有什么用
思路也就到了这里。。。。。。
baidu后
知识点:使用vim写的代码会产生一个.swp 的文件(这个以前也知道,但完全没想到还可以在这种地方使用!!!)
而在第一个页面的html源码中就有说明使用的是 vim
<meta name="editor" content="Vim" />
于是就把.step1.php.swp,.stp2.php.swp,.submit.php.swp都放到url中去尝试,前两个会提示找不到页面,最后一个会把代码打印出来
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 "澶辫触浜嗗憖";
}
}
token 必须要等于10个字符和全部为0
if(strlen($token)!=10) die(‘fail‘);
还得需要emailAddress
emailAddress在第一个网页源码中有个管理员的,可以试试
最终构造的url为:
http://ctf5.shiyanbar.com/10/upload/[email protected]&token=0000000000
其实我也不知道是用submit.php还是.submit.php.swp,2个都试了下,最后使用submit.php才获得最后的flag
以上是关于忘记密码了--实验吧的主要内容,如果未能解决你的问题,请参考以下文章