中间件渗透

Apache任意文件执行和文件解析漏洞:

Tomcat远程代码执行:CVE-2017-12615

将 readonly参数设置为false时,即可通过PUT方式创建一个JSP文件,并可以执行任意代码。

文件名相关限制(如Windows中文件名不能以空格结尾)来绕过限制返回201说明文件已经上传成功。(直接请求会被拦截)

IIS文件解析漏洞:

漏洞利用:

文件解析漏洞一般用于各种上传漏洞中,在文件上传的地方一般会限制用户可以上传文件的后缀名,比如php的网站如果可以上传php文件,那么就可以上传一个php木马,然后控制该服务器了,也就是我们所说的get shell了。

那么实际的漏洞环境中IIS一般是和asp搭配的,上传的地方如果限制了.asp的后缀名,那么首先想到的应该是使用其它IIS支持的文件后缀。其实IIs解析asp脚本除了.asp后缀还有.cer和.asa。

IIS6.0

IIS6.0命令执行漏洞:CVE-2017-7269,在开启WebDav服务的情况下存在可远程执行漏洞。

漏洞原理:

在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,该漏洞可以导致远程代码执行。

攻击方法:

GitHub上的一个开源exp:https://github.com/edwardz246003/IIS_ exploit

将exp中的IP地址改为目标IP地址。

攻击结果:

这个exp的结果是弹出计算机,验证漏洞可以执行代码可以在目标机中的进程中看到calc.exe。

---------------------------------------------------------

在处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。这一漏洞有两种完全不同的利用方式:

  • /test.asp/test.jpg
  • test.asp;.jpg

第一种方式:

是新建一个名为“test.asp”的目录,该目录中的任何文件都被IIS当做asp程序执行(特殊符号是“/”)

第二种方式:

是上传名为“test.asp;.jpg”的文件,虽然该文件真正的后缀名是“.jpg",但由于含有特殊符号“”,仍会被llS当做asp程序执行。

IIS7.5

test.jpg/.php一看到URL中文件后缀是.php,便无论该文件是否存在,都直接交给php处理,而php又默认开启“cgi.fix_pathinfo”,会对文件路径进行“修理”,何谓“修理”?举个例子,当php遇到文件路径“/aaa.xxx/bbb.yyy”时,若
/aaa.xxx/bbb.yyy”不存在,则会去掉最后的“bbb.yyy”,然后判断“/aaa.xxx”是否存在,若存在,则把“/aaa.xxx”当做文件。
若有文件test.jpg,访问时在其后加/.php,便可以让IIS把“test.jpg/.php”交给php,php“修理”文件路径“test.jpg/.php”得到“test.jpg”,该文件存在,便把该文件作为php程序执行了。

 

 

IIS短文件名:

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹生成了对应的windows8.3短文件名。
在Windows下查看对应的短文件名,可以使用命令dir/x。

在D盘下创建一个名为aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.html的文件,观察可得到如下规律:

  • 1、文件名字符长度超过9位则显示短文件名
  • 2、只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)
  • 3、后缀名最长只有3位,多余的被截断

II短文件名漏洞利用

存在暴利列举短文件名的可能:

  • 1.访问构造的某个存在的短文件名,会返回404
  • 2.访问构造的某个不存在的短文件名,会返回400

payload:

http://x.x.x.x/*~1*/a.aspx(返回404说明有短文件名,后面四个通配符*是为了便于理解)

http://x.x.x.x/360*~1*/a.aspx(返回400说明没有以360开头的短文件名)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值