Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: инъекция через юзер агента
 
 автор: hehehe   (01.12.2007 в 22:02)   письмо автору
 
 

при регистрации используется такой скрипт
@mysql_query("insert into `".$px.$utable."` values(0,'$login','$pass','$name','$sex','$bday','$bmonth','$byear','','$live','$mobile','$operator','$email','$wapurl','$weburl','$icq','$about','РџСЂРѕС…РѕР¶РёР№',0,0,'','','','','','',0,0,0,'".time()."','".time()."','".getenv(REMOTE_ADDR)."','".getenv(HTTP_USER_AGENT)."');"); нужно сделать инъекцию через юзер агент чтоб вставить admin=1 ну или что-то вроде того=)) никак недопру... уже пробывал делать какбы второе обращение всеравно невыходит

   
 
 автор: Unkind   (01.12.2007 в 22:07)   письмо автору
 
   для: hehehe   (01.12.2007 в 22:02)
 

А потом что? После injection? Будете весело бегать и всем кричать, что Вы хакер?

   
 
 автор: hehehe   (02.12.2007 в 03:23)   письмо автору
 
   для: Unkind   (01.12.2007 в 22:07)
 

типа того

   
 
 автор: hehehe   (02.12.2007 в 03:30)   письмо автору
 
   для: Unkind   (01.12.2007 в 22:07)
 

зачем? =))

   
 
 автор: SHAman   (01.12.2007 в 22:13)   письмо автору
 
   для: hehehe   (01.12.2007 в 22:02)
 

Ломать сайты не этично и противозаконно. Если вы не можете допереть как написать такой инъект, то вряд ли вы сами даже обнаружили эту уязвимость. Если, конечно, это не код бесплатного движка какого-то...

Зачем что-то ломать, когда сам не можешь что-то построить?

   
 
 автор: hehehe   (02.12.2007 в 03:26)   письмо автору
 
   для: SHAman   (01.12.2007 в 22:13)
 

я обнаружил давно пахожую у себя случайно, а вот теперь в другом скрипте, но тут какаято загвоздка=)) мой запрос был построен по другому тобишь перечислением и можна было тупо вставить ', чегонить='123 а тут совсем так

   
 
 автор: hehehe   (02.12.2007 в 03:29)   письмо автору
 
   для: SHAman   (01.12.2007 в 22:13)
 

а спросил я потому что все перепробывал

даже пробывал закрывать типа
123');"); и далее другой запрос и пробывал просто ', admin='1 ничо непашет вот и спрашиваю

   
 
 автор: exp   (02.12.2007 в 04:33)   письмо автору
 
   для: hehehe   (02.12.2007 в 03:29)
 

Там просто включено magic_quote_gpc

   
 
 автор: Unkind   (02.12.2007 в 10:54)   письмо автору
 
   для: hehehe   (02.12.2007 в 03:29)
 

Замените getenv(HTTP_USER_AGENT) на mysql_escape_string(getenv('HTTP_USER_AGENT'))
Остальные значения нужно эскейпить так же.

   
 
 автор: hehehe   (03.12.2007 в 00:27)   письмо автору
 
   для: Unkind   (02.12.2007 в 10:54)
 

я сделал у себя
$agent=htmlspecialchars($agent, ENT_QUOTES);
но меня интересует как через такое инъекцию сделать;)

   
 
 автор: Unkind   (03.12.2007 в 00:53)   письмо автору
 
   для: hehehe   (03.12.2007 в 00:27)
 

MySQL позволяет вставлять несколько рядов сразу: VALUES (...), (...), ...
Потому можно создать нового пользователя с какими угодно данными.

А Ваш способ обработки данных некорректен. htmlspecialchars() предназначена не для этого.
В случае, если бы запрос влиял на, скажем, бан по User-Agent, то можно было бы стать неуязвимым для него, добавив в конец бекслеш.

   
 
 автор: Gemorroj   (03.12.2007 в 10:18)   письмо автору
 
   для: Unkind   (03.12.2007 в 00:53)
 

хы, до боли знакомый скрипт =)

   
 
 автор: hehehe   (03.12.2007 в 14:57)   письмо автору
 
   для: Gemorroj   (03.12.2007 в 10:18)
 

Чат каспера гггггггггг=))

   
 
 автор: hehehe   (03.12.2007 в 15:00)   письмо автору
 
   для: Gemorroj   (03.12.2007 в 10:18)
 

нащет боли ты верно подметил ;)

   
 
 автор: hehehe   (03.12.2007 в 14:57)   письмо автору
 
   для: Unkind   (03.12.2007 в 00:53)
 

L'), (0,'lllogin2','pass','name','m','13','01','1989','','live','mobile','operator','email','wapurl','weburl','icq','about','Прохожий',1,1,'','','','','','',1,1,1,'','','','' попробывал подставить вот так чот невыходит... точней первый регает, а второй нет... //П.С. спасибо за то что разъяснил я то думаю че за хрень не банится по браузеру=))

   
 
 автор: Unkind   (03.12.2007 в 15:12)   письмо автору
 
   для: hehehe   (03.12.2007 в 14:57)
 

Вообще-то в User-Agent не может быть переводов строк, так как это HTTP-заголовок.

   
 
 автор: hehehe   (04.12.2007 в 01:56)   письмо автору
 
   для: Unkind   (03.12.2007 в 15:12)
 

там нет перевода =)) это форум перевел там обычный пробел

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования