我想通过PHP文件运行WPScan。我正在使用shell_exec函数来调用WPScan命令,但它会抛出以下错误:
[ERROR] cannot load such file -- bundler/setup
WPScan需要在服务器上运行ruby,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 :(得分: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,应该可以正常工作。