第五周

首先看这道题目,名字叫忘记密码了,打开链接后发现是要输入一个邮箱,我随机输入一个邮箱,然后得到如下


然后我我们访问这个step2.php地址,发现他会马上跳转到step1.php,那这里面的关键信息肯定再这个step2.php中

通过Burp抓包http://ctf5.shiyanbar.com/10/upload/./step2.php,再repeater里面go,发现返回的会被跳转的页面信息,如下



分析上面的代码可知,这个页面会有两个输入框,输入的email和token会以GET方式提交到submit.php文件中去

于是,我们就直接访问这个submit.php文件–http://ctf5.shiyanbar.com/10/upload/submit.php ,但是显示 you are not an admin。看了别人的wp说这个文件可能会判断你传入的email和token是否是某个值,可能是下面这种的代码模式


于是,觉得应该要传入某个值,此时想到初始step1页面,header标签里的

会不会是这个(感觉怪怪的全都要留个心眼),于是就把这个email传过去,输入 

http://ctf5.shiyanbar.com/10/upload/[email protected]&token=

因为要传入两个值,而另一个token的值目前还没有头绪,就传个空值进去

这时候,没有出现 you are not an admin ,说明我们的猜测还是对的,但是token的值我们还不知道,也许知道了token的值再传到submit.php里面,结果就出来了。但是要知道token该怎么输入,需要符合怎样的格式,肯定要知道submit.php这个文件是怎么处理的,该怎么办呢。看了一个博主的WP,他用的是VIM这个编辑器,下面是简单介绍


怀疑是Vim的源码泄露,如下

注意到这一句


审计上面的代码,可知:要求输入的token必须==”0”,且长度要为10,这就用到了php中==的模糊判断后门了,他不会管你的类型是不是匹配,只要换算成数字相等就是true,于是输入

http://ctf5.shiyanbar.com/10/upload/[email protected]&token=0e12345678

flag就出现了


总结:这道题主要涉及到几个知识点:1.vim写文件造成swp源码泄露;2.简单审计;3.查看html源码隐藏信息。web方面我还是在入门阶段,很多东西和工具我都不太懂怎么使用,现在只会用burpsuite进行抓包,对源码的解析还有待提升,还有想题目中用到的Vim,我也不太懂具体的原理,总的来说我觉得web方面方法有很多,还需要更多的学习。

你可能感兴趣的:(第五周)