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

158 lines
9.1 KiB
Markdown
Raw Normal View History

2024-02-10 21:30:13 +00:00
# 웹 취약점 방법론
2022-09-12 18:43:22 +00:00
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:<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 해킹 배우기 및 연습하기: <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)
2022-09-12 18:43:22 +00:00
<details>
2022-09-12 18:43:22 +00:00
<summary>HackTricks 지원하기</summary>
2024-01-01 17:15:42 +00:00
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
2022-09-12 18:43:22 +00:00
</details>
{% endhint %}
2022-09-12 18:43:22 +00:00
모든 웹 펜테스트에서 **취약할 수 있는 여러 숨겨진 장소와 명백한 장소가 있습니다**. 이 게시물은 가능한 모든 장소에서 취약점을 검색했는지 확인하기 위한 체크리스트입니다.
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
## 프록시
2022-09-12 18:43:22 +00:00
{% hint style="info" %}
요즘 **웹** **애플리케이션**은 일반적으로 어떤 종류의 **중개** **프록시**를 사용하며, 이는 취약점을 악용하는 데 (악용)될 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만, 일반적으로 백엔드에서 추가적인 취약점도 필요합니다.
2022-09-12 18:43:22 +00:00
{% endhint %}
* [ ] [**Hop-by-hop 헤더 악용**](../abusing-hop-by-hop-headers.md)
* [ ] [**캐시 오염/캐시 기만**](../cache-deception.md)
2024-02-10 21:30:13 +00:00
* [ ] [**HTTP 요청 스머글링**](../http-request-smuggling/)
* [ ] [**H2C 스머글링**](../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)
2024-02-10 21:30:13 +00:00
* [ ] [**프록시 / WAF 보호 우회**](../proxy-waf-protections-bypass.md)
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
## **사용자 입력**
2022-09-12 18:43:22 +00:00
{% hint style="info" %}
대부분의 웹 애플리케이션은 **사용자가 나중에 처리될 데이터를 입력할 수 있도록 허용합니다.**\
서버가 기대하는 데이터 구조에 따라 일부 취약점이 적용될 수도 있고 그렇지 않을 수도 있습니다.
2022-09-12 18:43:22 +00:00
{% endhint %}
2024-02-10 21:30:13 +00:00
### **반사된 값**
2022-09-12 18:43:22 +00:00
입력된 데이터가 응답에 반영될 수 있다면, 페이지는 여러 문제에 취약할 수 있습니다.
2022-09-12 18:43:22 +00:00
* [ ] [**클라이언트 측 템플릿 주입**](../client-side-template-injection-csti.md)
* [ ] [**명령 주입**](../command-injection.md)
2022-09-12 18:43:22 +00:00
* [ ] [**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)
2024-02-10 21:30:13 +00:00
* [ ] [**서버 측 포함/엣지 측 포함**](../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)
2022-09-12 18:43:22 +00:00
* [ ] [**XSS**](../xss-cross-site-scripting/)
* [ ] [**XSSI**](../xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](../xs-search.md)
언급된 취약점 중 일부는 특별한 조건이 필요하고, 다른 일부는 단순히 내용이 반영되기만 하면 됩니다. 다음에서 취약점을 빠르게 테스트할 수 있는 흥미로운 폴리글롯을 찾을 수 있습니다:
2022-09-12 18:43:22 +00:00
{% content-ref url="../pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](../pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
2024-02-10 21:30:13 +00:00
### **검색 기능**
2022-09-12 18:43:22 +00:00
기능이 백엔드 내에서 어떤 종류의 데이터를 검색하는 데 사용될 수 있다면, 이를 (악용)하여 임의의 데이터를 검색할 수 있습니다.
2022-09-12 18:43:22 +00:00
* [ ] [**파일 포함/경로 탐색**](../file-inclusion/)
* [ ] [**NoSQL 주입**](../nosql-injection.md)
* [ ] [**LDAP 주입**](../ldap-injection.md)
2022-09-12 18:43:22 +00:00
* [ ] [**ReDoS**](../regular-expression-denial-of-service-redos.md)
* [ ] [**SQL 주입**](../sql-injection/)
* [ ] [**XPATH 주입**](../xpath-injection.md)
2022-09-12 18:43:22 +00:00
### **양식, 웹소켓 및 PostMsgs**
2022-09-12 18:43:22 +00:00
웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있도록 하는 양식이 있을 때 취약점이 발생할 수 있습니다.
2022-09-12 18:43:22 +00:00
* [ ] [**교차 사이트 요청 위조**](../csrf-cross-site-request-forgery.md)
* [ ] [**교차 사이트 웹소켓 탈취 (CSWSH)**](../websocket-attacks.md)
2024-02-10 21:30:13 +00:00
* [ ] [**PostMessage 취약점**](../postmessage-vulnerabilities/)
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
### **HTTP 헤더**
2022-09-12 18:43:22 +00:00
웹 서버에서 제공하는 HTTP 헤더에 따라 일부 취약점이 존재할 수 있습니다.
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
* [ ] [**클릭재킹**](../clickjacking.md)
* [ ] [**콘텐츠 보안 정책 우회**](../content-security-policy-csp-bypass/)
* [ ] [**쿠키 해킹**](../hacking-with-cookies/)
2024-02-10 21:30:13 +00:00
* [ ] [**CORS - 잘못된 구성 및 우회**](../cors-bypass.md)
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
### **우회**
2022-09-12 18:43:22 +00:00
일부 특정 기능에서는 우회하는 데 유용할 수 있는 여러 가지 해결 방법이 있습니다.
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
* [ ] [**2FA/OTP 우회**](../2fa-bypass.md)
* [ ] [**결제 프로세스 우회**](../bypass-payment-process.md)
* [ ] [**캡차 우회**](../captcha-bypass.md)
* [ ] [**로그인 우회**](../login-bypass/)
* [ ] [**경쟁 조건**](../race-condition.md)
* [ ] [**요금 제한 우회**](../rate-limit-bypass.md)
* [ ] [**비밀번호 재설정 우회**](../reset-password.md)
2024-02-10 21:30:13 +00:00
* [ ] [**등록 취약점**](../registration-vulnerabilities.md)
2024-02-10 21:30:13 +00:00
### **구조화된 객체 / 특정 기능**
2022-09-12 18:43:22 +00:00
일부 기능은 **데이터가 매우 특정한 형식으로 구조화되어야** 합니다 (예: 언어 직렬화 객체 또는 XML). 따라서 애플리케이션이 해당 유형의 데이터를 처리해야 하므로 취약점을 식별하기가 더 쉽습니다.\
일부 **특정 기능**은 **특정 형식의 입력이 사용될 경우** 취약할 수 있습니다 (예: 이메일 헤더 주입).
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
* [ ] [**역직렬화**](../deserialization/)
* [ ] [**이메일 헤더 주입**](../email-injections.md)
2024-02-10 21:30:13 +00:00
* [ ] [**JWT 취약점**](../hacking-jwt-json-web-tokens.md)
* [ ] [**XML 외부 엔티티**](../xxe-xee-xml-external-entity.md)
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
### 파일
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
파일 업로드를 허용하는 기능은 여러 문제에 취약할 수 있습니다.\
사용자 입력을 포함한 파일을 생성하는 기능은 예기치 않은 코드를 실행할 수 있습니다.\
사용자가 업로드한 파일이나 사용자 입력을 포함한 자동 생성된 파일을 열면 사용자가 손상될 수 있습니다.
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
* [ ] [**파일 업로드**](../file-upload/)
* [ ] [**수식 주입**](../formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF 주입**](../xss-cross-site-scripting/pdf-injection.md)
2024-02-10 21:30:13 +00:00
* [ ] [**서버 측 XSS**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
2022-09-12 18:43:22 +00:00
### **외부 신원 관리**
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
* [ ] [**OAUTH를 통한 계정 탈취**](../oauth-to-account-takeover.md)
* [ ] [**SAML 공격**](../saml-attacks/)
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
### **기타 유용한 취약점**
2022-09-12 18:43:22 +00:00
2024-02-10 21:30:13 +00:00
이러한 취약점은 다른 취약점을 악용하는 데 도움이 될 수 있습니다.
2022-09-12 18:43:22 +00:00
* [ ] [**도메인/서브도메인 탈취**](../domain-subdomain-takeover.md)
2022-09-12 18:43:22 +00:00
* [ ] [**IDOR**](../idor.md)
2024-02-10 21:30:13 +00:00
* [ ] [**매개변수 오염**](../parameter-pollution.md)
* [ ] [**유니코드 정규화 취약점**](../unicode-injection/)
2022-09-12 18:43:22 +00:00
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:<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 해킹 배우기 및 연습하기: <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)
2022-09-12 18:43:22 +00:00
<details>
2022-09-12 18:43:22 +00:00
<summary>HackTricks 지원하기</summary>
2024-01-01 17:15:42 +00:00
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
2022-09-12 18:43:22 +00:00
</details>
{% endhint %}