常见的中间件漏洞
(一) IIS
1、PUT漏洞
成因:IIS Server在Web服务扩展中开启了WebDAV,配置了可以写入权限,照成任意文件上传
2、短文件名猜解
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
3、远程代码执行
在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。
4、解析漏洞
IIS 6.0 在处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。这一漏洞有两种完全不同的利用方式
IIS7.5 文件解析漏洞
(二) Apache
1、解析漏洞
用户配置问题。
2、目录遍历
由于配置错误导致的目录遍历
(三) Nginx
1、文件解析
对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加test.jpg/x.php进行解析攻击。
2、目录遍历
Nginx的目录遍历与Apache一样,属于配置方面的问题,错误的配置可到导致目录遍历与源码泄露‘
3、CRLF注入
HTTP Header与HTTP Body时用两个CRLF分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来。
通过控制HTTP消息头中的字符,注入一些恶意的换行,就能注入一些会话cookie或者html代码,由于Nginx配置不正确,导致注入的代码会被执行。
4、目录穿越
Nginx反向代理,静态文件存储在/home/下,而访问时需要在url中输入files,配置文件中/files没有用/闭合,导致可以穿越至上层目录。
(四)Tomcat
1、远程代码执行
Tomcat 运行在Windows 主机上,且启用了 HTTP PUT 请求方法,可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行。影响版本: Apache Tomcat 7.0.0 – 7.0.81
2、war后门文件部署
Tomcat 支持在后台部署war文件,可以直接将webshell部署到web目录下。若后台管理页面存在弱口令,则可以通过爆破获取密码。
(五)jBoss
1、反序列化漏洞
Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
2、war后门文件部署
jBoss后台管理页面存在弱口令,通过爆破获得账号密码。登陆后台上传包含后门的war包。
(六)WebLogic
1、反序列化漏洞
Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
3、任意文件上传
通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用"添加Keystore设置"的功能,可上传恶意的JSP脚本文件。
4、war后门文件部署 由于WebLogic后台存在弱口令,可直接登陆后台上传包含后门的war包。