XCTF攻防世界 Web高手进阶区 NaNNaNNaNNaN-Batman writeup

XCTF攻防世界 Web高手进阶区 NaNNaNNaNNaN-Batman writeup

NaNNaNNaNNaN-Batman
难度系数: 2.0
题目来源: tinyctf-2014
题目描述:暂无
题目附件: 附件1

下载附件,解压得到:web100文件:
在这里插入图片描述
因为没有文件后缀名,放入到Hex Fiend中查看:
在这里插入图片描述
可以看到其中有<script>标签,填上后缀名.html,使用浏览器打开:
在这里插入图片描述
得到一个输入框,查看网页源码:

// 经整理后的源码:

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

方法一
满足给出的正则表达式,^为开始,$为结束,即构造:

be0f(23)233ac(c)7b(e9)e98aa
be0f233ac7be98aa

去掉拼接完()中的字符串,将其长度控制在16位,输入字符串,得到flag
在这里插入图片描述
方法二
因为输入的字符串由JavaScript判断,所以直接在控制台执行结果的代码即可:

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)
	}

在这里插入图片描述
在浏览器控制台执行如上代码,得到flag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值