石家庄做网站排名公司/可口可乐软文范例
9.忘记密码了
知识点
vim写文件造成swp源码泄露
简单审计
查看html源码隐藏信息
(首先首页让你输入注册邮箱找回密码,尝试admin,有弹窗显示消息:
复制提示信息至地址栏:
发现可以看到step2的内容然后瞬间变成step1内容,打开burpsuite准备逐步查看,获取step2页面内容:
查看step2的内容:
代码中被选中的这一行很有意思,告诉了你编辑器是vim,思考下vim的特性,自动备份:
一、vim备份文件
默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;
eg:index.php普遍意义上的首页,输入域名不一定会显示。 它的备份文件则为index.php~
二、vim临时文件
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件
.submit.swp。如果文件正常退出,则此文件自动删除。
尝试可发现.submit.php.swp存在,即打开http://ctf5.shiyanbar.com/10/upload/.submit.php.swp可得代码:
整理了下可得:
<?php
.........这一行是省略的代码........
/* 如果登录邮箱地址不是管理员则 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) #长度为10 die('fail'); if($token!='0') #值为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 ,于是继续尝试:
尝试admin继续失败,回看所有步骤代码,在step2的的头发现
<meta name="admin" content="admin@simplexue.com" />
于是尝试:
fhag is SimCTF{huachuan_TdsWX}