我的公司有一个与工作相关的非常严格的内部网,该网络只有一个入口允许文件进出。门口的安全性不允许特殊类型的文件(仅限 *.txt、*.doc 等),即使在那些特定类型的文件中,它也会搜索批准文件确实是那种类型的模式。 (您不能简单地将 *.zip 文件伪装成 *.doc 文件。)
作为一个安全项目,我被告知要找到一种绕过该系统的方法,并插入一个显示 'Hello World'
的 C 语言 .exe 文件。
我的想法是将扩展名改为.txt,并对其进行base64编码,以便系统更容易接受。问题是,一旦它进入,如何对其进行解码。从表面上看,这很容易,PHP 或任何其他体面的语言都可以为我完成。然而,在那里,我可以访问的唯一真正的语言是 JavaScript(在 IE6 上,也许在 IE8 上)。
那么问题如下,我可以用JavaScript从文件系统中读取一个文件,解码,然后写回吗?或者至少为我显示结果?
请注意,我不要求对消息进行解码/编码,这很简单,我希望对文件进行解码和编码。
谢谢。
最佳答案
JSON可能是您正在寻找的答案。它实际上可以做到这一点。
将您的 txt 文件编码为 JSON 格式。很有可能通过贵公司的门口安检
var myJsonData = { "text" : "SGVsbG8sIHdvcmxkIQ==" }; // <-- base64 for "Hello, world!"
使用纯 html 脚本语法导入您的 txt 文件
<script src="hello.txt" type="text/javascript"> </script>
就是这样!现在您可以使用语法访问 JSON 对象:
alert(myJsonData.text);
要完成您的工作,请获取 this简单的 Javascript base64 解码器。
大功告成。这是我使用的(非常简单的)代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <script src="base64utils.js" type="text/javascript"> </script> <script src="hello.txt" type="text/javascript"> </script> <script type="text/javascript"> function helloFunction() { document.getElementById("hello").innerHTML = decode64(myJsonData.text); } </script> </head> <body onload="helloFunction();"> <p id="hello"></p> </body> </html>
关于javascript - 如何使用 JavaScript 从 base64 编码解码文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284529/