天天看點

攻防世界 fakebook 解題思路開始總結

開始

攻防世界 fakebook 解題思路開始總結

進入題目有兩個按鈕,一個是登陸,一個是加入,那麼我們先點加入建立一個賬号。

攻防世界 fakebook 解題思路開始總結

建立賬号後發現這個admin可以點選,那我們點選試一試。

攻防世界 fakebook 解題思路開始總結

發現這裡傳了一個參數,那我們試一試有沒有注入點。輸入單引号發現報錯。

攻防世界 fakebook 解題思路開始總結

用order by 語句測試字段4不報錯,5報錯,證明這裡有5個字段。

攻防世界 fakebook 解題思路開始總結

接下來我們用union select 聯合查詢檢視回顯

攻防世界 fakebook 解題思路開始總結

發現被攔截了,看看可不可以繞過。我們用内聯注釋繞過。

攻防世界 fakebook 解題思路開始總結

發現在2的位置有回顯,是以可以在這裡注入,不過我在注冊的頁面抓了下包,發現在join頁面這裡存在post注入,且可以直接用sqlmap跑,可以上sqlmap那當然不手工(露出猥瑣的笑容)。

攻防世界 fakebook 解題思路開始總結

跑了下庫,在用--current-db參數跑了下目前在什麼庫下面。

攻防世界 fakebook 解題思路開始總結

跑出在fakebook庫下面

攻防世界 fakebook 解題思路開始總結

接下來就是跑fakebook的表字段等,這裡就不寫了,這題有點麻煩,寫的也是有點煩躁,最主要疫情在家人也有點煩躁。

攻防世界 fakebook 解題思路開始總結

這裡是爆出的字段,先看看data字段裡面的内容。

攻防世界 fakebook 解題思路開始總結
攻防世界 fakebook 解題思路開始總結

大家應該看懂了吧,沒看懂的話看這裡

攻防世界 fakebook 解題思路開始總結

反序列化,現在大概方向知道了,通過這裡的反序列化,我們可以傳入序列化參數,讓反序列化進行解析。那我們先構造一個payload看看可不可以解析。

http://220.249.52.133:53109/view.php?no=-1%20union%20%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:4:%227995%22;s:3:%22age%22;i:11;s:4:%22blog%22;s:10:%22www.xj.com%22;}%27

攻防世界 fakebook 解題思路開始總結
攻防世界 fakebook 解題思路開始總結

發現可以正常解析,現在我們就要想辦法讀取flag了。這裡運用到了CSRF

當然說到CSRF收集到的一些資訊,一般我做CTF的題目都會有一些套路步驟,上來就是把這個網站用bp的spider爬行一下

攻防世界 fakebook 解題思路開始總結

就爬了個這個當然是沒什麼用,爬不到那就上禦劍掃下背景,背景沒掃到但是掃到了一個robots.txt檔案,各位師傅肯定都知道這個檔案是幹嘛的,我通路了下。

攻防世界 fakebook 解題思路開始總結

發現不然爬的有個user.php的備份檔案。我們在通路一下。

是一個可以下載下傳的檔案

攻防世界 fakebook 解題思路開始總結

打開看看

攻防世界 fakebook 解題思路開始總結

一段代碼,簡單審計一下,發現這裡以get的方式傳入url,但是下方沒有對get過來的url做任何過濾和白名單,或黑名單的保護措施,是以這裡的get存在CSRF。

攻防世界 fakebook 解題思路開始總結

最後的地方比對一個正則,滿足的才會被get傳入

攻防世界 fakebook 解題思路開始總結

不懂正則的可以參考https://www.cnblogs.com/zery/p/3438845.html

現在就可以嘗試讀取我們的flag了,當然有了CSRF我們還需要知道我們讀取flag的路徑,路徑在哪裡了,看這裡。

攻防世界 fakebook 解題思路開始總結

有了路徑就是構造payload,當然payload我也是構造了好久,這裡需要一個file僞協定進行讀取。

http://220.249.52.133:53109/view.php?no=-1%20union%20%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:1:%221%22;s:3:%22age%22;i:1;s:4:%22blog%22;s:29:%22file:///var/www/html/flag.php%22;}%27

攻防世界 fakebook 解題思路開始總結
攻防世界 fakebook 解題思路開始總結

發現解析成功,沒有報錯,但是還是沒有flag,錯肯定是沒有錯了,成功解析了,檢視了下源代碼。

發現一個iframe标簽

攻防世界 fakebook 解題思路開始總結

通路裡面的位址

攻防世界 fakebook 解題思路開始總結

又是一片空白,在繼續檢視源代碼。

攻防世界 fakebook 解題思路開始總結

總算是找到了flag!

總結

題目的單個知識點都不難,但是結合到一起就有點繁瑣,而且裡面的一些小坑有點搞心态,不過總體來說這題出的還是比較好的,每個地方都有邏輯可循!