Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SQL-инъекция
 
 автор: holst   (23.01.2006 в 13:01)   письмо автору
 
 

Везде в статьях по САБЖ написано, что объединенные запросы должны возвращать только те столбцы где совпадают типы данных скрипта и инъекции. Но почему тогда если написать этот запрос через phpmyadmin. то там возвращается результат в любом случае, даже если не совпадают типы данных.

Вот такой пример.
Таблица login
id_user(int)
nick(varchar30)
pass(varchar30)
...

И таблица forum_theme
id_theme(int)
id_forum(int)
name_theme(text)
sign(varchar80)
...

У меня на форуме выбираются значения тем по id_forum(int).
"Select * from forum_theme where id_forum=$id_forum";
В phpmyadmin пишу:

Select * from forum_theme where id_forum=1+UNION SELECT+pass+FROM+login+where+id_user=1(для примера).

По идее это не должно сработать. Так как поле pass выбирается вместе с id_theme и типы не совпадают. Но phpmyadmin все равно возвращает нужный результат.
Последняя строка в запросе содержит pass и пустые значения остальных полей.

Почему так???

P.S. Извиняюсь за то, что не туда поместил тему. Инет че то лагает.

   
 
 автор: cheops   (23.01.2006 в 22:20)   письмо автору
 
   для: holst   (23.01.2006 в 13:01)
 

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования