web - dctf - web300 - SSRF 和 XSS 的一個例子

binary 自動化分析先停了一個小段落,這陣子都在打 web,上禮拜打了一場 Defcamp CTF Quals,有一題 web300 似乎還蠻不錯的(比起其他題目很不穩又默默改題目來說,這題算出得不錯…)
所以來整理一下 writeup,主要思路是:SSRF 可以連到 admin.php 的頁面,然後看到 admin.php 有個檔案上傳的地方,因為 SSRF 只能用 GET 而無法用 POST,所以利用 XSS 讓管理者點我們做的惡意頁面來達到檔案上傳,最後上傳 webshell。

以下分成三步驟:

AEGG - Automatic Exploit GG

AEG(Automatic Exploit Generation)是 CMU 2011 年發表的一篇 paper,然後我還參考了 angr 的一個範例 insomnihack_aeg,這個範例他寫了簡單的自動產生 shellcode 的腳本,不過沒有像 AEG 那篇論文寫的有完整架構。然後在 UCSB 最近也有了一篇講了很多 angr 架構的 paper,裡面也有提到 AEG,所以參考這幾篇之後打算也來自己寫了一個,叫做 AEGG