【XCTF 攻防世界】WEB 高手进阶区 NaNNaNNaNNaN-Batman

下载附件 得到一个空白文件

用十六进制编辑器打开
是一个乱码的js文件

仔细观察一下,发现
在这里插入图片描述
下划线是一个变量
并且在最后用eval输出
在这里插入图片描述
虽然我还没学过js,但是我知道一个最出名的函数:alert函数
可以把alert中的内容以弹窗形式输出
我们在这里把eval函数改成alert
在这里插入图片描述
然后把文件后缀改成html
这时我们可以把后缀更改一下
在这里插入图片描述
复制到vscode并且美化格式得到

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

这么一大串
看不懂不要紧
我们看到了几个熟悉的字符
在这里插入图片描述
我们把这几行放到控制台直接输出

得到flag在这里插入图片描述
或者

只要e的规则符合长度为16并且以be0f23开头以e98aa结尾并且需要匹配233ac和c7be9即可.

这样的字符串就是be0f23ac7be98aa

输入至输入框中即可得到Flag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值