hackinglab.cn指令碼關之四
阿新 • • 發佈:2019-01-28
題目:
提交說明:提交前14個字元即可過關
writeup:
- 點選進去後
_點選之後怎麼沒反應呢?說好的彈窗呢?__
是一個連結,點選後確實沒啥反應。。可能原始碼中有提示<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> function alert(a){ return false; } document.write=function(){ return false; } function prompt(a){ return false; } var a=function (){ var b=function(p,a,c,k,e,r){e=function(c).....//省略了一部分程式碼 var d=eval(b); alert("key is first 14 chars"+d); } </script> </head> <body> <a href="javascript:a();">_點選之後怎麼沒反應呢?說好的彈窗呢?__</a> </body> </html>
程式碼審計。發現alert(),prompt()和write()函式都被新函式覆蓋掉了。 - 可以發現key在a()函式中,只要把a()的程式碼複製下來,然後換一個頁面開啟web控制檯貼上進去執行就可以得到key
var a=function (){ var b=function(p,a,c,k,e,r){e=function(c){return(c<a?'':.....//省略了一部分程式碼
alert("key is first 14 chars"+d.substr(0,14));//由於只要前14個,這裡只取d的前14 }()var d=eval(b);
說一下,我改了一下程式碼,程式碼中註釋上有。為什麼要換一個頁面是因為在當前頁面,那三個函式已經被覆蓋了。