文章目录
- 一、NaNNaNNaNNaN-Batman
- 二、使用步骤
- 1.下载附件
- 总结
一、NaNNaNNaNNaN-Batman
题目链接:https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=1&page=1
二、使用步骤
1.下载附件
代码语言:javascript复制<script>_='function $(){e=getEleById("c").value;length==16^be0f23233ace98aa$c7be9){tfls_aie}na_h0lnrg{e_0iit'_ns=[t,n,r,i];for(o=0;o<13; o){ [0]);.splice(0,1)}}} '< οnclick=$()>Ok');delete _var ","docu.)match(/"];/)!=null=[" write(s[o%4]buttonif(e.ment';for(Y in $=' ')with(_.split($[Y]))_=join(pop());eval(_)</script>
修改后缀为html,浏览器打开
将eval函数改为alert得到
代码语言:javascript复制function $(){
var e=document.getElementById("c").value;
if(e.length==16)//构造长度为16
if(e.match(/^be0f23/)!=null)//开头匹配到be0f23
if(e.match(/233ac/)!=null)//e中有233ac
if(e.match(/e98aa$/)!=null)//结尾匹配到e98aa
if(e.match(/c7be9/)!=null){//e中有c7be9
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('Ok');
delete _
给的数正好可构造:e=be0f233ac7be98aa
把alert改回eval,在提交框中输入,即可得到flag:flag{it's_a_h0le_in_0ne}
总结
js源码审计