hackinglab.cn脚本关之四

题目:

提交说明:提交前14个字符即可过关


writeup:

  1. 点击进去后
    _点击之后怎么没反应呢?说好的弹窗呢?__

    是一个链接,点击后确实没啥反应。。可能源代码中有提示
    <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()函数都被新函数覆盖掉了。
  2. 可以发现key在a()函数中,只要把a()的代码复制下来,然后换一个页面打开web控制台粘贴进去执行就可以得到key
     var a=function (){
                   var b=function(p,a,c,k,e,r){e=function(c){return(c<a?'':.....//省略了一部分代码
                   var d=eval(b);
    
    alert("key is first 14 chars"+d.substr(0,14));//由于只要前14个,这里只取d的前14 }()
     
    说一下,我改了一下代码,代码中注释上有。为什么要换一个页面是因为在当前页面,那三个函数已经被覆盖了。

猜你喜欢

转载自blog.csdn.net/kostart123/article/details/53709552