中间件漏洞

这里写目录标题

  • 1. 中间件解析漏洞
    • IIS5.x/6.0解析漏洞
    • Nginx < 8.03的畸形解析漏洞
    • Apache 解析漏洞
  • 2. 中间件其他漏洞
    • 2.1 Apache
    • 2.2 Tomcat
    • 2.3 Nginx
    • 2.4 IIS
    • 2.5 Weblogic
    • 2.6 Jboss

1. 中间件解析漏洞

服务器应用程序在解析某些后缀文件时,会将其解析成网页脚本

从而导致网站的沦陷。大部分解析漏洞的产生都是由应用程序本身的漏洞导致的。

IIS5.x/6.0解析漏洞

​ 1. 文件解析

网页木马文件的名字改成 “test.asp;1.jpg”,分号后面的不被解析,也就是说图片文件会被当做asp文件执行。

同时还包括以下三种:

  1. test.asa;1.jpg
  2. test.cer;1.jpg
  3. test.cdx;1.jpg

​ 2. 目录解析

在网站中建立名字为 test.asp、test.asa 的文件夹,其目录内的任何扩展名文件都会被IIS当做ASP文件来解析并执行。

Nginx < 8.03的畸形解析漏洞

在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件

在某些使用有漏洞的网站中,访问http://127.0.0.1/1.jpg/1.php,此时的1.jpg会被当作PHP脚本来解析,此时1.php是不存在的。

例如:"http://127.0.0.1/1.jpg%00.php"会把1.jpg文件(木马文件)当做PHP文件来执行。

空字节代码执行漏洞:

http://127.0.0.1/1.jpg%00.php 会把1.jpg文件(木马文件)当做PHP文件来执行。

xxx.jpg%00.php

Apache 解析漏洞

Apache在解析文件时有一个原则:按照识别“.”后的扩展名来解析,当碰到不认识的扩展名时,将会从后面向前解析,直到碰到认识的扩展名为止。

例如:test.php.aaa.bbb

apache从后往前识别后缀名,由于识别不出.bbb和.aaa,能识别.php,因此当做php文件执行

2. 中间件其他漏洞

​ web服务器是web应用的载体,web服务器安全,考虑的是应用部署时的运行环境安全,这个环境包括web server,脚本语言解释器,中间件等

  1. 防护时应该做到权限最小化,启动web服务器的用户不应该是管理员用户
  2. 启动web服务器时,应该以单独的用户身份运行,通常单独为web服务器建立一个User/group
  3. 保护好web服务器的日志文件,实时同步到远程日志服务器上

2.1 Apache

​ 漏洞出现的地方一般都是在第三方的Module上

安全加固

  1. 检查Apache的Module安装情况,根据最小权限原则,应尽可能减少不必要的Module。对应要使用的Module,应该检查对应版本是否有已知漏洞
  2. 查看Apache Web Server本身是否安全,比如是否存在安全漏洞
  3. 查看Apache Web Server是否提供了可使用的安全功能,这部分主要检查Apache的配置是否得当,在安全性,可用性,稳定性之间取得平衡

Apache出现过的漏洞

  • CVE-2017-15715 文件解析漏洞
  • CVE-2011-3192 畸形Range选项处理远程拒绝服务漏洞

解析漏洞,目录遍历

2.2 Tomcat

Tomcat 漏洞预防

  1. 删除webapps目录中的docs,examples,host-manager,manager等正式环境用不着的目录,这一步可以解决大部分的漏洞。

    有的网站没有删除manager页面,并且管理员弱口令,导致直接Getshell

  2. 解决“slow http denial of service attack”漏洞,缓慢的拒绝服务攻击漏洞。slow http denial of service attack漏洞是利用http post的时候,指定一个非常大的content-length,然后以很低的速度发包,比如10-100s发一个字节,让这种连接诶不断开,这样当客户端连接多了后,占用了webserver的所有可用连接,从而导致DOS,属于一种拒绝服务攻击。

    解决方法:

    打开server.xml找到

    <Connector port="8080" protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443" />
    

    将connectionTimeout="20000"改为1000,单位是ms

Tomcat出现过的漏洞

  • Tomcat后台弱口令
  • Tomcat样例目录session操控漏洞
  • CNNVD-201604-159 远程代码执行漏洞
  • CVE-2016-1240 本地提权漏洞
  • CVE-2016-8735 Tomcat反序列化漏洞
  • CVE-2017-12615 Tomcat的PUT的上传漏洞
  • CVE-2017-12616 信息泄露漏洞
  • CVE-2018-1305 安全绕过漏洞
  • CVE-2019-0232 Tomcat全版本命令执行漏洞
  • CVE-2020-9484 反序列化漏洞

2.3 Nginx

Nginx是一个高性能的HTTP和反向代理服务器。默认监听端口:TCP的80端口

Nginx出现过的漏洞

  • Nginx畸形解析漏洞
  • Nginx%00空字节代码解析漏洞
  • CVE-2013-4547(%20%00)

文件解析,目录遍历,CRLF注入,目录穿越

2.4 IIS

iis是windows server中自带的一个web server

iis出现过的漏洞

  • IIS目录解析漏洞(/test.asp/1.jpg)
  • IIS文件名解析漏洞(test.asp; .jpg)
  • IIS畸形解析漏洞

PUT漏洞,短文件名猜解,远程代码执行,解析漏洞

2.5 Weblogic

weblogic 出现过的漏洞

控制台路径泄露:Weakpassword

SSRF:CVE-2014-4210

JAVA反序列化:

  • CVE-2015-4852、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2018-2893、CVE-2019-2725、CVE-2019-2729、CVE-2018-2826 Weblogic WLS Core Components 反序列化命令执行漏洞

任意文件上传:CVE-2018-2894

XML Decoder反序列化::CVE-2017-10271、CVE-2017-3506

Weblogic常识:http为7001,https为7002

默认用户名密码:用户名密码均为 weblogic (或system,或portaladmin,或guest)

2.6 Jboss

是一个基于J2EE的开放源代码的应用服务器。

  • CVE-2017-12149 反序列化漏洞

你可能感兴趣的:(web漏洞,中间件,解析漏洞,tomcat,apache,weblogic)