Я знаю, что с ростом количества SQL-инъекций веб-сайты вынуждены ужесточать меры безопасности. Я понимаю, что «придурки» обычно так и поступают.

Почему, например, php?id=x представляет возможную угрозу для сайта против, скажем, index.php?

1 ответ1

0

Что ж, как только вы выставите параметры пользователю, злоумышленник знает, что он будет проанализирован. В этом случае show.php?id=foo может использоваться для загрузки сайта с именем foo .

В коде это может выглядеть так:

$site = $_GET['id'];
content_query = "SELECT content FROM sites WHERE name ='" + $site + "';";
# do some manual SQL queries
# then output the content
echo("<div id='content'>" . $content . "</div>");

Очевидно, что здесь параметр подвержен внедрению SQL-кода, когда злоумышленник может легко вывести или удалить всю базу данных.

Или на сайте могут быть "скрытые" сайты, на которые нет публичной ссылки, но которые все же доступны. Скажем, у вас есть общедоступные сайты с идентификаторами от 1 до 100, тогда злоумышленник может догадаться, что у вас также есть сайт по адресу show.php?id=101 который вы не хотели ссылаться.

Обратите внимание, что в этом контексте "придурок" - это просто тот, кто не может защитить свой сайт должным образом и обнаружит, что через Google - это не название вектора атаки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .