1.檢查源碼
2.檢查js文件或者修改html代碼中的長(zhǎng)度
3.get ? ?get/what=flag
4.post方式 直接在body里輸入what=flag
5.矛盾 這里要不是數(shù)字才可以輸出 但是要是1才能輸出flag 所以構(gòu)造了http://120.24.86.145:8002/get/index1.php?num=1q則得出flag
6.flag就在這里 打開源碼發(fā)現(xiàn)腳本里有一段像加密的數(shù)值 因此利用base64解密工具即可以得出flag
7.域名解析 這題一開始很摸瞎 不知道怎么辦 查閱了資料 想到在ubuntu虛擬機(jī)上去設(shè)置/etc/hosts文件 將這個(gè)域名與IP相對(duì)應(yīng)就可以獲取flag
8.這是一個(gè)一直在更新的頁(yè)面厨喂,提示說停在什么處就會(huì)獲得flag羡玛,但是能顯示出來的其實(shí)只有一幅圖,那么在跳到這幅圖的時(shí)候是否是有什么問題的呢辆憔,利用burpsuite,我們可以發(fā)現(xiàn)在跳到可以顯示的那幅圖的時(shí)候的源碼里包括了flag烁设。
9.輸入密碼查看flag 即利用burpsuite爆破密碼
10.本地包含 利用payload鄙早,創(chuàng)建讀取文件flag.php內(nèi)容
11.web5 有奇怪的很長(zhǎng)文字 提交一下利用console
12.頭等艙 看header
13黑頁(yè) 是php頁(yè)面 御劍掃描掃描后臺(tái)目錄 shell.php用burpsuite進(jìn)行爆破
14.管理員網(wǎng)站 首先源碼中有奇怪的數(shù)字 先base64解碼為test123,但是一直提示聯(lián)系本地管理員 因此偽裝成本地訪問,則admin test123登陸之后可得flag
15.看源碼 所以根據(jù)js代碼轉(zhuǎn)出來
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;
輸入67d709b2b54aa2aa648cf6e87a7114f1 則得到flag
16.flag在index中 懷疑是在index.php中枫甲,有file這個(gè)關(guān)鍵詞源武,這是一個(gè)file關(guān)鍵字的get參數(shù)傳遞,php://是一種協(xié)議名稱想幻,php://filter/是一種訪問本地文件的協(xié)議粱栖,/read=convert.base64-encode/表示讀取的方式是base64編碼后,resource=index.php表示目標(biāo)文件為index.php脏毯。
而include的內(nèi)容是由用戶控制的闹究,所以通過我們傳遞的file參數(shù),是include()函數(shù)引入了index.php的base64編碼格式食店,因?yàn)槭莃ase64編碼格式渣淤,所以執(zhí)行不成功赏寇,返回源碼,所以我們得到了源碼的base64格式价认,解碼即可嗅定。