2009-10-23 2 views
0

Есть ли простой способ определить, какая база данных используется за сайтом из внешнего HTTP-запроса? т. е. я делаю HTTP-запрос, возвращаю все данные из веб-сервера - могу ли я проверить это и надежно определить, какая БД используется? Я не думаю, но подумал, что я попрошу эту группу.Определение БД в использовании из HTTP-запроса

ответ

10

Нет. Такой же ответ может исходить из статического файла, базы данных SQL или марсианского телепата.

+4

Да, но какой * тип * марсианского? –

+0

Зеленый тип, красные блинчики не делают http –

2

Нет и по уважительной причине. Если бы это была дыра в безопасности. Если это не часть функциональности приложения.

+0

Спасибо ... вот что я подумал, но решил, что я проверю. –

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 также идентифицируют свой номер версии до того, как клиент попытается войти в систему.

Возможно, самый простой способ - просто задать вопрос веб-мастеру. Если ваш не хакер, а сайт не банк, они, скорее всего, вам скажут.

Смежные вопросы