当前位置:首页 » 《随便一记》 » 正文

XCTF-攻防世界CTF平台-Web类——8、NaNNaNNaNNaN-Batman_Onlyone_1314的博客

3 人参与  2022年05月18日 15:07  分类 : 《随便一记》  评论

点击全文阅读


目录标题

  • 方法一、通过输入得到flag
  • 方法二:直接计算得到flag

下载附件,查看:
在这里插入图片描述

是一段乱码的JS代码
我们把文件后缀改成.html文件,在浏览器运行看一下代码效果:
在这里插入图片描述

一个输入框和“OK”按钮,输入“11”之后点击按钮没有反应,应该是没输入正确的字符串,查看源代码
在这里插入图片描述

由eval()函数来执行前面的字符串“”指向的函数
eval()函数:可计算某个字符串,并执行其中的的JavaScript 表达式、变量、语句或语句序列
我们可以把用alert(
)函数或者console.log()函数之类的,把“_”的值弹出显示,让我们知道解密后eval()执行的函数内容:
在这里插入图片描述

之后重新运行:
在这里插入图片描述

弹出的就是eval(_)实际执行的函数代码:

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

这段代码的意思是要求输入框输入的字符串长度为16,之后字符串内容匹配四个正则表达式,其中正则的话^为开始符号就是从最前面往后开始计算,$为结尾符号就是从最后面计算:
(1)也就是第1个if (e.match(/^be0f23/) != null)要求字符串的前6个字符串是“be0f23”;
(2)第2个if (e.match(/233ac/) != null)要求字符串中出现了“233ac”;
(3)第3个if (e.match(/e98aa$/) != null)要求字符串的最后5个字符是“e98aa”;
(4)第4个if (e.match(/c7be9/) != null)要求字符串中出了“c7be9”;
所以字符串的顺序是“be0f233ac7be98aa”
通过了四个if判断之后,程序就会生成flag字符串显示

在输入框中输入be0f233ac7be98aa:
在这里插入图片描述

得到flag:flag{it's_a_h0le_in_0ne}

方法二:直接计算得到flag

我们也可以直接自己计算得到flag

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];
var str = "";
for (var o = 0; o < 13; ++o) {
	document.write(s[o % 4][0]);
	str += s[o % 4][0];
	s[o % 4].splice(0, 1);
}
console.log("%s",str);

在这里插入图片描述

得到flag:flag{it's_a_h0le_in_0ne}


点击全文阅读


本文链接:http://zhangshiyu.com/post/40389.html

字符串  函数  输入  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 糟糕我始乱终弃的恩客是太子续集起点章节+全书阅读(谢怀琛沈鸢)书荒必看
  • 重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)_重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)
  • 知道自己是替身后,我选择自毁了独家首发_林昕巴掌宝藏文_小说后续在线阅读_无删减免费完结_
  • 我的娘子是大凶之物张一恒张一恒小说无删减阅读清爽版(张一恒)外篇+续集
  • 夫君停妻另娶挚友遗孀后,我杀疯了高分神作_贺朝小柔灵堂免费赏析_小说后续在线阅读_无删减免费完结_
  • 林冉顾承渊小说(许你万里晴空)+前传(林冉顾承渊)阅读
  • 京婚娇宠:是小尼姑也是嫡公主续集(姜以安周瑾臣)全本完整免费版_起点章节+后续(京婚娇宠:是小尼姑也是嫡公主)
  • 阮娇娇后续(纵她!禁欲小叔失控诱吻娇娇)(阮娇娇)整本畅享在线+无广告结局
  • 完结文流光错系断蓬之舟番外+完结列表_完结文流光错系断蓬之舟番外+完结(沈煜谢晚烟)
  • 重生1980:开局迎娶姐姐闺蜜小说(李毅唐雪)小说结尾+隐藏篇章(重生1980:开局迎娶姐姐闺蜜)畅享阅读
  • 全文一笑长明唯记相约前文+后续(江月肖楚宁)列表_全文一笑长明唯记相约前文+后续
  • 全文高考查分后,哥哥在我身上订满两百颗钉续集(沈眠月沈砚秋沈清欢)列表_全文高考查分后,哥哥在我身上订满两百颗钉续集

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1