题目:
WP:
打开题目附件web100
这里需要更改后缀为.html用浏览器打开
出现一个对话框,发现怎么输入都无效
进行代码审计
关键代码出现了
但不是完整代码
这里将代码中的eval函数(用于表达式返回值)
换成alert(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 _
此段代码含义是:
只要e的规则符合长度为16并且以be0f23开头以e98aa结尾并且需要匹配233ac和c7be9即可.
这样的字符串就是be0f23ac7be98aa
输入到原来的输入框
得到flag