文件上传"绕过"的进阶之路

文件上传之客服端检测绕过

也是常说的本地绕过,使用抓包工具。
修改上传文件信息,绕过本地限制

测试服务

![9~419QJ_116ZDEH@XS1]S}V.png](http://upload-images.jianshu.io/upload_images/2495234-d03dba514d935f4a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

需要获得这样的信息,才算成功的上传

![Y3`0_BPH_V($JDH9(]WLYHN.png](http://upload-images.jianshu.io/upload_images/2495234-b17105f936d67f3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.既然这样我们先以up.php文件上传看出现什么结果

![2Y@5IM]5VMQG6_PC@O3}0Y2.png](http://upload-images.jianshu.io/upload_images/2495234-2ae87f2b813debba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

会出现文件格式提醒。但是我们的目的是要上传成功以php为后缀的文件
2.现在先修改文件后缀,修改成jpg格式的,并且使用抓包工具burpsuit

文件上传
$TOQO0CLPJU887%8BVT5L1O.png

然后forword


文件上传
FUSKUV44D2C$0_V@ACVC{JP.png

3.试着使用服务端检测绕过(MIME类型检测)


文件上传
G%R2`M~F49MCL93%X{DU3)D.png

![P}UMR_({]U%8O%{1A]5QMF5.png](http://upload-images.jianshu.io/upload_images/2495234-55b0b09416288339.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

结果依旧不行。那就继续尝试!!!!
4.使用截断绕过通过

使用burp修改

![}OW{U2VG~GY342PHG33Q])K.png](http://upload-images.jianshu.io/upload_images/2495234-f8dafde9673352c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![]FUIRKHEW2JC9_(S7GU0G]D.png](http://upload-images.jianshu.io/upload_images/2495234-7bf2f7a907af8cf0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

可是结果依旧不行!!!!

这个时候我们应该思考,这个上传操作可能在那个位置对上传文件进行限制

可能上传文件的时候对文件名进行了过滤
那对文件路径呢???

再次抓包

![ZKST$DXJW][email protected]](http://upload-images.jianshu.io/upload_images/2495234-65e9491314cd60da.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

/uploads/up.php.jpg
可以在这个位置进行截断

继续测试


文件上传
`98G%`9W73R7HOP~DUYWY_0.png

结果获得梦寐以求的flag

![Y3`0_BPH_V($JDH9(]WLYHN.png](http://upload-images.jianshu.io/upload_images/2495234-b17105f936d67f3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

总结对这次测试,虽说很简单,作者还是花费了很长的时间。
对于http结构问题,以及绕过机制有些生疏。还需勤加练习。
思路很重要。在失败之后最重要的是分析,为什么出现错误。
可能一步步的测试就离成功更近。共勉。

你可能感兴趣的:(文件上传"绕过"的进阶之路)