CTHHub Web技能树-文件上传-无验证、前段验证

1、序言

中国蚁剑这个软件太搞了,弄了很久,有点打消我的积极性了,这几天没有认真学习了。从这会儿开始好好学习了,不能再这么废下去,冲!!!!
今天弄了下文件上传的前两虽然不多还是来总结一下叭。

2、解题

2.1、首先是无限制型的

(1)、需要的编写一句话脚本,后将其保存为PHP文件
CTHHub Web技能树-文件上传-无验证、前段验证<?php ?>保证代码能够正确的执行,@使文件报错但不提示
(2)、将文件直接上传后会返回对应的地址
CTHHub Web技能树-文件上传-无验证、前段验证(3)、使用蚁剑配置好对应的网站
URL为环境加上文件上传的相对路径
密码为$_post中的内容
CTHHub Web技能树-文件上传-无验证、前段验证
(4)、点击文件管理即可找到对应的flag
CTHHub Web技能树-文件上传-无验证、前段验证

2.2、然后是前段验证性的

(1)、首先来看看文件的过滤方法
CTHHub Web技能树-文件上传-无验证、前段验证总结一下即为只能上传后缀为.jpg/.gif/.png的文件,但是这个检验过程是在用户发送请求时发生的,所以我们想到用bp来抓包。
(2)、首先还是上传一句话木马,但是文件格式为要求中的一种
CTHHub Web技能树-文件上传-无验证、前段验证
(3)、上传后点击submit后用bp抓包,将文件修改为.php格式
CTHHub Web技能树-文件上传-无验证、前段验证
修改后返回即可看到上传成功,按照无限制的方法对应的操作再次查看,即可得到flag
CTHHub Web技能树-文件上传-无验证、前段验证

3、说说原理吧

为什么要通过bp抓包就可以了呢?
因为文件判定时要求只能用对应的文件格式,但是这个判定只是在交给服务器之前(我还没有认真学过js,目前的理解是这样的),所以我们可以用bp在判定后交给服务器之前将文件修改为PHP文件即可得到shell。