Я хочу запустить 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;
Попробуйте что-то вроде этого:
$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.