kolesa.kz & krisha.kz — pentest!

b4trjan April 17, 2014
2097
5
1
0

krisha.kz - pentest!

Наверное только абсолютно ленивый человек не знает о таких ресурсах как kolesa.kz и krisha.kz, которые заслуженно считаются наиболее посещаемыми сайтами в своей тематике. Мне очень повезло, ведь мне удалось поработать с ними. И вот небольшой отчет по проверке на стойкость данных ресурсов, опишу некоторые ошибки которые мне разрешили опубликовать.

Хочу сразу заметить, проекты очень большие, наверное самые большие с которыми мне приходилось работать в Казахстане, и опираясь на  это могу сказать что разработчики ежедневно проделывают огромную работу по сохранению безопасности своих ресурсов.

И так начнем с XSS которые наверное есть практически во всех ресурсах КазNet'а (да и не только), найти их довольно не сложно.

Пройдя по ссылке "Аналитика", я запустил HTTP Live Header, что бы отслеживать какими данными обменивается браузер с сервером, ничего особенного я не увидел, но решил попробовать внедрить скрипт в поле page (page=1 указывается номер страницы), ничего не получилось, тогда я попробовал выйти за пределы количества страниц, т.е. страниц всего 14, а я указал 30024 (см.рис выше) и опять попробовал внедрить скрипт, и все получилось :)

------------------------------------------

Активная XSS

Активную XSS удалось обнаружить в комментариях т.е. можно было оставить специально сформированный javascript-сценарий, и каждый кто заходит на страницу (где оставлен комментарий) натыкается на выполнение javascript'a. Я хотел сделать редирект на сторонний ресурс, что бы с эмитировать возможность заражения посетителей сайта вредоносным контентом <script>document.location='http://owasp.org';</script>, но наткнулся на использование белых и черных списков, т.е. выходит так что сделать редирект на сторонний ресурс (за пределы сайта) невозможно, почти невозможно.

На помощь к нам пришел base64

<object data="data:text/html;base64,PHNjcmlwdD5kb2N1bWVudC5sb2NhdGlvbj0naHR0cDovL293YXNwLm9yZyc7PC9zY3JpcHQ+"></object>

javascript зашифровали в base64 и таким вот образом удалось обойти фильтрацию URL-адресов. Все что нужно это оставить наш комментарий на интересующей странице и ждать, когда же кто-нибудь зайдет посмотреть объявление.

------------------------------------------

 

Следующее что удалось обнаружить.

Включение и отключение комментариев чужого пользователя. Ситуация такая, вы разместили объявление но не хотите что бы кто-то комментировал его, и по этой причине отключаете возможность кому-то оставлять комментарии. Так вот отключение комментариев удалось обойти.

С помощью Live HTTP Header, я смог подсмотреть что же происходит при включении и отключении комментариев в личном кабинете, а происходит обращении по адресу:

http://krisha.kz/my/comment-change-status?aid=11230407&status=1

aid=11230407 - номер объявления (можно посмотреть в строке адреса)

status=1 параметр включения/отключения комментариев (0 - выкл, 1 - вкл)


и вот что в конечном счете мы имеем

 

Все что было найдено, было отправлено разработчикам, а те в свою очередь быстро, оперативно и качественно все исправили, и это очень приятно, ведь обычно большинству разработчиков (у нас в стране) нет дела до безопасности. А тут я наткнулся на заинтересованность, сразу видно что люди дорожат своим продуктом и имиджем. Более того, мне даже дали добро на публикацию отрывка из моего отчета, хотя обычно я слышу что-то вроде "Если я увижу это в интернете я тебя найду" :)

 

P.S.

Есть идеи? Пишите: sys32_89@mail.ru

https://vk.com/btuteev

   

Update: 9/06/2014

   

Оцените пост

1

Комментарии

0
Интересно было почитать :)
0
А разве за это не статья 227 ук рк?
0
нет, если проверка была по заказу самого проекта, а не личная инициатива.
0
а сони пикчерс у вас тоже заказ оформляли?
0
с sony все совсем по другому, была найдена уязвимость о ней было сообщено в тех.поддержку и только после исправления, уязвимость была опубликована.
Показать комментарии