从Javascript和HTML运行Unix命令
我想从使用javascript技术的网页运行Lynis(预装在Kali Linux中的审计工具),但我不知道如何使用Javascript的bash命令执行本地程序,有人可以帮助我?从Javascript和HTML运行Unix命令
总之,总体思路如下:
访问者(假设访问者与安装Lynis他的计算机上使用Linux的卡利)进入到我的网页www.example.com/example .html
访问者下载页面的内容并用按钮或类似的东西,我们可以执行shell命令并在访问者的计算机上运行Lynis软件。 (例如“#sudo lynis”)
当Lynis完成执行时,生成的结果以某种方式与javascript代码交互,我们可以在网站上显示此信息。
(优先级现在是点1和2)
预先感谢。
P.S.如果这是不可能的...有没有办法做到这一点,而不使用JavaScript?
JavaScript代码可以很容易地被用户注入和更改,因为它是客户端语言。这意味着它在浏览器中存储和执行,它既不加密也不编译,因此可以在闲暇时查看和编辑。这意味着只要JavaScript能够执行服务器端shell命令就会产生巨大的安全漏洞。
这就是说,你可以创建一个PHP脚本来执行一个你可以用JavaScript调用的shell命令。再次请记住,这会打开一个巨大的安全漏洞。
中的JavaScript:
function exec(command) {
var form = document.createElement("form");
form.setAttribute("action","exec.php");
form.setAttribute("method","post");
form.setAttribute("display","none");
var input = document.createElement("input");
input.setAttribute("type","text");
input.setAttribute("name","command");
input.value = command;
form.appendChild(input);
var submit = document.createElement("input");
submit.setAttribute("type","submit");
form.appendChild(submit);
document.body.appendChild(form);
submit.click();
document.body.removeChild(form);
}
的PHP:
if (isset($_POST["command"]))
shell_exec($_POST["command"]);
print "<script>history.go(-1)</script>"
的PHP进去一个叫 “exec.php” 和JavaScript可以放在你想要的工作任何网页文件用。
然后,您只需使用“exec”函数就可以通过JavaScript在您的计算机上执行shell命令。如“exec('gedit')”将在我的电脑上打开gedit。
如果使用此功能,任何登录到您网站的用户都可以键入该命令并在您的计算机上执行命令。
如果我做'sudo rm -r /'怎么办?不,如果没有非凡的天真用户的帮助,这是不可能的。 – webduvet
是的,我知道,但我找到了一些类似的例子。 例如[链接](http://www.codeproject.com/Questions/626644/HTML-Run-a-client-program-from-a-web-page) 但这是用于Windows和IE ...我想Unix系统和Chrome的类似方法!@webduvet – Gera
网页是否包含用户可以下载和查看的shell脚本。让shell脚本从最终结果中生成HTML,并且用户可以在他选择的Web浏览器中打开它。或者,让脚本生成一些报告格式,并让用户将生成的报告文件上传到您的网站,然后解析并让它们在那里与它交互。 –