1. 程式人生 > 其它 >XXE漏洞介紹及利用

XXE漏洞介紹及利用

一、XML基礎知識

https://www.w3school.com.cn/xml/index.asp

只看裡面的XML基礎和DTD知識即可。

二、XXE漏洞簡單演示

1.建立一個簡單的XXE漏洞的網站頁面  vim xxe.php

 

 

 程式碼講解:

  至於file_get_contents()就不用多說了,關於 php://input 它是個可以訪問請求的原始資料的只讀流,結合 file_get_contents("php://input") 可以讀取 POST 提交的資料。存入$xml。php 中的 simplexml_load_string 函式將 xml 格式字串轉換為對應的 SimpleXMLElement Object。

注:黑客進行 XXE 注入的思路: (1、file_get_contents(“php://input”)可以讀取 POST 提交的資料 (2、那麼我們通過 POST 提交 XML 程式碼 (3、XML 程式碼中引用外部 DTD,讀取黑客想要的系統檔案 (4、通過 simplexml_load_string()函式顯示資料。   2.通過bp抓包然後編寫payload提交即可。

補充:提交資料的時候一定要空一行(第十三行)。

payload:  

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:////etc/passwd" >]>
<root>
<name>&xxe;</name>
</root>

三、XXE無回顯檔案讀取