美文网首页CTF-Web安全
攻防世界-Web-NaNNaNNaNNaN-Batmaner

攻防世界-Web-NaNNaNNaNNaN-Batmaner

作者: 简言之_ | 来源:发表于2019-07-01 13:12 被阅读49次
    题目信息:
    image.png

    知识点:js代码(eval函数,alert函数,splice函数),正则,代码审计

    下载附件,是一个文件,没有后缀,用sublime打开看看


    image.png

    是js代码,那么我们将文件后缀改为html,用浏览器打开查看:


    image.png

    是一个输入框,但输入什么都没有反应,还是继续尝试分析js代码
    审计代码可以看到eval函数执行了_变量中的内容也就是' '中的内容,但是,要注意的是,它并没有执行$()函数,仅仅执行了字符串而已(从而导致乱码),因而页面html页面没有任何显示,只显示了input标签的内容,但是我们想让源代码正常显示出来,不进行执行,那么,我们就用到了alert弹窗(将eval函数改为alert),将乱码的$()函数源码完整显示出来:

    image.png
    eval() 函数:可计算某个字符串,并执行其中的的 JavaScript 代码。
    alert() 函数:用于显示带有一条指定消息和一个 确定按钮的警告框。
    

    整理后源码为:

    function $()
    {
    var e=document.getElementById("c").value;
    if(e.length==16)
    if(e.match(/^be0f23/)!=null)
    if(e.match(/233ac/)!=null)
    if(e.match(/e98aa$/)!=null)
    if(e.match(/c7be9/)!=null)
        {   var t=["fl","s_a","i","e}"];
            var n=["a","_h0l","n"];
            var r=["g{","e","_0"];
            var i=["it'","_","n"];
            var s=[t,n,r,i];
        for(var o=0;o<13;++o)
            {
             document.write(s[o%4][0]);
             s[o%4].splice(0,1)
            }
        }
    }
    document.write('<input id="c"><button onclick=$()>Ok</button>');
    delete _
    
    方法一:审计代码,因此我们要满足关键变量e的正则条件
    e.length==16
    e.match(/^be0f23/)!=null
    e.match(/233ac/)!=null
    e.match(/e98aa$/)!=null
    e.match(/c7be9/)!=null
    

    ^表示开头一定要匹配到be0f23,$表示结尾一定要匹配到e98aa,其它的只要匹配到就行,没有位置要求

    于是我们构造e的值:be0f233ac7be98aa

    将构造的e输入最初的html页面的输入框中得到flag


    image.png image.png
    方法二:直接将下面代码复制到控制台执行也能得到flag
    var t=["fl","s_a","i","e}"];
            var n=["a","_h0l","n"];
            var r=["g{","e","_0"];
            var i=["it'","_","n"];
            var s=[t,n,r,i];
        for(var o=0;o<13;++o)
            {
             document.write(s[o%4][0]);
             s[o%4].splice(0,1)
            }
    
    image.png
    参考:https://blog.csdn.net/qq_41617034/article/details/91946853

    相关文章

      网友评论

        本文标题:攻防世界-Web-NaNNaNNaNNaN-Batmaner

        本文链接:https://www.haomeiwen.com/subject/ohhgcctx.html