本次搭建upload-labs靶机进行File Upload测试
测试项目:Pass02[MIME check]
测试介绍:此靶机主要练习 文件上传技能与代码审计技能
![](https://img.haomeiwen.com/i16757774/a8d0f6f01b0045b8.png)
![](https://img.haomeiwen.com/i16757774/a2f2ee29e41735a5.png)
方法1:BurpSuite抓包修改
首先上传将后缀名改为.jpg 上传默认MIME变为 image/jpeg
![](https://img.haomeiwen.com/i16757774/5abca77612593a51.png)
![](https://img.haomeiwen.com/i16757774/ad1fd4132a6c4db3.png)
方法2:利用图片马来进行结合文件包含等方法来进行实现绕过(纯思路,未实现)
- 利用cmd终端copy大法制作图片马
- 利用Winhex等二进制工具制作图片马
- 利用图片属性特点制作图片马
方法3:利用上传配置文件来利用文件解析方法来进行绕过(纯思路,未实现)
- 上传关键性配置文件.htaccess文件来对jpg文件解析方法设置成php文件。
方法4:利用修改幻数方法进行实现(纯思路,未实现)
- 添加关键幻数头与后缀名来实现
我个人理解 MIME的类型,就是从上传的后缀名判断出来的,比个例子,如果我创建了1.txt的话改成1.jpg是不是在上传时就识别出来时image/jpeg;相当于MIME和后缀名判断本质其实都是看后缀名。至于正确与否需要进行深入了解MIME底层生成机制
附录1 :
幻数头对应映射表(CTF杂项隐写术部分也常用)
File | Type | Hex-header |
---|---|---|
JPEG | .jpg/.jpeg | FFD8FF |
PNG | .png | 89504E47 |
GIF | .gif | 47494638 |
TIFF | .tif | 49492A00 |
XML | .xml | 3C3F786D6C |
HTML | .htm/.html | 68746D6C3E |
ZIP Archive | .zip | 504B0304 |
RAR Archive | .rar | 52617221 |
附录2 :
此表摘取主要引自:https://blog.csdn.net/menghuannvxia/article/details/78912636
Type | MIME(Content-Type) |
---|---|
.doc | application/msword |
application/pdf | |
.cer | application/pkix-cert |
.xls | application/vnd.ms-excel |
.xlsx | application/vnd.ms-excel.12 |
.gz | application/x-gzip |
.zip | application/x-zip-compressed |
.xml | application/xml |
.zip | application/zip |
.mp3 | audio/mpeg |
.wav | audio/x-wav |
.bmp | image/bmp |
.gif | image/gif |
.jpg | image/jpeg |
.jpg | image/pjpeg |
.png | image/png |
.svg | image/svg+xml |
.html | text/html |
.json | application/json |
.apk | application/vnd.android.package-archive |
网友评论