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
值菠秒,所以不能點(diǎn)擊疙剑,F12
查看并修改,點(diǎn)擊即可得到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)為字符串:
最后提交的時(shí)候添加格式。
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é)果存在一個(gè)數(shù)組中拳芙,print_r是打印出結(jié)果:
然后察藐,再獲取文件里面的內(nèi)容,fopen為打開文件的函數(shù)舟扎,這里以可讀的方式打開分飞,然后fgets獲取行內(nèi)容,最后print_r打印出結(jié)果:
command_execution:
命令執(zhí)行睹限,命令行中command1|command2
表示只執(zhí)行command2譬猫,經(jīng)驗(yàn)所致了,flag文件放在home目錄下羡疗,查看即可染服,之前校賽的時(shí)候也有一道類似,好像是禁用了cat命令叨恨,然后解決方法是使用tac反向輸出命令:
simple_php:
PHP的簡單使用柳刮,十六進(jìn)制繞過,%00
截?cái)嗬@過is_numeric()函數(shù)的判斷:
官方解答,這我是真不知道秉颗,沒辦法痢毒,太菜:
掌握php弱類型比較
php中有兩種比較符號:
==: 先將字符串類型轉(zhuǎn)化成相同,再比較
===: 先將字符串類型轉(zhuǎn)化成相同蚕甥,再比較
字符串和數(shù)字比較使用==時(shí),字符串會先轉(zhuǎn)換為數(shù)字類型
再比較 php var_dump('a' == 0);//true闸准,這里'a'會被轉(zhuǎn)換數(shù)字
0 var_dump('123a' == 123);//true,這里'123a'會被轉(zhuǎn)換為123