Команда Ruby не выполняется в функции PHP shell_exec

1

Я хочу запустить WPScan через PHP файл. Я использую функцию shell_exec для вызова команды WPScan, но она выдает следующую ошибку:

[ERROR] cannot load such file -- bundler/setup

WPScan нуждается в рубине для работы на сервере, а команда WPScan может работать только внутри каталога WPScan. Когда мы запускаем эту команду за пределами каталога WPScan, она выдает такую же ошибку:

[ERROR] cannot load such file -- bundler/setup

Средство просмотра браузера не может найти файлы, необходимые для WPScan, и все файлы помещаются внутри корня документа веб-сайта. Другие все команды работают через shell_exec, но команда ruby выдает ошибку. Короче говоря, он не может найти файлы, необходимые для WPScan.

Команда:

ruby wpscan.rb --url http://example.com/ --follow-redirection --log

Я также попытался использовать полный путь:

/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby /var/www/html/wp-scan/wpscan.rb --url example.com --follow-redirection --log

Но ничего не работает.

$wp_command = shell_exec('/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby /var/www/html/wp-scan/wpscan.rb --url example.com --follow-redirection --log');

echo $wp_command;

die;
  • 0
    WPScan имеет руководство по установке в довольно хорошем readme. github.com/wpscanteam/wpscan

1 ответ

0

Попробуйте что-то вроде этого:

$wp_command = shell-exec('cd /var/www/html/wp-scan && ruby wpscan.rb --url example.com --follow-redirection --log');

echo $wp_command;

die;

Должен работать, если вы правильно установите WPScan и RVM.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню