Просмотр полной версии : XSS в vBulletin
PGArchangel
30.07.2007, 08:16
HttpOnly Cookie Support to Defeat XSS Attacks
In order to prevent XSS attacks using Javascript to
steal cookie data, we have switched several cookies to
use the HttpOnly flag, causing them to become
unavailable to Javascript. PHP has also accepted our
patch to add this feature to PHP 5.2.0 in future.
Нашёл такую заметку о куках в этом форумном движке. Кто-нибудь знает, как это обойти, т.к. хеш и id в document.cookie отсутствуют?
Сразу нашёл статью об обходе:
http://www.inattack.ru/article/563.html
:) Зря тока тему создал. :)
PGArchangel
30.07.2007, 15:24
народ, попробовал скрипты из той статьи, они не сработали. Кто что посоветует?
GrAmOzEkA
30.07.2007, 16:00
Для XSS юзай снифер от kanick и лови куки юзеров.
И вобще на форуме много чего описано про XSS .
PGArchangel
30.07.2007, 17:23
PGArchangel
что и как ты пробовал?
GrAmOzEkA
ты телепат?=\
Я нашёл на форуме 2 xss язвы, о которых пока умолчу, по некоторым причинам, но сразу скажу, что они по ходу - редкость. Мне повезло. Одна из них работает в ИЕ 6 и в ИЕ 7 сразу.
Куки приходят изеров на сниффер приходят все, кроме этих:
bbuserid=траляля; bbpassword=траляля;
Начал выяснять, почему так, облазил все js-скрипты форума, ничего не нашёл. Проверял через alert, в document.cookie таких куков нету.
Потом через поиск начал находить статьи о том, что форум vBulletin неуязвим для XSS-атак. Оказалось так и есть.
Уже давно существует метод защитить определённые кукизы от их чтения в html-документе, т.е. если объявить:
document.cookie = "Cookie=Value";
То такой куких можно прочесть без проблем, но если его объявить так:
document.cookie = "Cookie=Value; httpOnly";
То кукиз, после которого стоит httpOnly прочесть через html-документ станет невозможно, такие кукизы передаются только через http-заголовки.
Кстати, в рунете я обсуждений этой темы не нашёл почему-то, зато куча ссылок на сайты стран СНГ, чьи языки я не знаю ))
И вот как эту преграду одолеть??
PGArchangel
30.07.2007, 17:36
Я тебя спросил что и как ты пробовал
Я говорил про метод Trace который в приведенной тобой статье указан
Попробовал каждый из примеров. Ни один не сработал. Всё время какие-то ошибки выдаёт. После отладки самого простого:
<script>
function sendTrace () {
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("TRACE", "http://mail.ru",false);
xmlHttp.send();
xmlDoc=xmlHttp.responseText;
alert(xmlDoc);
}
</script>
<INPUT TYPE=BUTTON OnClick="sendTrace();" VALUE="Send Trace Request">
Выяснил , что ошибку выдаёт эта строка:
xmlHttp.send();
Почему так? Что там неправильно?
P.S. В остальных примерах кавычки заменить я не забыл.
PGArchangel
15.08.2007, 14:05
Народ, что не отвечаем?
Я тут нашёл язву для ИЕ6:
xmlHttp.open("\r\nTRACE", "http://mail.ru",false);
Но она не действует уже в ИЕ7. Да и глюки у меня с ней - перестала работать на нете, теперь тока на локалхосте почему-то, тестить не могу.
Может кто-нибудь подсказать, как выполнитиь трейс-запрос на Java? Я пробовал по аналогу с тем, как на Файерфоксе можно такой запрос выполнить, но у меня не получилось, т.к. не нашёл функции, которая задаёт метод отправки http-запроса.
Может у кого статьи на эту тему есть или уже готовый апплет? :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot