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

157 lines
12 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.

# Методологія веб-вразливостей
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Підтримайте HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}
У кожному веб-пентесті є **кілька прихованих і очевидних місць, які можуть бути вразливими**. Ця стаття призначена для того, щоб бути контрольним списком, щоб підтвердити, що ви шукали вразливості в усіх можливих місцях.
## Проксі
{% hint style="info" %}
Сьогодні **веб** **додатки** зазвичай **використовують** якийсь вид **проміжних** **проксі**, які можуть бути (зловжито) використані для експлуатації вразливостей. Ці вразливості потребують наявності вразливого проксі, але зазвичай також потребують деякої додаткової вразливості на бекенді.
{% endhint %}
* [ ] [**Зловживання заголовками hop-by-hop**](abusing-hop-by-hop-headers.md)
* [ ] [**Отруєння кешу/Дезорієнтація кешу**](cache-deception/)
* [ ] [**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)
## **Введення користувача**
{% hint style="info" %}
Більшість веб-додатків **дозволяють користувачам вводити деякі дані, які будуть оброблені пізніше.**\
В залежності від структури даних, які очікує сервер, деякі вразливості можуть або не можуть застосовуватися.
{% endhint %}
### **Відображені значення**
Якщо введені дані можуть якимось чином відображатися у відповіді, сторінка може бути вразливою до кількох проблем.
* [ ] [**Включення шаблонів на стороні клієнта**](client-side-template-injection-csti.md)
* [ ] [**Включення команд**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Залишковий розмітка**](dangling-markup-html-scriptless-injection/)
* [ ] [**Включення файлів/Перехід по шляху**](file-inclusion/)
* [ ] [**Відкритий редирект**](open-redirect.md)
* [ ] [**Забруднення прототипу до XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Включення на стороні сервера/Включення на стороні краю**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Підробка запитів на стороні сервера**](ssrf-server-side-request-forgery/)
* [ ] [**Включення шаблонів на стороні сервера**](ssti-server-side-template-injection/)
* [ ] [**Зворотне табулювання**](reverse-tab-nabbing.md)
* [ ] [**Включення XSLT на стороні сервера**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](xss-cross-site-scripting/)
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](xs-search/)
Деякі з вказаних вразливостей вимагають спеціальних умов, інші просто вимагають, щоб вміст був відображений. Ви можете знайти деякі цікаві поліглоти для швидкого тестування вразливостей у:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Функції пошуку**
Якщо функціональність може бути використана для пошуку деяких даних на бекенді, можливо, ви зможете (зловжити) нею для пошуку довільних даних.
* [ ] [**Включення файлів/Перехід по шляху**](file-inclusion/)
* [ ] [**NoSQL Injection**](nosql-injection.md)
* [ ] [**LDAP Injection**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**SQL Injection**](sql-injection/)
* [ ] [**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/)
### **HTTP Заголовки**
В залежності від HTTP заголовків, наданих веб-сервером, можуть бути присутніми деякі вразливості.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Обхід політики безпеки вмісту**](content-security-policy-csp-bypass/)
* [ ] [**Злом Cookies**](hacking-with-cookies/)
* [ ] [**CORS - Неправильні налаштування та обхід**](cors-bypass.md)
### **Обходи**
Є кілька специфічних функцій, де деякі обхідні рішення можуть бути корисними для їх обходу.
* [ ] [**Обхід 2FA/OTP**](2fa-bypass.md)
* [ ] [**Обхід процесу оплати**](bypass-payment-process.md)
* [ ] [**Обхід Captcha**](captcha-bypass.md)
* [ ] [**Обхід входу**](login-bypass/)
* [ ] [**Умова гонки**](race-condition.md)
* [ ] [**Обхід обмеження швидкості**](rate-limit-bypass.md)
* [ ] [**Обхід скидання забутого пароля**](reset-password.md)
* [ ] [**Вразливості реєстрації**](registration-vulnerabilities.md)
### **Структуровані об'єкти / Специфічні функції**
Деякі функції вимагатимуть, щоб **дані були структуровані в дуже специфічному форматі** (наприклад, серіалізований об'єкт мови або XML). Тому легше визначити, чи може додаток бути вразливим, оскільки він повинен обробляти такі дані.\
Деякі **специфічні функції** також можуть бути вразливими, якщо використовується **специфічний формат введення** (наприклад, ін'єкції заголовків електронної пошти).
* [ ] [**Десеріалізація**](deserialization/)
* [ ] [**Ін'єкція заголовків електронної пошти**](email-injections.md)
* [ ] [**Вразливості JWT**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML Зовнішня сутність**](xxe-xee-xml-external-entity.md)
### Файли
Функції, які дозволяють завантажувати файли, можуть бути вразливими до кількох проблем.\
Функції, які генерують файли, включаючи введення користувача, можуть виконувати непередбачуваний код.\
Користувачі, які відкривають файли, завантажені користувачами або автоматично згенеровані, включаючи введення користувача, можуть бути скомпрометовані.
* [ ] [**Завантаження файлів**](file-upload/)
* [ ] [**Ін'єкція формул**](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/)
### **Інші корисні вразливості**
Ці вразливості можуть допомогти в експлуатації інших вразливостей.
* [ ] [**Захоплення домену/піддомену**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Забруднення параметрів**](parameter-pollution.md)
* [ ] [**Вразливість нормалізації Unicode**](unicode-injection/)
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Підтримайте HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}