|
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
С нами:
10483586
Репутация:
5826
|
|
Сообщение от Велемир
Чет я не догнал тему о слешах.Без них никак? Смотрю на твой пример и ничего не понимаю(кроме селект версион() 
* в этой мессаге я тебе некоторые вещи цветом пометил.
Ну смотри переменная $ttitle - ей присваиваешь значение '\';
Т.е. слеш.
Код:
mysql_query("INSERT INTO main SET title='$ttitle', description='$description', url='$url', cat1='$c1', cat2='0', cat3='0', gin=0, gout=0, moder_vote=0, email='$email', type=0;") or die(mysql_error());
Получается следующее:
Код:
mysql_query("INSERT INTO main SET title='\', description='$description', url='$url', cat1='$c1', cat2='0', cat3='0', gin=0, gout=0, moder_vote=0, email='$email', type=0;") or die(mysql_error());
Т.е. он экранирует кавычку идущую после него.
Значит она не будет учавствовать в запросе и будет отображаться как текст, до следующей кавычки (в предыдущем примере я ошибся с $email):
Всё между этими кавычками - будет восприниматься как текст и будет значением колонки url.
Код:
mysql_query("INSERT INTO main SET title='\', description='$description', url='$url', cat1='$c1', cat2='0', cat3='0', gin=0, gout=0, moder_vote=0, email='$email', type=0;") or die(mysql_error());
Теперь ты можешь присвоить переменной $description значение и никакие кавычки тебе не помешают.
Предположим значение $description = ' , url=0, cat1=0, cat2=0, cat3=0,gin=0, gout=0, moder_vote=0, email={СКЛ инъекция}, type=0; -- '
В запросе будет следующее:
Код:
mysql_query("INSERT INTO main SET title='\', description=', url=0, cat1=0, cat2=0, cat3=0,gin=0, gout=0, moder_vote=0, email={СКЛ инъекция}, type=0; -- ', url='$url', cat1='$c1', cat2='0', cat3='0', gin=0, gout=0, moder_vote=0, email='$email', type=0;") or die(mysql_error());
Отбросим лишее (то, что будет за комментировано):
Код:
mysql_query("INSERT INTO main SET title='\', description=', url=0, cat1=0, cat2=0, cat3=0,gin=0, gout=0, moder_vote=0, email={СКЛ инъекция}, type=0; -- ") or die(mysql_error());
Далее объясню тебе как юзать такую инъекцию:
1. Или смотришь на то, что добавилось в поле email (если верить названию - оно где то должно отображаться).
2. Или юзаешь more than 1 row (ищи статью Електа).
P.S. А вообще вот тебе две статьи, милый, иди и изучай:
Атака на WEB. Миссия невыполнима - а там находишь "[ Фрагментированная SQL-inj ]"
more than 1 row
Последний раз редактировалось Grey; 14.06.2009 в 15:14..
|