2016-11-30 172 views
1

我試圖保護一個.NET web服務對XXE漏洞利用。 對於基礎SOAP消息是XML,它可能存在風險。如何保護.NET Web服務免受XXE漏洞攻擊?

可以找到一種禁止XML文檔的DTD處理的方法herehere。 但是,SOAP消息的XML解析由框架完成。

如何修改XML閱讀器的設置以關閉DTD處理?

我還尋找一個掛鉤來直接訪問XML內容,但在WebService的文檔中找不到任何適合的內容。

回答

1

我做了一些測試,表明ASP.NET web服務受保護免受XXE攻擊。 框架似乎默認關閉DTD處理。

我用Soap UI進行測試。 只要添加一個DOCTYPE定義,就像

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE root[ 
<!ENTITY laugh "hahahahaha"> 
]> 

導致錯誤的請求錯誤(HTTP狀態400)。

爲了確保我不只搞亂SOAP消息,我還單獨驗證了 XML內容。