sarkisssik
@sarkisssik

Hex в запросе mysql. Как это работает?

Здравствуйте. Этот запрос выдает результат

select * from tables where id_banner = 1 or num_blok = 21


а этот запрос (аналогичный в hex) выводит пустоту

select * from tables where id_banner = 0x31206f72206e756d5f626c6f6b203d203231


Как я понял уже, mysql не проводит никаких преобразований, поэтому это два разных запроса.
Тогда объясните почему, читая о безопасности сайта, часто вижу подобные примеры инъекций с использованием hex ?

Спасибо!
  • Вопрос задан
  • 965 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега PHP
♬♬
Шестнадцатиричная запись чисел в MySQL так и работает:
SELECT 0x12 + 0x34;
-- 70

Но самое большое целое в MySQL это 8-байтовое 18446744073709551615.

У вас же записано какое-то слишком большое число. Где-то ошибка – может, ваше значение надо рассматривать как текстовую строку, или разбить его на несколько.

P.S. посмотрите, «что могло пойти не так» запросом SHOW WARNINGS;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы