Порой проскакивают новости, мол найдена дыра в том или ином браузере, позволяющая выполнить что-либо плохое. А каким макаром? Ведь html - не язык программирование, и гипер разметки.
AJAX тут ни при чём. Это всего лишь JavaScript + XMLHttpRequest.
ВНа самом деле не только вышеперечисленное может стать эксплойтом. Firefox 1.5.0.2, например, падал от специального вида HTML-документов. А 3.0 reflow branch и сейчас падает :). Только от других.
Любой браузер это программа, причем программа которая висит в инете. И фаервол допускает пакеты к браузеру, вот передай браузеру команду кривую, и он рухнет.. или еще какую пакость сделает. Можно забомбить 80-й порт пакетами специальными, а абраузер их наслушается и отвалится, если криво написан. И учти что хтмл это разметка текста, но чисто хтмльных страничек уже нет пашти. Везде embded objects, всякие хреновы плагины и даже exe'шники.
>Порой проскакивают новости, мол найдена дыра в том или ином браузере, позволяющая выполнить что-либо плохое. А каким макаром? Ведь html - не язык программирование, и гипер разметки.
> Можно забомбить 80-й порт пакетами специальными, а абраузер их наслушается и отвалится, если криво написан.
Начало хорошее, а дальше пошел гон. Какие ты пакеты собрался браузеру на 80-й порт передават? :) Это _браузер_, а не веб-сервер, и 80-й порт он не слушает ни разу!
> И учти что хтмл это разметка текста, но чисто хтмльных страничек уже нет пашти.
Ну-ну.
> Везде embded objects,
embeded они, я так понимаю, непосредственно в 80-й порт? Без html? :)
вот поэтому в галерее пинают за сидение под рутом, а если такого не наблюдается то линукс до DoS'а довести очень трудно (нормальное ядро при истощении ресурсов машины просто начнет убивать диверсирующие процессы).
>вот поэтому в галерее пинают за сидение под рутом, а если такого не наблюдается то линукс до DoS'а довести очень трудно (нормальное ядро при истощении ресурсов машины просто начнет убивать диверсирующие процессы).
Только не факт, что оно убьет то что нужно. :) Вот на сервачке как-то от случайно запущенного скрипта в 60 экземплярах (в кроне звездочку случайно поставил) сдох MySQL, ничто под рутом запущено не было, таким же образом могут сдохнуть иксы от того, что в фоксе что-то там происходит, ибо иксам это все рисовать.
>Это _браузер_, а не веб-сервер, и 80-й порт он не слушает ни разу!
А что он слушает? у тебя пакеты приходят с какого-то другого порта?
>Ну-ну.
Чего ну-ну? Это у меня на сайте был чистый HTML, без яваскриптов, php и прочего. А щас куда не зайди - или флеш, или активикс, или еще какое говно.
>embeded они, я так понимаю, непосредственно в 80-й порт? Без html? :)
у меня лично (не знаю как у тЪру-никсоидов) в конквероре все плагины работают через 80-й порт, настроки фаервола тоже впускают и выпускают пакеты ТОЛЬКО через 80-й порт. И что, если в страничке есть html, то embded objects вреда нанесети не могут? Типа html начисто отметает такую возможность?
>Давай, запусти свой exe у меня в линухе.
суперэгоцентризм. Причем тут ты и твой линукс? Речь вообще-то, если ты не заметил, об уязвимости в браузерах, а не о тебе и твоем линуксе. Среди браузеров есть даже поделия майкрософта, если ты не знал.
Не помню где уж точно читал в статье, что можно организовать AJAX путём добавления жабаскриптом в нужные моменты времени в конец документа что-то типа <script language="javascript" source="script.js"/>. При этом вроде браузер сразу же этот скрипт подгружает и исполняет. Работает почти везде (хотя и костыль; "прямые" способы типа XmlHttpRequest нестандартны и поэтому работают не везде (XmlHttpRequest к примеру - только на мозилле, у мелкомягких есть какой-то свой аналог...). У них там даже был пример библиотеки для этого дела (на js и пыхпыхе). Сам не пробовал...
> Не помню где уж точно читал в статье, что можно организовать AJAX путём добавления жабаскриптом в нужные моменты времени в конец документа что-то типа <script language="javascript" source="script.js"/>
Либа, реализующая это, называется jshttprequest. Русский сделал, кстати. Штука интересная, если б не одно "но" - если нужно подгружать что-то достаточно часто, то браузер мигает как сумасшедший, все по разному - о оперы появляется тулбар загрузки, у фокса и сполера - в статусе буковки бегут. Сполер еще и щелкает при этом. Поэтому свежие версии jshttprequest при наличии xmlhttprequest в браузере, юзают именно его.
А вообще, xmlhttprequest есть уже у всех. Отставали оперовцы, но сейчас это уже там работает.
>если ты не можешь слушать трафик, идущий к/от атакуемого компа
Нахрена мне его слушать? Мой сервер, и я на сервере отправляю на мой 80-й порт атакуемому компу пакеты. Они их слушает, я их снаряжаю чем хочу, и все - что еще надо? А потом хоть 1025-й, хоть какой порт на атакуемом.
>>Это _браузер_, а не веб-сервер, и 80-й порт он не слушает ни разу!
>А что он слушает? у тебя пакеты приходят с какого-то другого порта?
Кури TCP/IP, чурка.
> у меня лично (не знаю как у тЪру-никсоидов) в конквероре все плагины работают через 80-й порт, настроки фаервола тоже впускают и выпускают пакеты ТОЛЬКО через 80-й порт.
> и по идее в ТЦП/ИП это исключенно. то и есть не возможно.
И тут ошибаешься. В некоторых реализациях TCP/IP было возможно подмешать свои пакеты в чужой поток. Само собой, что это не штатное поведение и не предусмотрено стандартом.
Не хами, болван. Если ты не понял сути ответа - это еще не дает тебе право изображать хамить.
21.11.2006 23:18:39,NORTHONE(85.23.11.178),3327,www.linux.org.ru(217.76.32.61),
http(80),684,160,0:00:00.484,"Connection: www.linux.org.ru(217.76.32.61): http(80) from NORTHONE(85.23.11.178): 3327, 684 bytes sent, 160 bytes received, 0.484 elapsed time."
чего курить? мой хост связывался с www.linux.org.ru по 80-му порту. Если ты думаешь иначе - скажи, только без хамства.
>Извини, я забыл, мы на винфаке?
Пля, ты совсем бальной самим собой. Причем тут винфак? Ты чего прицепился к экзешнику? Я разве сказал что в интернете кроме экзешников ничего нет? exe был упомянут среди прочих, там написано "даже exe". Или люди уже перестали русский язык понимать?
Кто слушает 80-й порт - веб-сервер на linux.org.ru или твой браузер на 85.23.11.178? Хинт - соединение устанавливается между парой source_ip:port и destination_ip:port
Вопрос второй: что нужно сотворить, что б твой браузер во время этого подключения к лору получил tcp-пакеты не от 217.76.32.61, а с другого хоста (или с лора. но не от веб-сервера)?
>Кто слушает 80-й порт - веб-сервер на linux.org.ru или твой браузер на 85.23.11.178?
Браузер отправляет пакет (упрощенно) на лор, и ждет ответа с 80-го порта лора. Нет?
>Хинт - соединение устанавливается между парой source_ip:port и destination_ip:port
я в курсе :)
>Вопрос второй: что нужно сотворить, что б твой браузер во время этого подключения к лору получил tcp-пакеты не от 217.76.32.61, а с другого хоста (или с лора. но не от веб-сервера)?
Добавить в свой пакет чужой адрес и номер последовательности, как минимум.
почему бы и нет? я например учил протоколы очень давно, и возможно чего-то не помню, или помню неправильно. Не всем же быть гениями во всем, а форум для того и есть, чтобы учиться.
>>Кто слушает 80-й порт - веб-сервер на linux.org.ru или твой браузер на 85.23.11.178?
>Браузер отправляет пакет (упрощенно) на лор, и ждет ответа с 80-го порта лора. Нет?
Да. Ждет ответы с 80-го порта lor'а в рамках открытой сессии, ждет на определенном порту. В твоем случае это был 3327. Если просто в этот момент послать на твой комп, на порт 3327 данные, они будут банально проигнорированы.
>>Вопрос второй: что нужно сотворить, что б твой браузер во время этого подключения к лору получил tcp-пакеты не от 217.76.32.61, а с другого хоста (или с лора. но не от веб-сервера)?
>Добавить в свой пакет чужой адрес и _номер последовательности_, как минимум.
Который предсказать от "крайне сложно" до "практически невозможно". И при малейших найденных послаблениях в реализациях tcp/ip-стэка где-либо, поднимается дикий шум.
>что б ткнуть в нужный ман. Что с тобой и сделали, а ты обижаешься
Нет, не обижаюсь. И в ман ткнуть можно, ради бога. Но, учитывая засилие пионерии, у которой знаний еще меньше чем у меня, предпочитаю удостовериться что источник не скомпрометирован. А то помню одно чмо мне пыталось доказать что-то насчет кернела, а я и поверил, думал сам ошибаюсь. Отгадай чего с моим кернелом было потом. Ну раз несколько человек опровергли меня - значит я не прав, пойду учиться.
По ходу - то что ты попытвлся описать (подмена последовательности/адреса) называется tcp hijacking описано только теоретически, в свитчинг енвиронменте практически нереален.
Помницца IE падал от специально созданной gif-ки
Да мало ли чего!
Попробуй написать правильную обработку http
Потом поддержку куков и тп
Потом поддержку JS
И тп и тд...