CTF-BugKu-WEB-1-20
阿新 • • 發佈:2020-09-18
2020.09.17
全面複習web,給自己定個目標,後天之前結束BugKu-Web,開始逆向。
經驗教訓
- php弱等於用於繞過
==
,弱等於之前會把等號兩邊轉化為同一型別變數; - 全域性變數全域性變數全域性變數!!$GLOBALS、$_SERVER、$_REQUEST、$_POST、$_GET、$_FILES、$_ENV、$_COOKIE、$_SESSION
- 瀏覽器的檢查元素的網路中內容不一定可信,因為瀏覽器在接受資料的時候會過濾不符合規則的內容,但是flag可能就藏著裡邊
- 偽裝成本地登陸新增請求頭
X-Forwarded-For: 127.0.0.1
; - 火狐瀏覽器有時候會出bug,在一個比較確定的答案沒有結果的時候,可以換個瀏覽器試試。。。。
- 檔案包含漏洞的利用,
php://input
配合<?php echo system('ls');?>
和php://filter/read=convert.base64-encode/resource=index.php
; - 陣列求md5會返回false;
- 如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。
- 資料庫中大資料庫是information_schema,其中有TABLES、COLUMNS表,儲存所有的表和列資訊。
第一題 web2
https://ctf.bugku.com/challenges#web2
- 一堆這個,在頁碼原始檔找到flag
第二題 計算器
https://ctf.bugku.com/challenges#計算器
- 開啟如下
- 輸入框只能輸入一位數,檢查原始碼,發現生成驗證碼多js檔案
- 直接訪問,在檔案中發現flag
flag{CTF-bugku-0032}
第三題 web基礎$_GET
https://ctf.bugku.com/challenges#web基礎$_GET
- 比較簡單的get,構造payload
?what=flag
,輸出flagflag{bugku_get_su8kej2en}
第四題 web基礎$_POST
https://ctf.bugku.com/challenges#web基礎$_POST
- 簡單的post,Firefox開啟,hackbar外掛,新增post
what=flag
flag{bugku_get_ssseint67se}
第五題 矛盾
https://ctf.bugku.com/challenges#矛盾
- 不能是數字,還得弱等於1,這就用到字元'1qwk'弱等於數字1這個知識點了,在弱等於的時候,等號兩邊會轉化為同一型別的變數,這裡1qwk轉化為數字後為數字1,payload
num=1qwk
,得到flagflag{bugku-789-ps-ssdf}
第六題 web3
https://ctf.bugku.com/challenges#web3
- 開啟是很多彈窗,看原始碼,在底部發現資訊,html轉碼,得
KEY{J2sa42ahJK-HS11III}
第七題 域名解析
https://ctf.bugku.com/challenges#域名解析
- 訪問
http://123.206.87.240/
後,用hackbar修改host為flag.baidu.com
即可得KEY{DSAHDSJ82HDS2211}
第八題 你必須讓他停下
https://ctf.bugku.com/challenges#你必須讓他停下
- 看原始碼知道是一個script指令碼一直在執行,用瀏覽器停用指令碼之後,得到如下介面,沒啥用,
- 看頁面文字,stop at panda,我重新整理介面原始碼,發現請求檔案一直在變,是不是請求的是panda就可以了呢,burp攔截試試,一直重發就會發現,有概率出現flag
flag{dummy_game_1s_s0_popular}
第九題 本地包含
https://ctf.bugku.com/challenges#本地包含
- 訪問500,估計是壞掉了
第十題 變數1
https://ctf.bugku.com/challenges#變數1
- 得到程式碼
<?php
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
- 主要意思就是滿足正則表示式,來用var_dump()來輸出變數值,這裡想到全域性變數,構造payload
?args=GLOBALS
得到flagflag{92853051ab894a64f7865cf3c2128b34}
第十一題 web5
https://ctf.bugku.com/challenges#web5
- 開啟檢視原始碼,發現brainfuck密碼,不對,經過查閱是JSFUCK密碼,這是一種神奇的fuck密碼