Bootstrap

Web中间件常见漏洞

一、IIS中间组件

1、PUT漏洞

原理:IIS开启了WebDAV,配置了可以写入的权限,造成了任意文件上传漏洞。

防御:关闭webDAV;关闭写入权限

2、短文件名猜解

原理:

        IIS的短文件名机制,可以暴力破解文件名。访问构造某个存在的短文件,会返回404,访问构造某个不存在的短文件,会返回400。使用payload验证目标是否存在短文件漏洞,显示404时,说明存在短文件。

防御方法:1、升级.net framework

                   2、修改注册表键值

修改注册表键值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。

命令行关闭 fsutil behavior set disable8dot3

3、解析漏洞

原理:

        6.0版本默认将*.asp;.jpg此类格式的文件名,当成asp解析,服务器默认;后面的内容不解析,相当于截断,例如上传asp木马,就可以用xx.asp;.jpg来绕过;iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp

防御方法:

         1.禁止上传和创建此类畸形文件

         2.图片存放目录设置为禁止脚本执行

二、Apache中间组件

1、解析漏洞

原理:

        apache默认一个文件可以有多个以点切割的后缀,当最右的后缀无法识别时,就继续向左识别,直到识别到合法后缀才开始解析,如xxx.php.qqq,qqq无法识别,就继续解析,到php时能够识别,就解析为php文件。

2、目录遍历

原理:

        程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等。

目录遍历的标志:Index of /

防御措施:修改httpd.conf文件中的参数

三、Nginx中间组件

1、文件解析

原理:

        用户配置不当造成的解析漏洞。由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析。

例如:在1.jpg中写入一句话木马,上传1.jpg/xxx.PHP

防御手段:1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0

                  2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php 

2、目录遍历

原理:

        Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。(程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可以是../的ASCII编码或者是unicode编码等。)

修复:将nginx.conf中的autoindex  on 中的“on”改为“off”

3、CRLF注入漏洞

原理:

        CRLF(carriage return/line feed)是”回车+换行”(rn)的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码。CRLF漏洞常出现在Location与Set-cookie消息头中。

 修复:修改一些配置文件

四、WebLogic中间组件

1、反序列化漏洞

原理:

        Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。

2、SSRF

原理:Oracle WebLogic Web Server既可以被外部主机访问,同时也允许访问内部主机。

3、war后门文件部署

原理:过弱口令(weblogic/Oracle@123)登录管理台后,点击部署,安装,上传war包

 五、Tomcat中间组件

1、war后门文件部署

原理:

        tomcat如因配置不当导致未授权直接登录后台,或者由于弱口令的存在登录后台,可以在后台上传war包,我们可以将jsp代码植入到war包里面,然后访问该war包即可执行jsp代码。

2、put任意文件上传

原理:

        tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合windows的解析漏洞,适用诸如 1.jsp%20 、1.jsp::$DATA 则可以成功绕过检测上传成功。

六、jBoss中间组件

1、反序列化漏洞

 原理:

        存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了攻击者可以在服务器上执行任意代码。

漏洞验证:

        访问/invoker/readonly,返回500,说明此页面存在反序列化漏洞

2、war后门文件部署

原理:admin/admin弱口令登录后台,点击add a new resource上传war包,连马即可

防御:改强密码;删除admin-console页面

;