百度杯 九月場 再見CMS writeup

2021-08-18 06:12:06 字數 2406 閱讀 6333

1. 第一步,肯定是要判斷出cms型別

2. 第二步,查詢該cms曾經出現的漏洞

3. 第三步,然後利用這些漏洞拿到flag.

關於查漏洞這件事,可以利用烏雲映象等安全**。

乙個可以利用的漏洞是

根據漏洞構造這樣乙個注入語句,判斷能否注入:

post資料:

truename=***x%0000&limitword[000][email protected]&provinceid=,address=(select version()) where uid=3 %23

簡單的說一下這個注入,url是乙個修改個人資訊的鏈結,post裡面是我們要修改的內容,變數裡面的%00經過轉義會變成\0,那麼$truename=***x%0000就會變成 $truename = ***x\000 ,而關聯陣列變數$limitword則會對$truename這些變數進行字串替換,把符合key值的字元替換為value。我們提交的post裡面$limitword則有 000=>」,這樣一對kay-value值,所以$truename則會被替換為 $truename = ***x\,且字串裡面的\是沒有經過轉義的。我們測試以下注入能否進行。

看紅色下劃線部分,`truename`=』***x\』,`provinceid`=』 『,`cityid`=」 where username=』abc』 ,在***x前面有乙個單引號,但是***x後面的那個單引號被加了\,表示轉義,所以***x後面的單引號便不再具有閉合單引號的功能。所以`truename`=』***x\』,`provinceid`=』 成為了乙個完整單引號閉合的變數。那麼,我們就可以在post裡的provinceid欄位裡寫入注入語句。

構造乙個新的注入語句:

post資料:

truename=***x%0000&limitword[000][email protected]&provinceid= , address=(select version()) where uid = 3 %23

uid處填寫自己的uid,(uid在個人資訊頁面的url裡面)。 %23是#的url編碼,目地是把後面的語句注釋掉。

然後訪問自己的個人資訊頁面:

會看到,在聯絡位址那一欄裡顯示出了我們注入得到的結果。

那麼接下來我可能就會區資料庫裡看一下有沒有flag:

先看一下有哪些庫:

看一下blog庫里有什麼表:

看一下有哪些字段,主要問題是如何繞過單引號的轉義,我是通過這樣的方式進行繞過的:

post資料:

好像沒有有關falg的資訊,我們試一下/var/www/html/flag.php。那麼在已知sql注入的情況下,如何讀取乙個檔案的內容呢?

load_file函式裡面那一串十六進製制數字代表/var/www/html/flag.php

flag需要檢視個人資訊頁面的原始碼才能看見。

「百度杯」CTF比賽 九月場 Test

個人收穫 1.連線shell 失敗的時候可以試試多個版本的菜刀,可能是菜刀的問題 2.學會了菜刀資料庫管理的配置 題目介面 有現成的poc search.php?searchtype 5 tid area eval post 1 菜刀鏈結,密碼為1我們用菜刀進行訪問 之前我用另乙個菜刀無法連線,開始...

「百度杯」CTF比賽 九月場 YeserCMS

開啟題目 進入後是乙個cms,但肯定的是這個cms不叫yesercms 於是我們開始隨便翻翻,尋找資訊,後台我也看了除了乙個登陸介面,就沒有其他的提示資訊。上網去查cmseasy的漏洞 然後大致查了下應該是sql注入漏洞 於是構造報錯注入測試一下 回顯內容,還告訴了我們這個sql語句的完整內容,總共...

九月份百度聯盟廣告優化的收穫

話說作為乙個草根部落格站長,哪個都希望自己的 投放的聯盟廣告收入越來越高,我一直也是這樣的期望,部落格剛開始時就開始投放聯盟廣告了,當時主要以谷歌adsense為主,因為那是谷歌的單價是最高,並且結算還是dollar呢 感覺逼格很高的樣子 雖然剛開始收入很一般,但經過日積月累後,部落格的www.cp...