假設一個傳到後端資料庫的語句的參數是沒有過濾的,可以透過burpsuite 修改http請求封包,透過單引號閉合,或是註解,或是條件語句來測試注入類型。
通常比較簡單,搭配 union 的注入方式,或是報錯注入,判斷語句欄位數量,在慢慢注入出所有資料。
雖說可以手動注入,但很花費時間,通常會交給自動化工具 sqlmap ,通常我會使用 -r 參數, 先用 burpsuite 抓包存成txt 檔,最後交給sqlmap。
這種比較麻煩,可以透過延時注入,來判斷網頁加載時間,通常也是靠sqlmap 來完成,但延時耗費了更多時間。
利用 UNC路徑的特性,OOB帶外注入,可以減少注入時間,但需要自己架一個dnslog 或使用第三方線上工具 ceye.io,也可以使用 burpsuite pro 版的一個類似dnslog 功能。 如果在私有網路,可以使用 php 自帶log php -S 0.0.0.0:80
後端php解析XML,XXE 通常會使用DTD的方式來完成。XXE最簡單的應用就是請求某個文件
可以搭配一些PHP 偽協議轉base64,因為通常很多文件中都有特殊符號,所以最好先轉碼,才不會引起其他錯誤
目的很簡單,也是請求到黑客的dnslog,但會帶上目標文件的base64。
例如:
log 也抓到後,可以decode base64。
若是請求server 上的.php檔,可能會造成源碼洩漏,另外 .confg 之類的很容易獲取sql 密碼,或是其他敏感資訊,如果對方是使用CMS的話,那基本上就很好定位敏感檔案路徑。