文件上传漏洞利用-后端白名单绕过
【摘要】 文件上传漏洞利用-后端白名单绕过
文件上传漏洞利用-后端白名单绕过
后端白名单绕过
MIME绕过
原理:服务端MIME类型检测通过检查http包的Content-Type的值来判断上传文件是否合法。
web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类。
利用过程:
第一步:上传写入语句的执行类型文件,即.php文件
第二步:用burpsuite等代理工具进行抓包,修改Content-Type字段的值为image/jpeg
第三步:放包
第四步:获取webshell权限,即浏览器打开上传的图片马地址
第五步:用蚁剑等工具进行连接操作等
常见的MIME类型(/后面为对应的MIME值)
超文本标记语言文本 .html,.html text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
%00截断
原理:
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束
利用过程:
./?filename=test.txt 此时输出的是test.txt
./?filename=test./?filename=test.php%00.txt 此时输出的是test.php
0x00截断
原理:
0x开头表示16进制,0在十六进制中是00, 0x00就是%00解码成的16进制,%00被服务器解码为0x00发挥了截断作用
环境:
php版本小于5.3.4
magic_quotes_gpc需要为OFF状态
利用过程:
第一步:准备一个写入执行语句的php文件,在PHP后缀后加上空格(占位作用,空格的16进制为0x20)和任意其他字符(便于标识)
第二步:用burpsuite等工具设置代理
第三步:上传文件
第四步:抓包并打开hex表,将空格对应的16进制(0x20,会显示出20)将20改为00实现截断
第五步:放包
修改完空格hex值后,空格被□取代,就是0x00(不可见字符),系统读到0x00时就认为已经结束了
0x0a截断
原理:
查看ASCII表,可以发现0x0a是换行即\n,当读取到\n时会进行换行,后面的将不会读取
利用过程:
和0x00类似
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)