logo头像
Snippet 博客主题

中间件漏洞

什么是中间件

1
2
3
4
5
中间件:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)

我们经常管web中间件叫做web服务器或者web容器

正常情况下一次web的访问顺序是:web浏览器---服务器(硬件)---web容器---web应用服务器---数据库服务器。

常用的中间件:
ISS、Apache、Nginx、Tomcat、shiro、WebLogic、Jboss、WebSphere等

各中间件漏洞总结:

ISS:

解析漏洞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ISS 6.x版本

基于文件名

该版本会默认把.asp;.jpg文件当成.asp文件来执行,原理是服务器默认不解析分号;后面的内容,相当于截断。

基于文件夹名

该版本.asp可以作为文件夹名且会默认将.asp/目录下的所有文件当成Asp文件解析。

该版本配置默认将.asa,.cdx,.cer解析为asp

ISS7.x版本

在fast-cgi运行模式下,在任意文件例如1.jpg后面加上/.php都会将该文件解析为php文件

PUT任意文件写入

1
在web服务扩展中开启WebDAV后,支持多种请求,配合写入权限可造成任意文件写入。

Apache

未知扩展名解析漏洞

1
2
3
4
      Apache对后缀名的解析是从右往左进行的,当遇到未知的后缀名时,会从右往左继续寻找,直到找到合法后缀名从解析,如a.php.xxx会以php文件进行执行。

AddHandler application/x-httpd-php .php
这种情况下,只要文件名中包含.php的后缀,文件就会以php文件解析,.php可以不用是最后一个后缀,可利用这种特性构造文件名绕过上传白名单。

Httpd换行解析漏洞

1
2
3
影响版本:2.4.0-2.4.29

由于正则表达式不单匹配字符串的结尾位置,也可以匹配\n,\r,因此在解析php时,如1.php\x0A会被按php后缀解析,导致绕过一些服务器的安全策略。

Nginx
任意解析漏洞:

1
2
    小皮面板(8.1.0.48.1.0.7)默认配置下存在任意文件解析漏洞:上传图片马,在图片马地址后面加/.php即可执行图片马。
此漏洞为Nginx配置所导致,与Nginx版本无关。

空字节任意代码执行漏洞:

1
2
 影响版本:0.5.*,0.6.*,0.7<=0.7.65,0.8<=0.8.37
若目录下存在一个实际为php文件的a.jpg文件,可通过访问该文件,抓包,修改为a.jpg...php,在hex选项卡中将jpg后的.修改为00即可让文件依旧以php解析。该漏洞不受cgi.fix_pathinfo影响,当其为0时依旧解析。

文件名逻辑漏洞

1
2
影响版本:0.8.41-1.4.3/1.5.0-1.5.7
实现方法与上一个相类似,访问a.jpg,抓包修改为a.jpg...php,在hex选项卡中修改jpg后的两个点2e为20,00,即可以php文件解析,该漏洞不受cgi.fix_pathinfo影响,当其为0时依旧解析。

CRLF注入

1
2
3
4
5
6
7
这是一项由于配置不当所导致的漏洞。

Nginx文档有3个表示uri的变量:1.uri 2.document_uri 3.$request_uri

1,2表示解码以后的请求路径,不带参数,3表示的是完整的URI(没有编码)

Nginx会将12进行解码,导致传入%0a%0b即可引入换行符,导致CRLF注入漏洞

目录穿越

1
在配置Nginx别名时忘记加/,导致访问..可穿越至上级目录。

目录遍历

1
2
当配置文件中,autoindex值设置为on时,将产生目录遍历漏洞。

Tomcat

1
2
3
Tomcat任意文件写入(CVE-2017-12615
环境:Tomcat/8.0.30
当配置文件/conf/web.xml配置了可写(readonly=false),即可往服务器写文件
1
2
3
4
5
6
7
8
9
10
11
Apache Tomcat远程代码执行(CVE-2019-0232
影响范围:9.0.0.M1-9.0.178.5.0-8.5.39,7.0.0-7.0.93

影响系统:windows

启用了CGI Servlet(默认为关闭),enableCmdLineArguments(Tomcat 9.0.*及官方未来发布版本默认为关闭)

由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击。

Tomcat+弱口令&&后台getshell漏洞
影响范围:Apache Tomcat 8

评论系统未开启,无法评论!