1. 进入环境,查看内容
我们先注册一个玩玩,然后登录如图:
一个个点一遍,发现manage有问题,如图:
明白了,暗示我们需要拿到admin权限,然后再搞事情
2. 开始分析
- 如何拿到admin?在用户页面发现有个change pwd,如图:
- 我们抓包试试,看看内容,发现并没有提供有效的修改user信息,如图:
- 也就是默认这个页面锁定了登录用户,不允许修改user的用户名,于是继续尝试
- 我们发现主页还有个Findpwd
- 填写完响应的信息后,如图:
点击reset抓包,看看内容:
好家伙,发现了username和newpwd的数据参数,因此我们尝试修改username=admin
、newpwd=123456
,如图:
- 尝试admin登录
登录成功后,点击manage,如图: - 好家伙,搁着俄罗斯套娃呢!显示ip不允许,那我们模拟一下本地ip去访问,修改包中的数据:
X-Forwarded-For: 127.0.0.1
,如图: - 接着收到response,结果如图:
- 上传文件或者其他操作
此处卡壳!参考大神的wp:
猜想这应该是一些隐藏的操作,我们构造paylaod为:
index.php?module=filemanage&do=download,或者upload/read/write,,最后发现do=upload能够执行成功,出现一个文件上传的页面。
效果如图:
- 搞个一句话木马进行文件上传
如图: - 点击upload,有弹窗,如图:
- 不是一个图片?那我们修改包中的ContentType,进行尝试。
Content-Type: image/jpeg
,提示如图: - 又提示php文件,被过滤了。那就尝试修改尾缀php1,2,3,4,该修改完提示如图:
猜测传的内容被过滤了,没有思路了,参考参考wp!发现问题出在<?php ?>
,于是换成js的写法,如图:
alert又变化了。。。参考wp,踏马的还要修改php文件名?参考wp,看了网上一些常见可用作php解析的后缀 php3,php5,php7,pht,phtml,最终修改为test.php3或test.php5,如图:
最终拿到flag:cyberpeace{74484c23e0763d8b4f1d1e2c09f9458e}
3. 总结
- 考察burpsuite抓包
- 利用漏洞提取admin权限
- 考察ContenType含义
- 对X-Forwarded-For的应用
- 传文件do=操作的使用
一环套一环,好复杂。。。如有问题,欢迎交流!