BugkuCTF Webb部分的幾道題
阿新 • • 發佈:2018-12-16
Web4
url解碼:url編碼,由%和數字構成 將程式碼用url進行解碼,
var p1 = 'function checkSubmit(){ var a=document.getElementById("password"); if("undefined"!=typeof a){ if("67d709b2b'; var p2 = 'aa648cf6e87a7114f1"==a.value) return!0; alert("Error"); a.focus(); return!1 } }document.getElementById("levelQuest").onsubmit=checkSubmit;'; eval(unescape(p1) + unescape('54aa2' + p2));
unescape() 函式:可對通過 escape() 編碼的字串進行解碼。該函式的工作原理是這樣的:通過找到形式為 %xx 和 %uxxxx 的字元序列(x 表示十六進位制的數字),用 Unicode 字元 \u00xx 和 \uxxxx 替換這樣的字元序列進行解碼。
eval()函式:eval() 函式可計算某個字串,並執行其中的的 JavaScript 程式碼。
eval("2+3") 返回5
所以就是拼接,拼成這個輸進去 67d709b2b54aa2aa648cf6e87a7114f1,得到writeup
輸入密碼檢視flag
五位數字密碼,直接到burp suite裡 抓包,傳送到Intruder,設定payloads type為numbers, 到options裡設定個多執行緒就好
點選一百萬次
檢視原始碼,還真要一百萬次才能蹦出flag,
if(clicks >= 1000000){
var form = $('<form action="" method="post">' +
'<input type="text" name="clicks" value="' + clicks + '" hidden/>' +
'</form>');
$('body').append(form);
form.submit();
好吧,方式post,使用外掛Hackbar,在第一個框裡貼上地址,勾上Enable Post data,又出現一個框,寫上:
clicks=1000000000,(隨便多少,大於一百萬就ok)
這是用post方式傳進去一個引數, web基礎$_POST也是這種做法