web-新手模式:
[TOC]
view-source:
鼠標(biāo)右鍵被網(wǎng)頁禁用了吧,F12查看即可:

get_post:

提交之后,顯示:



robots:
訪問robots.txt,發(fā)現(xiàn)f1ag_1s_h3re.php頁面:

訪問f1ag_1s_h3re.php頁面:

backup:
常見的備份文件后綴名有:.git .svn .swp .~ .bak .bash_history,訪問提示如下:

依次猜測,得到
index.php.bak,訪問提示下載,下載完打開:
github工具dirsearch的使用:
將代碼倉庫clone到本地,使用python3環(huán)境執(zhí)行命令:

cookie:
使用F12查看響應(yīng)頭的內(nèi)容,cookie消息:

提示查看
cookie.php:
在
cookie.php的響應(yīng)頭里面找到flag,每一題在線生成的場景不同,得到的flag也不同。
disabled_button:
前端知識,button的屬性設(shè)置了disable值,所以不能點擊,F12查看并修改,點擊即可得到flag:


simple_js:
js的基本用法,查看源碼,整理如下:
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab = pass_enc.split(',');
var tab2 = pass.split(',');
var i,j,k,l=0,m,n,o,p = "";
i = 0;
j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ )
{
o = tab[i-l];
p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ )
{
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
h = window.prompt('Enter password');
alert( dechiffre(h) );
String.fromCharCode是將Unicode編碼轉(zhuǎn)為字符串,真正的pass是String["fromCharCode"]處的字符串,用python處理一下轉(zhuǎn)為字符串:

最后提交的時候添加格式。
xff_referer:
偽造http請求頭:

然后在響應(yīng)里面找到flag:

weak_auth:
Burpsuite爆破,根據(jù)教學(xué)文檔,找到GitHub上面大佬收集的常用密碼字典:https://github.com/rootphantomer/Blasting_dictionary

webshell:
使用菜刀連接webshell:

直接可以看到網(wǎng)站目錄下面有
flag.txt:

或者直接在瀏覽器里面通過php函數(shù)來獲取flag:
getcwd函數(shù)是獲取當(dāng)前目錄,scandir是掃描當(dāng)前目錄下的文件夾并把結(jié)果存在一個數(shù)組中,print_r是打印出結(jié)果:

然后,再獲取文件里面的內(nèi)容,fopen為打開文件的函數(shù),這里以可讀的方式打開,然后fgets獲取行內(nèi)容,最后print_r打印出結(jié)果:

command_execution:
命令執(zhí)行,命令行中command1|command2表示只執(zhí)行command2,經(jīng)驗所致了,flag文件放在home目錄下,查看即可,之前校賽的時候也有一道類似,好像是禁用了cat命令,然后解決方法是使用tac反向輸出命令:

simple_php:
PHP的簡單使用,十六進(jìn)制繞過,%00截斷繞過is_numeric()函數(shù)的判斷:

官方解答,這我是真不知道,沒辦法,太菜:
掌握php弱類型比較
php中有兩種比較符號:
==: 先將字符串類型轉(zhuǎn)化成相同,再比較
===: 先將字符串類型轉(zhuǎn)化成相同,再比較
字符串和數(shù)字比較使用==時,字符串會先轉(zhuǎn)換為數(shù)字類型
再比較 php var_dump('a' == 0);//true,這里'a'會被轉(zhuǎn)換數(shù)字
0 var_dump('123a' == 123);//true,這里'123a'會被轉(zhuǎn)換為123