Комментарии 41
как вовремя, только вчера об этом подумал, что интересно было бы узнать или попробовать. Сейчас есть с чего начинать :) Меньше телодвижений на первых порах — это гуд. Спасиб
Кстати говоря, обычно XSS-ки на крупных сайтах очень быстро закрываются. Пофигизм в этом отношении я заметил только у вконтакте — пассивная уязвимость около полугода не закрыта.
Рамблер также не спешит штопать дыры :)
Хабравирус внимательно следит за вами!
Интересная статья.
>Причем пассивной уязвимости могут быть подвержены как POST так и GET-параметры
Да и не только. XSS можно провести через cookie, referer, да хоть через host:
www.securityfocus.com/archive/1/498652
Да и не только. XSS можно провести через cookie, referer, да хоть через host:
www.securityfocus.com/archive/1/498652
А как защитится от уязвимости, если в HTML или PHP файлы на сервере внедряется код формата:
iframe src=«хакерская ссылка» width=«1» height=«1»
P.S. высокотехнологичный Хабр съедает html-код. :(
iframe src=«хакерская ссылка» width=«1» height=«1»
P.S. высокотехнологичный Хабр съедает html-код. :(
Это значит, что у кого-то лишнего есть права на запись в ваши HTML- и PHP-файлы ;-)
от этого сайта — уже никак. ну или отключить картинки, скрипты и iframe :) но и то, если враг смог что-то внедрить в php, то уже ничего не спасёт :)
а чтобы не сделали от вашего имени ничего на других, уязвимых, ресурсах нажимать на кнопку «Выход» перед посещением другого сайта :)
т.е. не быть залогиненным на сайте-жертве во время посещения сайта хакера
браузеров ща много развелось, можно ходить на gmail в IE, читать Хабр из Chrome, сидеть в соцсети из Opera, для работы использовать Firefox, а новости и прочие не требующие регистрации сайты читать в Safari. Кому не хватит браузеров, можно установить форки или портабле-версии дополнительно.
Ещё можно под разными юзерами разные сайты открывать :)
а чтобы не сделали от вашего имени ничего на других, уязвимых, ресурсах нажимать на кнопку «Выход» перед посещением другого сайта :)
т.е. не быть залогиненным на сайте-жертве во время посещения сайта хакера
браузеров ща много развелось, можно ходить на gmail в IE, читать Хабр из Chrome, сидеть в соцсети из Opera, для работы использовать Firefox, а новости и прочие не требующие регистрации сайты читать в Safari. Кому не хватит браузеров, можно установить форки или портабле-версии дополнительно.
Ещё можно под разными юзерами разные сайты открывать :)
Можно покурить в сторону — перед заливкой на сервер снимать хеш с файлов и в админке проверять раз в несколько дней, ну или хотябы вес файлов если и внедрят код то он будет весть больше. как то так, наверно.
Меняйте пароль на ftp, у вас его украли. Чистите свой комп от вирусов.
Впоследствии не юзайте ftp, переходите на sftp.
Впоследствии не юзайте ftp, переходите на sftp.
Учебник по HTML и htmlspecialchars() — лучшие друзья программиста!
А если уязвимость в ББ кодах? htmlspecialchars тут уже не поможет, при условии, что нет никаких прверок на валидность линка
[IMG]String.fromCharCode(97,108,101,114,116,40,34,192,32,242,243,242,32,235,254,225,238,233,32,74,83,32,234,238,228,34,41,59)[/IMG]
[IMG]String.fromCharCode(97,108,101,114,116,40,34,192,32,242,243,242,32,235,254,225,238,233,32,74,83,32,234,238,228,34,41,59)[/IMG]
ошибочка,
[IMG]javascript: String.fromCharCode(97,108,101,114,116,40,34,192,32,242,243,242,32,235,254,225,238,233,32,74,83,32,234,238,228,34,41,59)[/IMG]
[IMG]javascript: String.fromCharCode(97,108,101,114,116,40,34,192,32,242,243,242,32,235,254,225,238,233,32,74,83,32,234,238,228,34,41,59)[/IMG]
Пишем грамотный BBCode парсер, а не пытаемся сделать все на трех регулярных выражениях.
Привлекательнее выглядит вариант «берем уже готовый опенсорсный»- они вылизаны сообществом не до идеала, но очень близко, и содержат все необходимые коды. Тестирование своего на оставшиеся в нем дырки- долгий и кропотливый процесс, всех вариантов никогда не учтешь. Как вариант- выдернуть готовый парсер из CMS, впрочем это уже кража кода.
Нене, вот я бы как раз не советовал ставить OpenSource там, где есть взаимодействие с пользовательским вводом, найдут какой-нибудь эксплойт и поломают сайт, лучше уж самому написать если есть такая возможность.
Посмотрите сколько эксплойтов для джумлы или вордпресса было, да их исправляют, но вещи вроде SQL-инъекций надо не исправлять а просто не допускать!
Посмотрите сколько эксплойтов для джумлы или вордпресса было, да их исправляют, но вещи вроде SQL-инъекций надо не исправлять а просто не допускать!
Далеко ходить не нужно. Кто хочет проверить свои силы в поиске уязвимостей — попробуйте найти тут: madduck.habrahabr.ru/blog/66061/ (только комментарии не читайте, там есть ответ)
Следовательно, GET-уязвимость чуть более опасна
Думаю, описка. Судя по следующему предложению, должно было быть POST-уязвимость
Думаю, описка. Судя по следующему предложению, должно было быть POST-уязвимость
GET проще в реализации.
Кроме того, что GET проще в реализации (как уже отметили), еще больше доверия вызывает адрес
yandex.ru/search.php?q=%3C%73%63%72%69%70%74%3E%3C%2F%73%63%72%69%70%74%3E
чем
hackersite.com/yandex-xss.php
ведь нужна переадресация с сайта злоумышленника.
хотя можно использовать домен сильно напоминающий оригинальный
wwwyandex.ru
yondex.ru
что тоже может остаться незамеченым
yandex.ru/search.php?q=%3C%73%63%72%69%70%74%3E%3C%2F%73%63%72%69%70%74%3E
чем
hackersite.com/yandex-xss.php
ведь нужна переадресация с сайта злоумышленника.
хотя можно использовать домен сильно напоминающий оригинальный
wwwyandex.ru
yondex.ru
что тоже может остаться незамеченым
НЛО прилетело и опубликовало эту надпись здесь
Я встречал оба варианта. Просто XSRF запомнился больше по аналогии с CSS/XSS. Добавил вторую аббревиатуру.
en.wikipedia.org/wiki/Cross-site_request_forgery
Cross-site request forgery, also known as a one-click attack or session riding and abbreviated as CSRF («sea-surf»[1]) or XSRF
en.wikipedia.org/wiki/Cross-site_request_forgery
НЛО прилетело и опубликовало эту надпись здесь
Для проверки своего сайта рекомендую этот каталог XSS: ha.ckers.org/xss.html
Проверять лучше из под IE6 (из под него больше всего работает)
Проверять лучше из под IE6 (из под него больше всего работает)
Суть заключается в том, что пользователь, авторизированный на неуязвимом сайте, заходит на уязвимый (или специальную страницу злоумышленника), с которого отправляется запрос на совершение определенных действий.
По вашим суждениям жертва авторизована на неуязвимом сайте, который подвержен CSRF уязвимости.
При CSRF уязвимо веб-приложение, позволяющее совершать определенные действия, требующие особых привилегий, без проверки referer или специальных токенов, передаваемых с каждым запросом.
Потом зашел на сайт злоумышленника или сайт с XSS-уязвимостью
Нередким вариантом является XSS и CSRF на одном и том же хосте.
Также ничего не сказано про DOM-based XSS
По вашим суждениям жертва авторизована на неуязвимом сайте, который подвержен CSRF уязвимости.
Просто CSRF уязвимости, можно сказать, подвержены все сайты по умолчанию и считаются неуязвимыми :) Но, да, Вы правы, немножко неправильно сформулировал свою мысль.
Нередким вариантом является XSS и CSRF на одном и том же хосте.
Да, согласен.
Также ничего не сказано про DOM-based XSS
Это, по сути, пассивная уязвимость, поэтому я особо не акцентировал на ней внимание, но да, следовало все таки о ней упомянуть.
Товарищи, я, конечно, знаю, что упячку тут не особо жалуют. Но сейчас вместо главной страницы я сделал чат. Там сидит толпа хрен пойми кого и постит нигеров и прочее. Но соль как раз в xss. Буду признателен, если кто найдёт дыры в моём парсере :). Только отписывайтесь тут, а не там, пожалуйста.
ну и статья… те, кто ничего не знал про xss итак мало что поняли, а для остальных тем более не открытие.
в чем полезность Вашей статьи? для кого она вообще?
в чем полезность Вашей статьи? для кого она вообще?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
XSS глазами злоумышленника