是否有一种简单的方法可以从外部HTTP请求确定网站背后使用的数据库?即,我发出一个HTTP请求,取回任何来自网络服务器的数据 - 我可以检查其中任何一个并可靠地确定正在使用的数据库吗?我想不到,但想到我会问这个小组。
答案 0 :(得分:10)
没有。同样的答案可能来自静态文件,SQL数据库或火星心灵感应。
答案 1 :(得分:2)
不,并且有充分的理由。如果有它将是一个安全漏洞。除非它是应用程序功能的一部分。
答案 2 :(得分:0)
对于大多数网站,答案是否,但是,您可能会发现显示此信息的安全漏洞。例如,如果站点未针对sql注入攻击进行编码,则可以获取此信息。例如,尝试输入以下内容作为您的用户名:
'; select version();
在共享主机系统上,它们通常没有防火墙保护数据库免受外部连接的影响。
尝试以下方法:
telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
5
5.0.51a—Bjb-W
这告诉您服务器正在运行MySQL 5.0.51a版。在客户端尝试登录之前,MSSQL和Sybase还会识别其版本号。
可能最简单的方法就是问网站管理员。如果您不是黑客,并且该网站不是银行,他们可能会告诉您。