Blackbox SQLi: MySql «ошибка в вашем синтаксисе SQL», когда больше «UNSIGNED BIGINT» - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь выполнить черный тест на сайте, URL имеет форму http://example.com/a/[integer_value]/something_else

При попытке изменить [integer_value] на кавычки (двойные и одинарные), символы.Это не имеет никакого влияния.Но когда значение [integer_value] превышает значение UNSIGNED BIGTINT, возникает ошибка SQL.То есть:

  1. если 0 <= [integer_value] <= (UNSIGNED BIGTINT, то есть 2 ^ 64-1) => без ошибок

  2. if [integer_value]> UNSIGNED BIGTINT => error: например: «У вас есть ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MySQL, для правильного синтаксиса, который нужно использовать рядом с '18446744073709551616' в строке 1"

Есть идеи?

Это эксплуатируется?

1 Ответ

0 голосов
/ 09 июня 2018

Это, вероятно, не может быть использовано напрямую, , если

  1. , это действительно единственный сценарий, когда входящий запрос может заставить ваш сервер MySQL выдать ошибку, и
  2. веб-сайт выполняет операции SELECT без побочных эффектов только в ответ на эти URL.

Но это большие , если с.Когда вы проводите тестирование «черного ящика», в принципе вы не можете знать, верны ли они.

Плюс, когда ваша система выдает ошибку, она раскрывает информацию о том, как работает веб-сайт.Это не разумно для грязного провода , также известного как общедоступный интернет .

Вам гораздо лучше выполнить некоторую проверку работоспособности этих значений, прежде чем передать ихна ваш сервер MySQL.Например, вы можете попытаться преобразовать входящую строку в 64-битное число.Если конверсия не удалась, вы можете остановиться там.Или вы можете проверить количество цифр в номере и отклонить числа, которые длиннее, чем требует ваше приложение.

Ваш веб-сайт должен отвечать на этот тип URL простым 404 not found, как если былюбой другой запрошенный URL, который он не может обработать.

Ты не параноик.Высоко мотивированные и очень умные преступники прилагают все усилия, чтобы завладеть вашим сайтом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...