XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记
上来直接百度先搜下Batman -_-|| 不存在的传令兵么
本身是下载下来了一个文件web100
打开发现是如下内容
可以看出这个是个脚本语言,因此尝试修改后缀为html,发现是一个OK框
现在是想办法把他的代码给还原成能让正常人识别出来的玩意= =
恢复后是这样子
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 οnclick=$()>Ok</button>');
接下来来分析这个代码:(其实看到代码大概已经能猜出来了flag就是图上的几个数组内字符拼接)
千层饼第一层:长度等于16
千层饼第二层:开始位置有be0f23
千层饼第三层:结束位置有e98aa
千层饼第四层:字符串能匹配:233ac和c7be9
最后构造:be0f233ac7be98aa
得到Flag
记录下比较好用的网站:
在线测试正则的网站:https://regexper.com/
有不了解正则的:https://www.runoob.com/regexp/regexp-syntax.html