ADWORLD web/NaNNaNNaNNaN-Batman

1 下载打开附件

  附件是一个js乱码文件

 

 

    用火狐浏览器打开,得到以下界面

 

 

2 解决方法

   将乱码中的eval()改成alert(),然后以html文件的格式打开,

 

 

    乱码正常:

 

 将这段js代码对齐:

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 _

          拿到flag可通过两种方法:

    ①满足正则,长度16,内容从^到$,得到e的值:be0f23233ace98aa,输入到原始链接里面的方框中,点击ok获得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)

 

 3 知识点

     ①html乱码的处理

     ②eval()函数

      eval函数,这是执行函数;这里执行了_变量中的内容。eval()函数并不会执行函数而只会执行标签中的内容,如果我们想要看到function函数中的内容,我们就要将eval修改为alert,让整个_中的内容不被执行而仅返回代码。

https://www.w3school.com.cn/js/jsref_eval.asp

     ③alert()函数

       alert函数可以弹出消息对话框,并且alert消息对话框通常用于一些对用户的提示信息。

       另,由于alert()函数所使用的弹出框是浏览器系统对象而不是网页文档对象,因此无法通过在alert()函数中使用HTML标签来定义弹出框的样式 — HTML标签将会被原封不动的进行显示。

 

posted @ 2020-10-10 08:41  EleclouD  阅读(125)  评论(0)    收藏  举报