XXE后記(3)--拋磚引玉

XXE最后的尾巴

知道了XXE的漏洞原理,以及簡單的利用方法,漏洞危害后;就應該通過案例來感受XXE造成的危害,引起我們的反思,該如何進行防御,安全的開發(fā),以及知識點的擴充。


XXE漏洞利用的一些小細節(jié)的擴充

在上篇中,進行漏洞任意文件讀取危害說明時的關鍵代碼<!ENTITY content SYSTEM "./1.txt">,其中./1.txt才是來控制文件讀取的指定作用,其中默認使用了file協(xié)議。對于不同的程序支持的協(xié)議不一樣。

引自騰訊安全應急響應中心

對于不懂的協(xié)議,自己也去搜索了一番,發(fā)現(xiàn)了例如PHP file://等封裝協(xié)議


XXE實際漏洞利用案例

2018年文章 微信支付XXE漏洞:XXE in WeChat Pay Sdk (WeChat leave a backdoor on merchant websites)
TSRC: Web程序調(diào)用該office軟件來獲取office文檔內(nèi)容后提供在線預覽功能觸發(fā)XXE任意文件讀取


XXE exp公布情況

exploit-db XXE漏洞公布情況

XXE漏洞公布情況

CVE-2019-17554:Apache Olingo XXE漏洞
CNVD-2019-30895 :UsualToolCMS前臺存在XXE注入漏洞
CNVD-2018-12508:第三方支付平臺JAVA SDK存在XXE漏洞
等等.....


XXE漏洞防御

思路:XXE的觸發(fā)本質(zhì)就是外部實體的使用,關鍵點也就是外部DTD實體,所以主要有兩個思路

  1. 禁止外部實體使用(開發(fā)角度),同時也是代碼審計的關鍵點;

PHP應當設置

libxml_disable_entity_loader(true);

JAVA應當設置

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);

Python應當設置

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

ASP.NET應當設置(.NET 4.5.2版本之前)

xmlDoc.XmlResolver = null;

2.DTD實體部分聲明進行過濾處理(關鍵字過濾)
對實體聲明中必不可少的SYSTEM,PUBLIC,&,<!ENTITY,<!DOCTYPE等過濾處理


XXE漏洞練習平臺推薦

XXE-lab: XXE漏洞實驗室
pikachu: pikachu漏洞練習平臺
XXE - PHP Audit Basic: PHP環(huán)境下XXE漏洞練習平臺

最后強烈推薦:建議先學習Docker搭建靶場,可以嘗試對上面平臺使用Docker搭建實現(xiàn)

目前提供 Docker搭建Pikachu靶場教程


XXE檢測工具介紹

XXEinjector:一款功能強大的自動化XXE注入工具。
RequestBin:RequestBin檢測工具
HookBin:HookBin檢測工具
也可以使用其他web漏洞掃描器


XML的其他漏洞

1) XEE:XML Entity Expansion,主要試圖通過消耗目標程序的服務器環(huán)境來進行DOS攻擊;
2) XSLT:可擴展樣式表轉(zhuǎn)換漏洞,XSLT是XML的推薦樣式表語言;
3) XPath注入漏洞,XPath用于瀏覽XML文檔中的元素和屬性,XSLT使用XPath來查找XML文檔中的信息。


主要參考文獻:

  1. VSR2014年度報告 : XMLDTDEntityAttacks.pdf
  2. OWASP報告 XML External Entity Attacks (XXE).ppt

其他推薦:

CCF推薦國際學術期刊


第一篇:XML簡介(1)--頭部聲明
第二篇:XML編寫(2)--語法要求
第三篇:XML規(guī)范(3)--DTD限制
第四篇:XML引用(4)--DTD應用
第五篇:XXE基礎(1)--實體類別
第六篇:XXE利用(2)--漏洞實現(xiàn)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1簡述 XXE(XML External Entity)是指xml外部實體攻擊漏洞。XML外部實體攻擊是針對解析X...
    這是什么娃哈哈閱讀 6,467評論 0 0
  • 當心里裝著心事的時候,做什么事都是魂不守舍的。 朋友最近一直牽掛著她的爸爸,爸爸病重,很想回去看看爸爸,可是兒子馬...
    孤獨的小豬89583閱讀 146評論 2 0
  • 文/上官夢凝 還記得分開時笑著告訴你, 我想寫下我們之間的故事, 還記得最怕自己突然...
    天亮時心晴閱讀 233評論 0 1
  • 今天已經(jīng)是1月8號了。我還沒有新年目標。所以今天就來立個新目標。 1,找工作。賺錢還債,做個自由的人 2,學習,看...
    活著才是根閱讀 143評論 1 2

友情鏈接更多精彩內(nèi)容