Привет %username%! Как здоровье? Да вот, есть о чем рассказать… Крик души!
Как-то летом я устроил палку-копалку, точнее поучаствовал в PayPal Bug Bounty. Все было замечательно, нашёл xss и тут-же отправил. Похваставшись перед друзьями, я уже был в надежде на оплату и фикс баги, но поддержка что-то долго не отвечала, а знакомые ребята говорили — им так и не ответили или не заплатили за их репорты. Спустя месяц наконец-таки пришёл ответ, мол, всё ништяк, мы передали инфу нашим секьюрити-инженерам… Заглядывая в будущее — скажу, что бага была пофикшена, но оплаты так и не произошло…
Если вам не интересно читать этот текст, смотреть картинки или вы плохо понимаете по русски — посмотрите видео, что в конце статьи. Остальные — давайте продолжим…
#1 XSS
http://alp.paypal.com/a;<script>alert(1)</script>Награда: 0$
Шло время, я нашёл интересный файл на одном из поддоменов ad.paypal.com — который показывает все куки, а ещё она делает это без фильтрации.
Не долго думая — я отправил в поддержку, опять пришло письмо — передают инженерам, а только потом сам ответ, но на этот раз ответили быстро.
#2 XSS
GET /jin/cookie.jsp HTTP/1.1
Host: ad.paypal.com
Cookie: a=<script>alert(1)</script>Награда: 0$
Тысяча чертей, они правы! Ну разве поспоришь? XSS будет работать только если злоумышленник установил cookie ручками или воспользовался какой-нибудь фиксацией сессии типа CRLF + Set-cookie. И оказывается на сайте есть CRLF! https://www.paypal.com/.x%0dSet-Cookie:ololo=122;%20path=/;%20domain=.paypal.com
(спасибо Black2Fan за наводку, у меня был куда более некрасивый вектор).
Отправил, опять передают инженерам, ответ.
Воу-воу-воу! Вы серьёзно? Далее у нас была долгая и нудная переписка, обменялись письмами более десятка раз, в завершении пришло письмо, мол, чувак — сними нам видео, хватит уже с нами спорить, мы видос глянем — а там и посмотрим, опасно это или нет.
Да без проблем! Xss не так интересно, поэтому я объединил две атаки и сделал фейковую страницу paypal прямо на поддомене! Вообще можно было заюзать всплывающее окно на весь экран (типа popup) но я обошёлся фреймом. Обязательно зацените фон рабочего стола (надо было показать его полностью… 😀 ).
#3 CRLF
https://www.paypal.com/.x%0dSet-Cookie:ololo=122;%20path=/;%20domain=.paypal.comНаграда: 0$
Чёрт возьми. Я на экзамене? Им нужно конкретно по шагам показать, что есть уязвимость и она представляет угрозу? А я что сделал?
Если команда Paypal читает (ну всякое же бывает 😉 ) эту статью — объясните как по шагам ещё можно объяснить? Берём ссылочку, вставляем туда %0d%0a
, смотрим header’ы? Я высылал скрины, высылал векторы — им нехватает!
Так что ребята — ломайте Google & Яндекс — всегда платят и быстро отвечают. А PayPal в этом плане — не серьёзная. Кто так же не получал награду, пишите в комментах — насколько я слышал — таких много.
UPD: заблокировали на хабре после поста
Насчет блокировки со стороны Хабра интересно =)
Меня уже 4 месяца игнорируют с XSS + CSRF в Magento (все версии — comunity, enterprise, Go), хотя потихоньку пофиксили все (по крайней мере самые серьезные точно, остальные лень проверять).
Меня то же на одной программе с xss пофиксил в админпонели сайта.
Потом смотрю все пофиксили
Я находил багу, когда можно было отправлять фишинговую ссылку+текст прямо с серверов палки неограниченному кругу лиц, аналогично было в Гугл и Яндекс. Заплатил только Яндекс)