#14 web4 (80)
打開題目地址,如圖:
提示讓看看源碼
那麼,按F12,
這好像是10進制還是啥的,
那麼看這一句eval(unescap(p1)+unescap('%35%34%61%61%32' + p2));
這句話就是把p1和'%35%34%61%61%32'和p2連接起來
放到Converter中解碼(注意拼接順序)
點擊那個Hex to Text,我試出來的,( ̄▽ ̄)"
格式化一下代碼,如下:
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;
好了有了源代碼,那麼就簡單了
這段代碼就是說如果password==67d709b2b54aa2aa648cf6e87a7114f1
就好了,填入框框中submit
KEY就拿到了
#13 管理員系統 (60 point)
打開題目地址,如圖
嗯, 沒啥想法,先按F12,
果然,這裏有東西,不過好像是base64編碼的東西,可以在線解密,也可以用py工具解碼(需要先安裝python3,然後加入到環境變量中)
這個test123 應該是密碼了
額,IP不對,必須本地登陸,本地就是127.0.0.1,那麼用burp把訪問地址改成127.0.0.1把
打開firefox和burp,輸入網址並訪問,然後填入賬號和密碼
把burp設置爲監聽,然後submit
這樣burp就捕捉到了請求,
右鍵發送到Repteaer
在HTTP頭的下面填入 X-Forwarded-For : 127.0.0.1
記得和圖中的一樣,與下面的post數據中間留一行的距離
點擊Go,flag就出來了
#12 網站被黑 (60 point)
進入題目地址,如圖:
是一個黑頁,嗯,一個網址被黑了,那麼應該會被上傳shell,那麼直接御劍掃描後臺
掃描出shell.php,打開鏈接是一個webshell
額,嘗試一下弱密碼,不行
那就只能爆破了
打開firefox和burp
打開題目地址,輸入123(隨便)
然後把burp調到監聽,再在firefox中點擊登陸
然後burp就捕捉到這一次請求了
右鍵發送到爆破模式
在Payloads中設置
Payload type爲Simple list
點擊下三角,選擇Passwords
然後再Options中設置多一點線程,能快一點,(視情況而定)
然後在Intruder菜單中點擊Start attack開始爆破
然後等待一會,因爲大多數的密碼都是不對的,那麼大多數的返回值都是一樣的,那麼這些返回值的Length也是一樣的,那麼正確的那個密碼的返回值就會和其他的不一樣,那我們按Length排序,就可以把正確的返回拍到最上面,或最下面,(也有可能在其他地方,這不重要)
這裏可以看到第1944次Request中Payload爲hack的那一次,Length與其他的不同,那麼點擊查看一下,果然,flag出來了
#11 頭等艙 (60 point)
進入題目地址後,如圖:
不過題目是頭等艙,猜想flag可能在http頭中
用burp抓包就行了
設置firefox代理,然後打開burp,設置監聽
在firefox中輸入題目地址
burp就接受到請求了
注意一下網址對不對
然後右鍵發送到Repeater中點擊GO
flag就在HTTP頭中
#10 變量1 (60 point)
進入題目地址:
是一道代碼審計,大意如下:
如果GET中有參數args
那麼獲取args
如果匹配args中有字母
輸出$$args
flag在變量中,我們看到 我們知道容易引發變量覆蓋
還有一段正則表達式 /^\w+$/
進行過濾 不會的可以百度或者Google
[a-z0-9A-Z] 以外的都不行 我們 get傳入args
我們讓args=GLOBALS 全局數組變量 關於這個變量可以百度Google
$args=GLOBALS 又和var_dump($$args) 前面那個$ 組成$GLOBALS
flag變量又在$GLOBALS中,var_dump eval 成功得到flag
#9 本地包含
#8 你必須讓他停下 (60 point)
進入題目地址:
是一個無限刷新的頁面
那麼使用一個工具burp抓包讓他停下來
打開firefox的設置,拉到最下面點擊網絡設置中的設置
如圖設置
打開burp(使用run.bat打開)
把proxy中的第三個設置爲 intercept is on
在firefox地址欄輸入題目地址,回車
burp就捕捉到了請求,上圖就是捕捉到的圖片
然後右鍵,Send to Repeater
在Repeater中點擊Go,等右邊出現10.jpg的時候flag就一起出來了(如果不是10.jpg就多點幾次Go)
#7 域名解析 (50 point)
這題要改域名解析
那麼windows下應該去改hosts文件
C:\Windows\System32\drivers\etc\hosts
在文件末尾加上123.206.87.240 flag.baidu.com
然後訪問flag.baidu.com就好了
#6 web3 (30 point)
進入題目地址,如圖
彈出很多的彈窗(不是無限個), 可以點擊不允許此頁面創建更多消息然後關閉彈窗
然後發現頁面上啥的沒有,點開F12看看
看來這個就是Flag了,看上去像是URL編碼
需要一個工具,輸入原始值點擊Decode HTML就解碼了
#5 矛盾 (30 point)
進入題目地址,如圖
又是代碼審計的題目
意思大概就是:
從URL上GET一個'num'
判斷如果num不是一個數字那麼繼續(is_numeric用法見https://www.runoob.com/php/php-is_numeric-function.html)
輸出 num
如果num等於1
那麼輸出答案
即num既不能是數字字符,但是要等於1
我們可以想到用科學計數法表示數字1,既不是純數字,其值又等於1
因此,構造payload
num=1*e*0.1
或者構造
可以得到flag
#4 web基礎$_POST (30 point)
進入題目地址,如圖
和上一題差不多,但是這次是POST
這個時候需要一個firefox瀏覽器(其他的應該也行(google不行,QQ瀏覽器不行,搜狗瀏覽器不行))(安裝的時候記得點開選項,然後把流氓軟件取消),然後在firefox上下載一個工具
瀏覽器的側邊就會出現hackbar了
打開題目鏈接
#3 web基礎$_GET (30 point)
進入題目地址後如圖
這是PHP語言,意思大概就是從URL上GET一個參數"what" ,然後輸出what的內容,如果what=='flag',那麼輸出'flag{*****}'
那麼在URL上填對應內容就好,然後回車
#2 計算器 (30 point)
點擊鏈接進入題目地址,如圖
57+58=115
那麼填進去唄
有點不對勁,好像只能輸入一個數字,按F12調出開發者工具
填入正確答案,點擊驗證就好了
#1 web2 (20 point)
點擊鏈接進入題目地址後顯示一個不斷變快的滑稽頁面
這個時候只需要按F12(開發者工具),然後註釋裏就有KEY