这里写目录标题
1. 中间件解析漏洞
服务器应用程序在解析某些后缀文件时,会将其解析成网页脚本
从而导致网站的沦陷。大部分解析漏洞的产生都是由应用程序本身的漏洞导致的。
IIS5.x/6.0解析漏洞
1. 文件解析
网页木马文件的名字改成 “test.asp;1.jpg”,分号后面的不被解析,也就是说图片文件会被当做asp文件执行。
同时还包括以下三种:
- test.asa;1.jpg
- test.cer;1.jpg
- 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,脚本语言解释器,中间件等
- 防护时应该做到权限最小化,启动web服务器的用户不应该是管理员用户
- 启动web服务器时,应该以单独的用户身份运行,通常单独为web服务器建立一个User/group
- 保护好web服务器的日志文件,实时同步到远程日志服务器上
2.1 Apache
漏洞出现的地方一般都是在第三方的Module上
安全加固
- 检查Apache的Module安装情况,根据最小权限原则,应尽可能减少不必要的Module。对应要使用的Module,应该检查对应版本是否有已知漏洞
- 查看Apache Web Server本身是否安全,比如是否存在安全漏洞
- 查看Apache Web Server是否提供了可使用的安全功能,这部分主要检查Apache的配置是否得当,在安全性,可用性,稳定性之间取得平衡
Apache出现过的漏洞
- CVE-2017-15715 文件解析漏洞
- CVE-2011-3192 畸形Range选项处理远程拒绝服务漏洞
解析漏洞,目录遍历
2.2 Tomcat
Tomcat 漏洞预防
-
删除webapps目录中的docs,examples,host-manager,manager等正式环境用不着的目录,这一步可以解决大部分的漏洞。
有的网站没有删除manager页面,并且管理员弱口令,导致直接Getshell
-
解决“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 反序列化漏洞