忘记密码了--实验吧

题目地址

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

猜你喜欢

转载自www.cnblogs.com/sanstyle/p/9167493.html