web渗透之全网最通俗易懂的上传漏洞利用技巧整理

admin 2022年10月30日20:00:48评论39 views字数 2023阅读6分44秒阅读模式

零基础黑客教程,黑客圈新闻,安全面试经验

尽在 # 暗网黑客教程 #


前言目录


一,利用文件解析漏洞

二,上传本地验证绕过

三,上传服务器端验证绕过


文件解析漏洞


解析漏洞主要说的是一些特殊文件被“IIS,Apache,Nginx”在某种情况下解释成脚本文件格式的漏洞。


像IIS,Apache,Nginx这些容器在特定版本下是存在解析漏洞的。像IIS5.X/6.0这些老版本都存在解析漏洞。


IIS6.0解析利用方法有两种


1,目录解析

/xx.asp/xx.jpg

在网站下建立文件夹的名字为.asp,.asa的文件夹,任何扩展名的文件都被IIS当做asp文件夹解析并执行


例如:创建目录111.asp,那么 /111.asp/1.jpg 将被当成asp文件来执行,假如黑客可以控制上传功能,那么上传后的图片改不改名都能拿到shell


2,畸形文件名解析


在IIS6.0下,分号后面的不被解析,也就是说你上传x.asp把名称改成x.asp;.jpg 方便上传,如果上传后你的图片名字没有改的话,服务器在读到分号后就不往下读了,就会以脚本的格式来运行。


Apache解析漏洞


Apache 是从右到左开始判断解析,如果为不可识别解析,就继续向左解析,

比如 haue.php.owf.rar “owf” ‘rar’ 这两种后缀是Apache不可识别解析,Apache会把haue.php.owf.rar 解析成php。


如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个haue.php.jpg.png…去测试是否是合法后缀。


任意不识别的后缀,将会逐级向上识别.(对付黑名单效果好)

IIS7.0/IIS7.5/Nginx<8.03 畸形解析漏洞

IIS7.0/7.5就是我们的08服务器了,如果08服务器的php存在这种解析漏洞的话,我们上传个图片如111.jpg加个斜杠111.jpg/x.php(这个x没有限制)服务器就会当成php脚本类型来运行。


上传本地验证绕过


常见的上传检测方式

(1) 客户端 JavaScript 检测(通常为检测文件扩展名)

(2) 服务器 MIME 类型检测 (检测 content-Type 内容)

(3) 服务器端目录路径检测(检测跟path 参数相关的内容)

(4) 服务器文件扩展名检测(检测跟文件 extension 相关的内容)

(5) 服务端文件内容检测 (检测内容是否合法或者含有恶意代码)


1,客户端检测绕过

首先判断js本地验证

通常可以根据它的验证警告弹框的速度可以判断,如果你运行比较快,那么我们可以用burpsuit抓包,再点击提交的时候burp没有抓到包,就已经弹窗,说明这个就是js本地验证。


绕过方法:

1),使用burp抓包改名

2),使用firebug直接删除掉本地的js验证

3),添加js验证的白名单如将php的格式添加进去。


2,服务器 MIME 类型检测绕过


绕过方法:

直接用burpsuite抓包,得到post上传数据后,将content-Type:text/plain改成content-Type:image/gif

就可以绕过


3,服务器端目录路径检测


修改文件上传路径方法:用burp抓包,在upload/后面加上比如a.asp相应响应包的路径会发生变化。


服务端测绕过


(文件扩展名检测)

a,黑名单检测

b,白名单检测

c,文件头检测


绕过黑名单


1,文件名大小写绕过

像Asp, pHp之类的文件名绕过黑名单检测


2,名单列表绕过

用黑名单里没有的名单进行攻击,比如黑名单里没有asa或cer之类


3,特殊文件名绕过

比如发送的http包里打文件名改成test…asp.或test.asp_(下划线为空格).这种命名方式在Windows系统里是不被允许的,所以需要在burpsuite之类里进行修改,然后绕过验证后,会被Windows系统自动去掉后面的点和空格,注意Linux系统没这个特性,


4, 0x00截断绕过


什么是00截断呢?


方法:通过打开burp的数据包找到上传到图片如filename=2.jpg 把它的文件名改成2.php%00.jpg 鼠标选中“%00”按住Ctrl+shift+u 即可将后面的截断 上传到服务器就是php文件了,利用00截断可以绕过一些白名单黑名单


5,调用解析漏洞


白名单绕过


1,0x00截断绕过


文件头检测绕过


当我们把脚本文件改为图片文件上传时遇到文件头检测时,是不允许上传的,因为一个图片的文件头跟一个脚本的文件头是不一样的,jpg的文件头对应16进制会显示JFIF

gif会显示GIF89a。


绕过方法,在文件头写下gif89a 意思是告诉检测系统我是个gif格式的图片

文件加载检测


这个就是最变态的检测了,它会对文件进行二次渲染。相对来说是比较安全的

其他绕过方法(双文件上传绕过)




黑客教程~ 课件 靶场 ~ 限!时!免费!送!

长按识别二维码,即可限时免费报名课程。


web渗透之全网最通俗易懂的上传漏洞利用技巧整理




点击在看~好文大家给一起看!👇



原文始发于微信公众号(白帽子左一):web渗透之全网最通俗易懂的上传漏洞利用技巧整理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月30日20:00:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   web渗透之全网最通俗易懂的上传漏洞利用技巧整理https://cn-sec.com/archives/957430.html

发表评论

匿名网友 填写信息