【SWPUCTF】astJS
收获
- JS 逆向,了解 js 语言的抽象语法树(AST) 
- 使用 escodegen 将 JavaScript AST 转换为代码 
- 在浏览器的控制台中可以直接运行 js 代码 
思路
题目文件为一个 json 文件:
该文件其实是 js 语言的 AST(抽象语法树),表现形式为 json 文件的格式
使用 npm 命令安装 escodegen 模块
npm i escodegen -g利用 escodegen 将 js 语句的 AST 语法树 —— json 文件转化成 js 语句:
esgenerate 附件.json得到转换后的 js 代码如下:
(function () {
    function bE(str, key) {
        var arr = str.split('');
        return arr.map(i => {
            return String.fromCharCode(i.charCodeAt() ^ key);
        }).join('');
    }
    console.log(bE('EXXH_Mpjx\x7FBxYnjggrM~eerv', 11));
}());将该 js 代码在浏览器的控制台中运行,即可得到 flag:
结果
NSSCTF{astIsReallyFunny}
 评论














