MIME绕过
知识点
MIME((Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式每个MIME类型由两部分组成,前面是数据的大类别,例如声音 audio、图象 Image等,后面定义具体的种类,也就是我们抓包时常见的Content-Type
。
常见的MIME类型,例如:
- 超文本标记语言文本 .html,html text/htm
- 普通文本 .txt text/plain
- RTF文本. rtf application/rtf
- GIF图形 .gif image/gif
- JPEG图形 . jpg image/jpeg
方法
那绕过MIME我们就很容易能想到在上传时抓包修改Content-Type
- 写一个一句话木马,上传后抓包
- 修改Content-Type为image/png,forward后
- 利用蚁剑连接
找到flag
00截断
知识点
关于上传中的00截断分析
最主要的原因还是在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束
方法
- 上传一个
1.php.jpg
文件,抓包,在路径后添加1.php%00.jpg
后forward
2.利用蚁剑
找到flag
双写后缀
仍然是上传抓包
直接尝试双写php
尝试连接
找到flag
文件头检查
将一句话木马放到图片中,上传抓包
文件名修改为3.php(如果上传了php文件就修改Content-Type为image/png)
这里我看网上大多都可以连接上(我没连上),所以我只能这样搞,既然检查文件头,那将png图片的文件头加上不就好了吗?找一张png图片
复制放到php中
上传抓包,修改文件名为1.php
利用蚁剑连接
找到flag