首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Javascript和HTML运行Unix命令

从Javascript和HTML运行Unix命令
EN

Stack Overflow用户
提问于 2015-11-05 15:56:26
回答 2查看 1.8K关注 0票数 0

我想使用Javascript技术从网页上运行Lynis ( Kali Linux中预装的审计工具),但是我不知道如何使用javascript中的bash命令执行本地程序,有人能帮我吗?

简言之,总的想法如下:

  1. 访问者(假设访问者在安装Lynis的计算机上使用Kali Linux )进入我的网页www.example.com/example.html
  2. 访问者下载页面的内容,通过一个按钮或类似的东西,我们可以执行shell命令并在访问者的计算机上运行Lynis软件。(例如"# sudo lynis")
  3. 当Lynis完成它的执行时,生成的结果以某种方式与javascript代码交互,我们可以在网站上显示这个信息。

(现在的优先事项是第1和第2点)

提前谢谢。

如果这不可能..。在不使用javascript的情况下,有办法做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2015-11-05 15:59:11

这是不可能的,否则它将成为有史以来最大的安全漏洞。

票数 3
EN

Stack Overflow用户

发布于 2015-11-05 16:52:40

JavaScript代码可以很容易地被用户注入和修改,因为它是一种客户端语言。这意味着它是在浏览器上存储和执行的,它既不加密也不编译,因此可以在空闲时查看和编辑。这意味着简单地让JavaScript能够执行服务器端的shell命令将是一个巨大的安全漏洞。

尽管如此,您可以创建一个JavaScript来执行一个shell命令,您可以使用JavaScript调用该命令。再一次,记住这会打开一个巨大的安全漏洞。

JavaScript:

代码语言: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:

代码语言:javascript
复制
if (isset($_POST["command"])) 
    shell_exec($_POST["command"]);  
print "<script>history.go(-1)</script>"  

PHP进入一个名为"exec.php“的文件,JavaScript可以放在您希望它使用的任何网页中。

然后,只需使用"exec“函数,就可以通过JavaScript在计算机上执行shell命令。例如"exec(' gedit ')“将在我的计算机上打开gedit。

如果使用此方法,任何登录到您的网站的用户都可以在计算机上键入该命令并执行命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33549168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档