Frontend Security
Рассмотрим некоторые уязвимости, которые могут встречатся в Frontend, а также инструменты, которыми их можно обнаружить.
Cross Site Scripting(xss)
Reflected XSS
- Codegrazer: 7 отраженных межсайтовых скриптов (XSS)
- Построение XSS-вектора, не используя букв - inventropy
- PwnDizzle: XSS, расширения и Content-Types
- История о специфическом XSS для параметров!
- XSS to RCE in ...
- Uber Bug Bounty: превращаем Self-XSS в Good-XSS - Джек
- Мой "public Evernote": Turning Self-XSS into Good XSS v2: Challenge Completed but Not Rewarded
- How I XSS'ed Uber and Bypassed CSP - Efkan - Medium
- Запись обхода XSS "403 запрещено" - Nur A Alam Dipu - Medium
- Reflected Client XSS at Amazon.com - Jonathan Bouman - Medium
- Airbnb - когда обход JSON-кодировки, XSS-фильтра, WAF, CSP и auditor превращается в восемь уязвимостей
- CSP: обход действия формы с помощью отраженного XSS
- Взлом XSS-mitigations с помощью Script Gadgets
- sirdarckcat: 🤷 Unpatched (0day) jQuery Mobile XSS
- '>">123\: [dev.twitter.com] XSS
- [BBP系列二] Uber XSS via Cookie | zhchbin
Stored XSS
- MB blog: Another XSS in Google Colaboratory
- Persistent XSS to Steal Passwords - Paypal
- Как мы захватили аккаунты shopify одним кликом | WeSecureApp | Research & Blog
- Превращение Self-XSS в Non-Self Stored-XSS через проблему авторизации в "PayPal Tech-Support and Brand...
- Account Recovery XSS - Bughunter University
- #152067 Stored XSS на developer.uber.com через компрометацию учетной записи администратора
- Klikki Oy - Yahoo Mail stored XSS
- Klikki Oy - Yahoo Mail stored XSS #2
- AirBnb Bug Bounty: Turning Self-XSS into Good-XSS #2 | Geekboy | Security Researcher
- Как я нашел XSS Google Maps за $5000 (возившись с Protobuf) - Medium
DOM Based XSS
- Обзор DOM XSS
- DOM Based XSS - OWASP
- Тестирование на DOM-based Cross site scripting (OTG-CLIENT-001) - OWASP
- Комбинация методов приводит к DOM Based XSS в Google
- DOM XSS Wiki
- DOM XSS - auth.uber.com
- Minded Security Blog: DOM XSS в библиотеке Google VRView
- #231053 XSS на любом магазине Shopify через злоупотребление структурированным алгоритмом клонирования HTML5 в слушателе postMessage на "/:id/digital_wallets/dialog"
- #262230 Tinymce 2.4.0
Blind XSS
Cheatsheet/Payloads
- Browser's XSS Filter Bypass Cheat Sheet - masatokinugawa/filterbypass Wiki
- cure53/H5SC: HTML5 Security Cheatsheet - коллекция векторов XSS-атак, связанных с HTML5
- Коллекция полезных нагрузок XSS в getto
- cujanovic/Markdown-XSS-Payloads: XSS полезные нагрузки для эксплуатации синтаксиса Markdown
- PayloadsAllTheThings/XSS-инъекция в master - swisskyrepo/PayloadsAllTheThings
Tools
- evilcos/xssor2: XSS'OR - взлом с помощью JavaScript
- DanMcInerney/xsscrapy: XSS spider - обнаружено 66/66 wavsep XSS
- mandatoryprogrammer/xssless: Автоматизированный генератор XSS-payloads, написанный на python.
- stamparm/DSXS: Damn Small XSS Scanner
- JSFuck
- XSS Hunter - лучший способ борьбы с межсайтовым скриптингом
- Unicode Converter
Content Security Policy(CSP)
- Content Security Policy (CSP) - HTTP | MDN
- Content Security Policy Cheat Sheet - OWASP
- Блог h3xStream: Аудит заголовков CSP с помощью Burp и ZAP
- Как использовать Google CSP Evaluator для обхода CSP - блог Томаса Орлиты
- Обход CSP с помощью JPEG-polyglots | Блог
- Chrome XSS Auditor - SVG Bypass - Brute XSS
- Аккуратный обход CSP
Burp Extensions
- PortSwigger/csp-auditor: плагин Burp и ZAP для анализа заголовков CSP
- PortSwigger/csp-bypass: Плагин Burp для обнаружения слабых мест в CSP
Regular Expression
- attackercan/regexp-security-cheatsheet
- RegexOne - Сайт, для изучения регулярных выражений
- ReDoS Checker
- Recheck
Cross Site Request Forgery
- Cross-Site Request Forgery (CSRF) - OWASP
- Тестирование на CSRF (OTG-SESS-005) - OWASP
- Как я в очередной раз обошел CSRF в Facebook! | Dynamic World
- Получение токенов входа для учетной записи Outlook, Office или Azure - Jack
- Messenger.com Site-Wide CSRF - Jack
- Кража токенов доступа Facebook с помощью CSRF в потоке входа на устройство - Josip Franjković
- Facebook GraphQL CSRF - Это не те access_tokens, которые вы ищете
- #44146 Выполнение вызовова API от имени другого пользователя (обход защиты CSRF)
- Как я обнаружил ошибку Remote Code Execution, затрагивающую серверы Facebook
JSON CSRF
- #245346 JSON CSRF на POST Heartbeats API
- Эксплуатация JSON Cross Site Request Forgery (CSRF) с помощью Flash
- Ubiquiti Bug Bounty: UniFi v3.2.10 Generic CSRF Protection Bypass - RCE Security
Tools
Angular JS
- Philippe De Ryck on Twitter: "Как OWASP top 10 влияет на приложения #Angular? Эта #шпаргалка по безопасности охватывает набор лучших практик для 5 наиболее актуальных проблем для @Angular-приложений"
- Angular - Top 10 Security Best Practices vis-a-vis Security Risks - Reskilling IT
- XSS без HTML: Client-Side Template Injection with AngularJS | Blog
- DOM-based AngularJS sandbox escapes | Blog
- Angular JS Security Videos
- XSS без HTML: инъекция в шаблоны со стороны клиента с помощью AngularJS | Блог
React JS
postMessage vulnerabilities
Базовый материал для изучения
- Exfiltration using postMessage
- HTML5 Security: Cross Domain Messaging
- postmessage-asiaccs16.pdf
- Контрольный список проверки безопасности postMessage()
- HTML5 Security Part 2/3 - postMessage Vulnerabilities - YouTube
- Охота на уязвимости postMessage
Прохождения лабораторных
- Автозаполнение LinkedIn раскрывает имя посетителя, его электронную почту сторонним сайтам | Lightning Security
- Тайна postMessage - Рон Чан
- The pitfalls of postMessage
- PostMessage XSS на миллионе сайтов
- #207042 Кража данных контактной формы на www.hackerone.com с помощью Marketo Forms XSS с использованием postMessage frame-jumping и jQuery-JSONP
- #217745 XSS в $shop$.myshopify.com/admin/ через "Button objects" во вредоносном приложении
- Read&Write Chrome Extension Same Origin Policy (SOP) Bypass Vulnerability | The Hacker Blog
- #231053 XSS в любом магазине Shopify через злоупотребление структурированным алгоритмом клонирования HTML5 в postMessage listener на "/:id/digital_wallets/dialog"
Flash Security
Базовый материал для обучения
Writeups
- WordPress Flash XSS в flashmediaelement.swf
- XSS и CSRF через SWF-апплеты (SWFUpload, Plupload) " Neal Poole
- Advanced Flash Vulnerabilities in Youtube - Part 1 | OpnSec
- Advanced Flash Vulnerabilities in Youtube - Part 2 | OpnSec
- Расширенные Flash-уязвимости в Youtube - часть 3 | OpnSec
- Расширенные Flash-уязвимости в Youtube - часть 4 | OpnSec
- #176308 Wordpress.com REST API oauth bypass via Cross Site Flashing
- #182160 XSS в IE11 на portswigger.net через Flash
Tools
Dangling Markup
- Обход CSP с помощью DOM-based dangling markup | Blog
- #87040 XSS на конечной точке авторизации/аутентификации OAuth
- #199779 Google Analytics может быть использован как обход CSP для утечки данных на hackerone.com
- GitHub's post-CSP journey | GitHub Engineering
- AppSec EU 2017 So We Broke All CSPs You Won't Guess What Happened Next by Michele Spagnuolo - YouTube
JSON Hijacking
- Web Security Geeks - The Security Blog: JSON Hijacking
- JSON hijacking for the modern web | Blog
- AJAX Security Cheat Sheet - OWASP
Web Sockets
Tools
Relative Path Overwrite
- Обнаружение и эксплуатация уязвимостей в импорте таблиц стилей с относительным путем (PRSSI) | Блог
- RPO
- Несколько методов эксплуатации RPO
CSS Injection
- Testing for CSS Injection (OTG-CLIENT-005) - OWASP
- Yahoo Login Protection Seal - Stored CSS Injection | Brett Buerhaus
- Exfiltration via CSS Injection - d0nut - Medium
- dxa4481/cssInjection: Кража CSRF-токенов с помощью CSS-инъекции (без iFrames)
ClickJacking
- Clickjackings in several Google Products
- Кликджекинг на Google MyAccount стоимостью 7 500$ - Apapedulimu