美文网首页
1. SimpleJs

1. SimpleJs

作者: zxRay | 来源:发表于2022-08-21 01:29 被阅读0次

题目链接:https://adworld.xctf.org.cn/challenges/details?hash=2e4acf37-f5e9-4c09-8842-9cbb4ce81a50_2

题解

一个找密码的问题,用Chrome打开题目页面直接右键查看源代码

function dechiffre(pass_enc){
        var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
        var tab  = pass_enc.split(',');
                var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
                        k = j + (l) + (n=0);
                        n = tab2.length;
                        for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
                                if(i == 5)break;}
                        for(i = (o=0); i < (k = j = n); i++ ){
                        o = tab[i-l];
                                if(i > 5 && i < k-1)
                                        p += String.fromCharCode((o = tab2[i]));
                        }
        p += String.fromCharCode(tab2[17]);
        pass = p;return pass;
    }
    String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));

    h = window.prompt('Enter password');
    alert( dechiffre(h) );

代码做了一些简单的混淆,简化下为

function dechiffre(pass_enc){
            var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
            var tab2 = pass.split(',');
            var p = "";
            for(i = 0; i < tab2.length; i++ ){
                p += String.fromCharCode(tab2[i]);
                if(i == 5)break;
            }
            for(i = 0; i < tab2.length; i++ ){
                if(i > 5 && i < tab2.length-1)
                    p += String.fromCharCode( tab2[i]);
            }
            p += String.fromCharCode(tab2[17]);
            pass = p;
            return pass;
        }
        // 无用代码
        String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));

        h = window.prompt('Enter password');
        alert( dechiffre(h) );

其实就是将"70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"转换字符输出,所以不管你输入什么alert提示永远为FAUX PASSWORD HAHA。根据dechiffre逻辑这个函数功能大概是将密文转化为密码,根据源文件密文为:

\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30

这是一个Base16编码的字符串,解开后为:786OsErtk12

Ps:Base16编码介绍:https://blog.csdn.net/z_Fuck/article/details/109702625

相关文章

  • 1. SimpleJs

    题目链接:https://adworld.xctf.org.cn/challenges/details?hash=...

  • python:json 和simple json

    一、加入python stdlib时间 json: 2.6 simplejson: 2.4+ 二、simplejs...

  • golang解析json数据

    golang官方包encoding/json包解析json数据太复杂,这里使用简单的json解析包simplejs...

  • 1.

    午间的太阳晒得尤其刺热,菜市场上的楼房也显得闷热无比。 保罗的余光瞄见一个老妇,老妇登着载满废食的三轮车,充满...

  • 1.

    “好了,校会到此结束,请各班有序带回,开始班会。” 正在台下打盹的白子含被后面的同学叫醒,“子含,校会结束了。”...

  • 1.

    最随和、最友好、最善解人意的人,往往是最受伤、最抑郁的人。

  • 1.

    风决定要走 云怎么挽留 情缘似流水 覆水总难收

  • 1.

    清晨的第一缕阳光有点刺痛了屠然的眼睛,星期一再不起来就要迟到的闹铃成功的惊醒她,顶着宿醉的头痛微微坐起了身,...

  • 【1.】

    赵伊萱走在路上,她回想一下今天发生的事…… - 今天看见谭柯校草了 他在向我们班的班长表白了… 班长好像答应他了...

  • 1.

    九月份开学季,可这一年的我已经不是去年那个懵懂无知的大一萌新了,因为我变成大二小学姐啦!哈哈哈哈哈哈。 按照规定新...

网友评论

      本文标题:1. SimpleJs

      本文链接:https://www.haomeiwen.com/subject/huxvgrtx.html