Pro*_*mer 2 html javascript base64
我在 html 页面(JavaScript)中有此代码:
<script>
var cox,d = 0;
Console.Log(cox,d);
</script>
Run Code Online (Sandbox Code Playgroud)
现在我[var cox,d = 0; Console.Log(cox,d);]用 base64 编码手动加密,结果是这样的:IHZhciBjb3gsZCA9IDA7DQogQ29uc29sZS5Mb2coY294LGQpOw==
我希望这个编码的字符串(代码)可以由同一页面中的另一个 JavaScript 函数执行......例如:
<script>
var encoded = "IHZhciBjb3gsZCA9IDA7DQogQ29uc29sZS5Mb2coY294LGQpOw==";
var decodedString = atob(encoded);
/* Problem is here */
</script>
Run Code Online (Sandbox Code Playgroud)
我想在/* Problem is here */'.
我能怎么做?
/* var cox,d = 0; console.log(cox,d); */
var encoded = "dmFyIGNveCxkID0gMDsgY29uc29sZS5sb2coY294LGQpOw==";
var decodedString = atob(encoded);
eval(decodedString);Run Code Online (Sandbox Code Playgroud)
另一种方法是使用New Function 构造函数
/* var cox,d = 0; console.log(cox,d); */
var encoded = "dmFyIGNveCxkID0gMDsgY29uc29sZS5sb2coY294LGQpOw==";
var decodedString = atob(encoded);
var func = new Function(decodedString);
func();Run Code Online (Sandbox Code Playgroud)
*编码代码时,控制台和日志必须是小写的,而不是 ucfirst。
我不是安全专家,我真诚地建议您检查在您的应用程序中评估和执行此类功能的风险。
这里有一个有趣的答案约之间的区别eval和new Function
| 归档时间: |
|
| 查看次数: |
2747 次 |
| 最近记录: |