XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记

上来直接百度先搜下Batman -_-|| 不存在的传令兵么

本身是下载下来了一个文件web100

打开发现是如下内容

XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记_第1张图片

 

 

 可以看出这个是个脚本语言,因此尝试修改后缀为html,发现是一个OK框

XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记_第2张图片

 

 

现在是想办法把他的代码给还原成能让正常人识别出来的玩意= =

恢复后是这样子

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('');

  

接下来来分析这个代码:(其实看到代码大概已经能猜出来了flag就是图上的几个数组内字符拼接)

千层饼第一层:长度等于16

千层饼第二层:开始位置有be0f23

千层饼第三层:结束位置有e98aa

千层饼第四层:字符串能匹配:233ac和c7be9

 

最后构造:be0f233ac7be98aa

得到Flag

XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记_第3张图片

 

 

  

记录下比较好用的网站:

在线测试正则的网站:https://regexper.com/

有不了解正则的:https://www.runoob.com/regexp/regexp-syntax.html

 

 

  

你可能感兴趣的:(XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记)