Shiyanbar WEB题目WriteUp
- 天网管理系统
我们打开题目,发现了一个的登录界面,既然告诉我们账号密码,那我们就尝试登陆一下
果不其然,没什么用,查看下源代码
发现注释部分藏着信息
t e s t = test= test=_GET[‘username’]; t e s t = m d 5 ( test=md5( test=md5(test); if($test==‘0’)
就是把username进行md5变换后与0进行比较,而经过查阅我们可以发现PHP在处理哈希字符时,利用==或!=进行比较时,会把以0E开头的哈希值都解释为0,然后我们运用一个常用的Payload:QNKCDZO
得到地址
进入后查看源码发现是一个简单的反序列化然后进行简单的判断
然后我们输入数组并且保证其判断可以绕过,传入一个数组,含有两个变量,一个变量为user,为bool类型且值为true,另一个变量为pass,同样是bool类型的true,然后在password上输入即可获得flag啦~
PS:自己开始的时候一直以为会有__wakeup()防绕过所以找了半天 - 忘记密码了
(我前脚写完这个题目,刚要写WP,后脚实验吧服务器就挂了???)
首先我们打开题目二话不说直接先随便输入个邮箱进去发现弹出来提示我们去看step2.php,而step2.php我们打开后发现直接跳转到step1.php,拿bp抓一下,看一下step2.php的源码,会发现其实step2.php是把信息传入到submit.php
然后我们去访问下submit.php,本以为过了,发现还是不行,我们回来再把step1.php抓一下,对比看一下step1.php和step2.php,发现编辑器是Vim,经过面向百度做题,我们知道了Vim中如果文件非正常退出会产生一个临时文件,临时文件名字为.文件名.swp,因此我们去访问.submit.php.swp,看到页面的源码,发现一堆乱码,在乱码中找到我们所需要的代码
其中我们需要两个参数,一个是emailAddress这个我们可以从step2中看到admin@simplexue.com,而token需要我们自己构造,token长度为10且值为0,最简单就是0000000000,即可以完成判断,将这两个参数传入即可获得flag
(如果无法确定自己传入的token是否满足要求,可以自己写几行代码去测试下~)