IIS解析漏洞
IIS6.0在解析文件时存在以下两个解析漏洞
- 当解析asa,asp格式的文件夹时,其目录下的任意文件都会被IIS当做asp文件解析。
- 当文件为*.asp;1.jpg时,IIS6.0同样会以ASP脚本来执行。
WebDav漏洞
WebDav是一种基于HTTP1.1协议的通信协议,它扩展了HTTP协议,在GET,POST,HEAD等几个HTTP标准方法以外添加了一些新的方法(PUT,Copy,Delete),使得HTTP变得更强大。
测试步骤:
- 通过OPTIONS探测服务器所支持的HTTP方法。
OPTIONS / HTTP/1.1
Host: 目标ip
- 通过PUT方法向服务器上传脚本文件
PUT /a.txt HTTP/1.1
Host: 目标ip
Content-Length:30
(一句话木马)
- 通过Move或Copy方法改名
COPY /a.txt HTTP/1.1
Host: 目标ip
Destination: 目标ip/cmd.asp
通过这三个步骤就可以获取一个WebShell
Apache解析漏洞
在Apache1.x和Apache2.x存在解析漏洞。
Apache在解析文件时有一个原则:碰到不认识的扩展名,将会从后往前解析,直到配到认识的扩展名为止,如果都不认识则会暴露源码。
PHP CGI解析漏洞
PHP CGI漏洞常常被认为是Nginx解析漏洞。
漏洞示例:
www.baidu.com/1.jpg/1.php。
则1.jpg会·当成php执行。1.php是不存在的1.jpg是存在的。
绕过上传漏洞
中国菜刀
中国菜刀这款软件是用来管理网站的工具,小巧灵活。它仅仅需要一段简短的代码就可以方便的管理网站。
该软件提供的服务器端文件仅有一行代码。目前支持服务器端脚本包括:php,ASP,ASP.NET,JSP等并支持HTTPS安全连接的网站。
正因为代码简短精悍,所以被成为一句话木马。
将上面代码保存为shell.php上传到网站上,然后再用菜刀连接就可以管理网站。可以进行增删改查文件,数据库连接,执行自写脚本等选项。
图片一句话则是将一句话木马插入图片中,而且并不损坏图片文件,这可以躲过少许的防火墙。制作一句话木马方法很多。Edjpgcom就是一个制作软件。
客户端检测
- 使用fireBug
FireBug是一款开源的浏览器插件,FireBug可以从不同的角度剖析Web页面内部的细节。属于Web开发必备的武器。Fire可以删除触发检测的函数onsubmit。 - 中间人攻击
首先上传木马文件,然后用Burp拦截将.jpg改为.php就可以绕过。
这时候需要注意因为文件名的改变可能会改变数据包的长度。所以我们要将修改的长度算到Content-Length中。
服务器检测
- 白名单与黑名单验证
黑名单过滤方法:
- 攻击者可以找到开发者忘记的文件名后缀
- 大小写绕过
- 如果文件名以’.‘或者空格作为结尾,Windows会去除’.'和空格。asp.或者
asp
- 双写过滤
白名单过滤方法: - IIS6.0会将test.asp;1.jpg当做asp执行
- MIME验证
MIME类型用来设定某扩展名文件的打开方式,当具有该扩展名的文件被访问时,浏览器会自动使用指定的软件打开。如GIF图片MIME为image/gif,CSS文件MIME类型为text/css
攻击:
利用Burp拦截抓到的包将PHP文件的Content-Type:application/php改为image/jpeg。 - 目录验证
在文件上传时,程序通常允许用户将文件放到指定的目录中,然而有些人为了让代码更健壮,通常会做一个操作,如果目录存在就将文件写入。如果不存在则会建立文件目录,然后写入。
攻击:
因为<input type="hidden" name="Extension" value="up">
知识文件上传时默认的文件夹。这个参数可控。所以我们可以用FireBug将Value的值改为test.asp。并提交一句话木马。
如果是IIS6.0则会被解析。 - 阶段上传攻击
截断上传攻击在ASP程序中最常见,下面我们看一些代码:
<%
username = request("username")
Response.write username
%>
代码很简单,接受username的值并输出。
提交username=xxs%00admin
但是只输出xxs
这就是截断攻击的原型。
- 文本编辑器上传漏洞
以FCKeditor编辑器说明
-
敏感信息泄露
FCKeditor目录存在一些敏感文件,如果不删除,那么攻击者就很快找到一些敏感信息。1. 查看版本信息/FCKeditor/editor/dialog/fck_about.html 2. 默认上传页面 /FACeditor/editor/filemanager/browser/default/browser.html等 3.其他敏感文件
-
黑名单策略错误
-
任意文件上传漏洞