WEB100-浅析js加密解密的方法
2019-04-27 本文已影响128人
DYBOY
在网上找在线CTF的训练平台,找到合天网安实验室一个web100的题目,是一个js的题目
![](https://img.haomeiwen.com/i6661013/2f8a0f2054934820.jpg)
下载得到压缩包,查看里面的文件
![](https://img.haomeiwen.com/i6661013/7266638cb15d784c.jpg)
代码确实够乱的,一看应该是 Javascript
的代码,所以直接复制在浏览器运行:
![](https://img.haomeiwen.com/i6661013/b39e458e62a87059.jpg)
第一遍运行时候,将最后的eval(_)
删除,得到 函数的源码,为什么可以得到源码呐?在 js
中,直接输出函数名,可以得到函数的具体内容!在一些 js
加密中也可以直接这样获取加密的明文!
比如一个颜文字加密的网站:http://utf-8.jp/public/aaencode.html
![](https://img.haomeiwen.com/i6661013/14c2c2a328b44e34.jpg)
按图所示同样可以得到源码
得到这道题的源码,使用代码整理
![](https://img.haomeiwen.com/i6661013/474c14334214421e.jpg)
直接把关键的地方找出来,运行一下即可:
// 改造一下
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) {
str += s[o % 4][0];
s[o % 4].splice(0, 1)
}
console.log(str);
在浏览器控制台运行一下,得到 flag
![](https://img.haomeiwen.com/i6661013/e057cf82b9de7527.jpg)
在js加密中,很多场景都可以使用此方法来解密