南郵CTF攻城記(6)

2021-09-02 17:44:20 字數 1860 閱讀 6040

總結參考: q:

s:首先隨便輸入密碼,並正確輸入驗證碼,進行操作。

事實上,我對這個error不感冒,首先直接說賬號為ctfuser,就必定無法直接出結果。

位址列的「y3rmdxnlcg==」進行base64解密為「ctfuser」,則在傳值時將賬號經過base64加密後進行傳遞。

根據題目的提示,我們重置的目標是admin,日常使用burp,看看有何目標:

可以看到「ctfuser」的base64編碼結果出現了兩個地方,但連同最後一行,我們需要修改三個地方。

admin加密:ywrtaw4=

開心。q:

s:檢視原始碼:

invalid password!

根據提示,反斜槓是突破點,可用來轉義,則重點關注$query='select * from users where name=\''.$username.'\' and pass=\''.$password.'\';';,**中仍然是傳入使用者名稱和密碼的,首先經過clean函式的清洗,刪除反斜槓,最後使用htmlentities()方法將把字元轉換為 html 實體,htmlentities($str, ent_quotes)。

這種轉換我們在平時網頁中輸入時也會自動被轉換為html實體,以防止被html解釋或執行。單引號跟上反斜槓也會被轉移。

直接進行轉換:

'select * from users where name=''+username+'' and pass='' + password + '';'

如果傳入的是:username=ctfuser&password=1234

源**即為:select * from users where name='ctfuser' and pass='1234',其中,在資料庫中反斜槓將會被過濾掉,只剩下需要轉移的單引號!,其他單引號用於字串的拼接。

提示中告訴我們可以使用反斜槓對單引號進行轉移,上面的源**可事先進行一些構造:

select * from users where name='ctfuser' and pass='1234'

在mysql查詢語句中轉義字元不參與閉合,所以第乙個單引號將和第三個單引號進行閉合,然後使用

username=ctfuser\&password=or 1 %234,即可繞過,sql語句如下:

需要告一段落了,感覺自己水平有限,還需要實戰中慢慢積累經驗。

繼續加油!

SQL注入1(南郵CTF)

提示看原始碼 secure web login head if post user post pass if query user admin echo query user 看這個 if query user admin echo logged in flag 題目有兩個輸入框,乙個user乙個密...

CTF 南郵攻防平台(web2)

burpsuit抓包,將響應頭中的cookie項的login 0 改為login 1 即得flag 1 按照指示訪問index.txt 2 讀php原始碼,發現是urldecode多進行了一次,那麼傳參的時候多進行兩次url編碼 提交即可 burpsuit抓包,在響應頭中新增x forwarded ...

南郵ctf逆向最後一題

你大概需要乙個優秀的mac 雖然是osx下的程式,但並不一定真的要有mac 正好我也沒mac,只能拖到ida裡面了,發現還真可以 ida有點厲害 找到right wrong字串,觀察下主框架然後果斷f5看下偽 可以看出來就是簡單的輸入長度為56的字串然後經過func1,xfun1,xfun2,xfu...