上次好像记得讲过了框架漏洞,(weblogic不是)那么,今天我们就来讲一些中间件的漏洞
1.Apache解析漏洞
众所服务器托管周知,Apache是一个非常出名的中间件,本来呢,他是不存在漏洞的,但是如果用户进行了错误的配置的话,就会导致漏洞的产生
1.Handler错误配置
Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别(不在mime.types内),则继续向左识别!! —这是apache的解析规则
本来呢,apache服务器是不会解析php文件的,但是如果一些运维人员想要让他解析的话,那么就会加上这么一句话
AddType application/xhttpdphp .php
它的作用也是为了让
apache
把
php
文件交给
php_module
解析
,
但是注意到它与SetHandler:
它的
后缀不是用正则去匹配的
。所以,
在文件名的任何位置匹配到php后缀,它都会php_module解析。
- 有人设置了AddType application/xhttpdphp .php这个handler(没有正则匹配只能是php php3 php5这样的结尾)
- 有了上述的错误配置之后,结合上apache的从右往左解析的特点(找不到就继续找),导致到了 .php.eweqdd 这样的文件结尾能被解析成php文件
2.CVE-2017-15715
Apache HTTPD
是一款
HTTP
服务器,它可以通过
mod_php
来运行
PHP
网页。其
2.4.0~2.4.29
版本中存在一个解析 漏洞,在解析PHP
时,
1.phpx0a
将被按照
PHP
后缀进行解析,导致绕过一些服务器的安全策略。
漏洞的原理,就在这里
$
符号
:
匹配输入字符串的结尾位置。如果设置了
RegExp
对象的
Multiline
属性,则
$
也匹配
‘n’
或
‘r’
。
很明显,这个是用来判断上传的类型的,问题就在于它的 $name是用的POST来接受的!!
当我们传入的文件后缀为 .phpn的时候,POST并不会去掉我们的n,并且传入之后,我们的文件格式 .phpn还会被匹配成.php
所以这个能利用起来还是很苛刻的!!!
还是来捋一下思路
- 首先,网站的regexp设置了multiline的属性,而且在http.conf里面用 $来匹配php结尾
- 然后,就是获取文件的格式不能直接 $_FILES[‘FILE’][‘name’]来接受我们的文件格式,必须要有一个单独的格式去接受我们的文件格式
- 最后就是要去包里面将文件的后缀名字加上一个 %0a
注意哦,我们这里的蚁剑连接,也是要接的%0a
2.Nginx解析漏洞
PHP
配置文件中有一个参数是
cgi.fix_pathinfo
,如果参数
cgi.fix_pathinfo=1
,则产生该漏洞
如何我的www目录下有一个shell.jpg文件,并且里面写的是一句话的木马,当我访问这样的一个url的时候,就会产生漏洞
http://127.0.0.1/shell.jpg/i_want_to_be_a_blue_team_member.php
哈哈哈,后面那些是我自己的创造,但是不重要,在开启了cgi.fix_pathinfo这个函数的时候,解析就变成了以下的规则!!!!
先去找一下********.php(就是我最后的那个php文件),肯定是找不到的,然后以PHP的规则向前面解析!!!当碰到shell.jpg的时候,就会把他当成php来解析!!!
所以漏洞就是这样子产生的
所以总结:
- 只要开启了cgi.fix_pathinfo为1,那么这个漏洞将会存在!!!!
3.IIS解析漏洞
1.IIS7.X解析漏洞
这个漏洞和上面的Nginx的解析漏洞有点像!!! 也是需要对应的cgi.;x_pathinfo=1
有了上面的前提之后,在某文件路径后添加/.php
会将该文件解析成php
文件
2.IIS6.0解析漏洞
前提也比较简单
ii6.0的服务器开启Active Server Pages服务拓展!!
那么我们这样的格式,就会直接忽略 ; 后面的内容,直接解析 ; 前面的内容!!
所以我们的poc就是
/shell.asp;.jpg
4.Tomcat
汤姆猫的漏洞可不少
1.弱口令
tomcat
存在管理后台进行应用部署管理,且管理后台使用
HTTP
基础认证进行登录。若用户口令为弱口令,攻击者 容易进行暴力破解登录后台并进行应用管理。Tomcat
支持在后台部署
war
文件,可以直接将
webshell
部署到
web 目录下。
docker exec -it "container_id" /bin/bash
然后去对应位置查看是否存在弱口令
cd /usr/local/tomcat/conf
cat tomcat-users.xml
然后就能看见配置
md,冰蝎连不上了,反而蚁剑连上了
那么换冰蝎的马试试??
我真无语了。。。。。 自己的马自己都连不上
2.CVE-2017-12615
在Tomcat配置文件设置了PUT上传方法
,在
web.xml
文件,可以发现,默认
readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控受到影响的版本:ApacheTomcat 7.0.0 – 7.0.79 (windows环境) (Linux的话不是,反正遇到tomcat就去试试!!!)
PUT /1.jsp/ HTTP/1.1
Host: yourip:8080
Accept: */*
AcceptLanguage: en
UserAgent: Mozilla/5.0 (compatible MSIE 9.0 Windows NT 6.1 Win64 x64 Trident/5.0)
Connection: close
ContentType: application/xwwwformurlencoded
ContentLength: 5
这里直接写你的webshell code
ls -a //看看有没有隐藏的 .docker.env这种特征性文件
cat /proc/1/groups //看看有没有docker的字样
但是,最后的这一个命令就露馅了,一个Linux机器(非docker环境)怎么可能连ifconfig都没有
5.Weblogic
weblogic的话,我之前讲过它的泄露密码
对于它出现过的SSRF漏洞,请看我的下一篇Blog 关于SSRF的
对于反序列化,其实挺多的,但是原理复杂,我就不细讲了,这种用工具扫就是
直接用工具扫就好了
以上,就是比较出名的中间件漏洞啦
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net