PDA

Просмотр полной версии : Порядок строк в результате запроса


otmorozok428
06.03.2008, 12:58
В общем, ситуация - есть такая SQL-инъекция в пятом мускуле:

http://www.site.com/index.php?id=540+AND+1%3Cascii(substring((SELECT+n ame1+FROM+clients+LIMIT+1,1),1,1))

Таблица clients содержит столбцы name1, name2, name3, login, email.

В цикле прогоняем этот запрос, скажем, для 10 клиентов и столбца name1. Затем повторяем запрос для 10 клиентов и столбца name2 и т.д. для каждого из столбцов. Теперь смотрим строки результатов,

name 1 for client1, name 2 for client1, name 3 for client1, login for client4, email for client 7, ну и т.д. Короче, результаты запросов для одного клиента оказываются в разных строках... Что за фигня?

Jokester
06.03.2008, 16:44
1 Как ты понял ,что login от client4,а email от client 7?
2 Как выглядит твой цикл(имхо запрос не совсем обычный для 5 мускула)
3 Будет линк будет проще

otmorozok428
06.03.2008, 17:15
1. Как я понял, что строки уезжают? Ну, например, вот последовательность логин-пароль у меня получилась вот такая:

user1, pass4
user2, pass3
user3, pass1
user4, pass2
user5, pass5

А правильно было бы так:

user1, pass1
user2, pass2
user3, pass3
user4, pass4
user5, pass5

Проверить можно это просто повводив логин-пароль в админку. Ну и в некоторых случаях это просто видно невооруженным глазом...

2. Цикл простой самый... Запускается скрипт и выбирает все значения из первого столбца... Затем скрипт запускается ещё раз и выбирает все значения из второго стобца и т.д. для каждого столбца в таблице...

Jokester
06.03.2008, 20:26
Блин, ни скрипта не запроса ,гадание на кофейной гуще.
Духи говорят что без Order By значения могут идти в случайном порядке :d
Хотя может и врут, опираться то им неначто