忘记密码了 - bugku

http://ctf5.shiyanbar.com/10/upload/step1.php

查看源码以后发现有个管理员地址
<meta name="admin" content="admin@simplexue.com" />
邮箱填写该地址,弹出邮件发到管理员邮箱了,你看不到的

随便更换一个邮箱地址,弹出 ./step2.php?email=youmail@mail.com&check=???????
说明存在一个step2.php的文件

查看源码,发现提交的数据提交到了submit.php页面,说明存在一个submit.php页面。
<form action="submit.php" method="GET">
        <h1>找回密码step2</h1>
        email:<input name="emailAddress" type="text" <br />
<b>Notice</b>:  Use of undefined constant email - assumed 'email' in <b>C:\h43a1W3\phpstudy\WWW\10\upload\step2.php</b> on line <b>49</b><br />
value="test@test.com"  disable="true"/></br>
        token:<input name="token" type="text" /></br>
        <input type="submit" value="提交">
</form>

http://ctf5.shiyanbar.com/10/upload/submit.php访问该页面,返回you are not an admin。
因为这是表格提交,所以尝试加入emailAddress值和token值。
http://ctf5.shiyanbar.com/10/upload/submit.php?emailAddress=admin@simplexue.com&token=0,空网页
http://ctf5.shiyanbar.com/10/upload/submit.php?emailAddress=admin@simplexue.com&token=1,返回fail

这里的关键点是首页中的头部信息
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="renderer" content="webkit" />
    <meta name="admin" content="admin@simplexue.com" />
    <meta name="editor" content="Vim" />
<br />
编辑器editor是vim,当非正常关闭vim时候,会生成一个swp文件,即.submit.php.swp,通过访问确定是否存在这个文件。
http://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 "失败了呀";
    }
}
要求token值长度是10,email要存在数据库。已知管理员邮箱存在数据库,剩下的就是token值。
据说这里有关于php的弱等于,需要再了解下。

总结这个实验,一是编辑器保存了备份文件,二是弱等于
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值