hacktricks/src/pentesting-web/web-vulnerabilities-methodology.md

132 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Методологія веб-уразливостей
{{#include ../banners/hacktricks-training.md}}
У кожному веб-пентесті є **кілька прихованих і очевидних місць, які можуть бути вразливими**. Ця стаття призначена для того, щоб бути контрольним списком, щоб підтвердити, що ви шукали уразливості в усіх можливих місцях.
## Проксі
> [!TIP]
> Сьогодні **веб** **додатки** зазвичай **використовують** якийсь вид **проміжних** **проксі**, які можуть бути (зловжито) використані для експлуатації уразливостей. Ці уразливості потребують наявності вразливого проксі, але зазвичай також потребують додаткової уразливості на бекенді.
- [ ] [**Зловживання заголовками hop-by-hop**](abusing-hop-by-hop-headers.md)
- [ ] [**Отруєння кешу/Обман кешу**](cache-deception/index.html)
- [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
- [ ] [**H2C Smuggling**](h2c-smuggling.md)
- [ ] [**Серверне включення/Включення на краю**](server-side-inclusion-edge-side-inclusion-injection.md)
- [ ] [**Виявлення Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
- [ ] [**XSLT Серверне включення**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
- [ ] [**Обхід захисту проксі / WAF**](proxy-waf-protections-bypass.md)
## **Введення користувача**
> [!TIP]
> Більшість веб-додатків **дозволяють користувачам вводити деякі дані, які будуть оброблені пізніше.**\
> Залежно від структури даних, які сервер очікує, деякі уразливості можуть або не можуть застосовуватися.
### **Відображені значення**
Якщо введені дані можуть бути якимось чином відображені у відповіді, сторінка може бути вразливою до кількох проблем.
- [ ] [**Включення шаблону на стороні клієнта**](client-side-template-injection-csti.md)
- [ ] [**Включення команд**](command-injection.md)
- [ ] [**CRLF**](crlf-0d-0a.md)
- [ ] [**Залишковий розмітка**](dangling-markup-html-scriptless-injection/index.html)
- [ ] [**Включення файлів/Перехід по шляху**](file-inclusion/index.html)
- [ ] [**Відкритий редирект**](open-redirect.md)
- [ ] [**Забруднення прототипу до XSS**](deserialization/nodejs-proto-prototype-pollution/index.html#client-side-prototype-pollution-to-xss)
- [ ] [**Серверне включення/Включення на краю**](server-side-inclusion-edge-side-inclusion-injection.md)
- [ ] [**Серверне підроблення запитів**](ssrf-server-side-request-forgery/index.html)
- [ ] [**Включення шаблону на стороні сервера**](ssti-server-side-template-injection/index.html)
- [ ] [**Зворотне захоплення вкладок**](reverse-tab-nabbing.md)
- [ ] [**XSLT Серверне включення**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
- [ ] [**XSS**](xss-cross-site-scripting/index.html)
- [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
- [ ] [**XS-Search**](xs-search/index.html)
Деякі з вказаних уразливостей вимагають спеціальних умов, інші просто вимагають, щоб вміст був відображений. Ви можете знайти деякі цікаві поліглоти для швидкого тестування уразливостей у:
{{#ref}}
pocs-and-polygloths-cheatsheet/
{{#endref}}
### **Функції пошуку**
Якщо функція може бути використана для пошуку якихось даних на бекенді, можливо, ви зможете (зловжити) нею для пошуку довільних даних.
- [ ] [**Включення файлів/Перехід по шляху**](file-inclusion/index.html)
- [ ] [**NoSQL Injection**](nosql-injection.md)
- [ ] [**LDAP Injection**](ldap-injection.md)
- [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
- [ ] [**SQL Injection**](sql-injection/index.html)
- [ ] [**XPATH Injection**](xpath-injection.md)
### **Форми, WebSockets та PostMsgs**
Коли вебсокет надсилає повідомлення або форма дозволяє користувачам виконувати дії, можуть виникнути уразливості.
- [ ] [**Cross Site Request Forgery**](csrf-cross-site-request-forgery.md)
- [ ] [**Перехоплення WebSocket між сайтами (CSWSH)**](websocket-attacks.md)
- [ ] [**Уразливості PostMessage**](postmessage-vulnerabilities/index.html)
### **HTTP Заголовки**
Залежно від HTTP заголовків, наданих веб-сервером, можуть бути присутніми деякі уразливості.
- [ ] [**Clickjacking**](clickjacking.md)
- [ ] [**Обхід політики безпеки вмісту**](content-security-policy-csp-bypass/index.html)
- [ ] [**Злом Cookies**](hacking-with-cookies/index.html)
- [ ] [**CORS - Неправильні налаштування та обхід**](cors-bypass.md)
### **Обходи**
Є кілька специфічних функцій, де деякі обхідні рішення можуть бути корисними для їх обходу.
- [ ] [**Обхід 2FA/OTP**](2fa-bypass.md)
- [ ] [**Обхід процесу оплати**](bypass-payment-process.md)
- [ ] [**Обхід Captcha**](captcha-bypass.md)
- [ ] [**Обхід входу**](login-bypass/index.html)
- [ ] [**Умова гонки**](race-condition.md)
- [ ] [**Обхід обмеження швидкості**](rate-limit-bypass.md)
- [ ] [**Обхід скидання забутого пароля**](reset-password.md)
- [ ] [**Уразливості реєстрації**](registration-vulnerabilities.md)
### **Структуровані об'єкти / Специфічні функції**
Деякі функції вимагатимуть, щоб **дані були структуровані в дуже специфічному форматі** (як серіалізований об'єкт мови або XML). Тому легше визначити, чи може додаток бути вразливим, оскільки він повинен обробляти такі дані.\
Деякі **специфічні функції** також можуть бути вразливими, якщо використовується **специфічний формат введення** (як ін'єкції заголовків електронної пошти).
- [ ] [**Десеріалізація**](deserialization/index.html)
- [ ] [**Ін'єкція заголовка електронної пошти**](email-injections.md)
- [ ] [**Уразливості JWT**](hacking-jwt-json-web-tokens.md)
- [ ] [**XML Зовнішня сутність**](xxe-xee-xml-external-entity.md)
- [ ] [**Атаки GraphQL**](../network-services-pentesting/pentesting-web/graphql.md)
- [ ] [**Атаки gRPC-Web**](grpc-web-pentest.md)
### Файли
Функції, які дозволяють завантажувати файли, можуть бути вразливими до кількох проблем.\
Функції, які генерують файли, включаючи введення користувача, можуть виконувати непередбачуваний код.\
Користувачі, які відкривають файли, завантажені користувачами або автоматично згенеровані, включаючи введення користувача, можуть бути скомпрометовані.
- [ ] [**Завантаження файлів**](file-upload/index.html)
- [ ] [**Ін'єкція формули**](formula-csv-doc-latex-ghostscript-injection.md)
- [ ] [**Ін'єкція PDF**](xss-cross-site-scripting/pdf-injection.md)
- [ ] [**Серверний XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Зовнішнє управління ідентичністю**
- [ ] [**OAUTH до захоплення облікового запису**](oauth-to-account-takeover.md)
- [ ] [**Атаки SAML**](saml-attacks/index.html)
### **Інші корисні уразливості**
Ці уразливості можуть допомогти в експлуатації інших уразливостей.
- [ ] [**Захоплення домену/піддомену**](domain-subdomain-takeover.md)
- [ ] [**IDOR**](idor.md)
- [ ] [**Забруднення параметрів**](parameter-pollution.md)
- [ ] [**Уразливість нормалізації Unicode**](unicode-injection/index.html)
{{#include ../banners/hacktricks-training.md}}