PDA

Просмотр полной версии : SQL инъекция, INSERT


Euler
23.03.2013, 04:19
SQL инъекция, UPDATE

Доброго времени суток. Есть запросы вида:


INSERT INTO table ( id, p1 )VALUES(123, 'v1' )
SELECT * FROM table WHERE p1 like 'v1' ORDER BY p1

Значение v1 приходит от пользователя и никак не фильтруется. Можно ли как-то модифицировать произвольное значение в таблице table при помощи инъекции? Последовательные запросы не проходят:


OK -> "SELECT * FROM table WHERE p1 like '1' union ... -- ' ORDER BY p1"
ERROR -> "SELECT * FROM table WHERE p1 like '1'; select ...; -- ' ORDER BY p1"

cat1vo
23.03.2013, 05:52
Поиск решает!

Эксплуатация SQL Injection в Insert, Update, Delete, etc (http://devteev.blogspot.com/2010/02/sql-injection-insert-update-delete-etc.html)

Euler
23.03.2013, 06:06
Поиск решает!
Эксплуатация SQL Injection в Insert, Update, Delete, etc (http://devteev.blogspot.com/2010/02/sql-injection-insert-update-delete-etc.html)


Поиск может и решает, но по ссылке нет ни слова по теме.

cat1vo
23.03.2013, 06:21
Аааа, понял! Не сразу увидел, тут оказывается все куда запущеннее!

INSERT (http://dev.mysql.com/doc/refman/5.5/en/insert.html)

SELECT (http://dev.mysql.com/doc/refman/5.0/en/select.html)

UNION (http://dev.mysql.com/doc/refman/5.0/en/union.html)

А теперь прочтите эти 3 вещи и все сами поймете.

З.Ы. А поиск все таки решает!

Euler
23.03.2013, 15:43
А теперь прочтите эти 3 вещи и все сами поймете.


Ну в явном виде и там ответа нет. А из того что я решения не нашёл не следует, что его нет...