有没有办法知道网站可以使用哪些 Apache 版本、PHP 版本和 PHP 库等,而无需获得服务器访问权限。我正在寻找类似 phpinfo 的东西,但正如所说,没有访问权限。
如果不可能,那么下一个最好的选择是什么?我听说可以使用标题,但不确定如何使用。
谢谢
答案1
这基本上就是黑客攻击,因为您无权访问,所以我能想到的唯一技术上的方法就是代码注入。
另一个可能不太聪明的方法是给服务器管理员(或托管公司)发送电子邮件并询问:-)。
答案2
您将从服务器 HTTP 标头中获得一些信息。例如,我们的 Web 服务器显示
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny3
with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g
mod_perl/2.0.4 Perl/v5.10.0
你可以通过以下网站进行检查SEOConsultants 的检查服务器标头工具或者像 netcat 这样的程序:
yourhost:~% nc someserver.com.au 80
GET /asdf HTTP/1.0
Host: someserver.com.au
HTTP/1.1 404 Not Found
Date: Wed, 28 Oct 2009 11:49:27 GMT
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 ...
Last-Modified: Tue, 27 Oct 2009 12:49:03 GMT
Content-Type: text/html
Connection: close
<html>
...
请注意,该信息可能会被服务器管理员隐藏或替换。
答案3
这取决于你所说的“无法访问”是什么意思。如果你的意思是只能像普通用户一样浏览网站,那么没有。
其中一些信息可能会在标头中公开,例如,Apache 可以将其版本放入其发回的 HTTP 标头中,但即使这样也经常被禁用。
请注意,许多人认为暴露版本和配置信息存在安全风险(因为这样更容易针对特定版本/配置中的漏洞),因此甚至可能故意禁用这些信息。