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

177 lines
10 KiB
Markdown
Raw Normal View History

# 웹 취약점 방법론
2024-04-06 18:36:54 +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)
2024-04-06 18:36:54 +00:00
<details>
2024-04-06 18:36:54 +00:00
<summary>HackTricks 지원하기</summary>
2024-04-06 18:36:54 +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을 제출하여 해킹 트릭을 공유하세요.**
2024-04-06 18:36:54 +00:00
</details>
{% endhint %}
2024-04-06 18:36:54 +00:00
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**웹 앱, 네트워크 및 클라우드에 대한 해커의 관점을 얻으세요.**
**실제 비즈니스에 영향을 미치는 치명적이고 악용 가능한 취약점을 찾아보고 보고하세요.** 20개 이상의 맞춤형 도구를 사용하여 공격 표면을 매핑하고, 권한 상승을 허용하는 보안 문제를 찾아내며, 자동화된 익스플로잇을 사용하여 필수 증거를 수집하여 귀하의 노력을 설득력 있는 보고서로 전환하세요.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
모든 웹 펜테스트에는 **취약할 수 있는 여러 숨겨진 장소와 명백한 장소가 있습니다.** 이 게시물은 가능한 모든 장소에서 취약점을 검색했는지 확인하기 위한 체크리스트입니다.
2024-04-06 18:36:54 +00:00
## 프록시
{% hint style="info" %}
요즘 **웹** **애플리케이션**은 일반적으로 어떤 종류의 **중개** **프록시**를 사용하며, 이는 취약점을 악용하는 데 (악용)될 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만, 일반적으로 백엔드에서 추가적인 취약점도 필요합니다.
2024-04-06 18:36:54 +00:00
{% endhint %}
* [ ] [**Hop-by-hop 헤더 악용**](abusing-hop-by-hop-headers.md)
* [ ] [**캐시 오염/캐시 기만**](cache-deception/)
2024-04-06 18:36:54 +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-04-06 18:36:54 +00:00
* [ ] [**프록시 / WAF 보호 우회**](proxy-waf-protections-bypass.md)
## **사용자 입력**
2024-04-06 18:36:54 +00:00
{% hint style="info" %}
대부분의 웹 애플리케이션은 **사용자가 나중에 처리될 데이터를 입력할 수 있도록 허용합니다.**\
데이터의 구조에 따라 서버가 기대하는 경우 일부 취약점이 적용될 수도 있고 그렇지 않을 수도 있습니다.
2024-04-06 18:36:54 +00:00
{% endhint %}
### **반사된 값**
2024-04-06 18:36:54 +00:00
입력된 데이터가 응답에 반영될 수 있는 경우, 페이지는 여러 문제에 취약할 수 있습니다.
2024-04-06 18:36:54 +00:00
* [ ] [**클라이언트 측 템플릿 주입**](client-side-template-injection-csti.md)
* [ ] [**명령 주입**](command-injection.md)
2024-04-06 18:36:54 +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-04-06 18:36:54 +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)
2024-04-06 18:36:54 +00:00
* [ ] [**XSS**](xss-cross-site-scripting/)
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](xs-search/)
언급된 취약점 중 일부는 특별한 조건이 필요하고, 다른 일부는 단순히 내용이 반영되기만 하면 됩니다. 다음에서 취약점을 빠르게 테스트할 수 있는 흥미로운 폴리글롯을 찾을 수 있습니다:
2024-04-06 18:36:54 +00:00
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **검색 기능**
2024-04-06 18:36:54 +00:00
기능이 백엔드 내에서 어떤 종류의 데이터를 검색하는 데 사용될 수 있는 경우, 이를 (악용)하여 임의의 데이터를 검색할 수 있습니다.
2024-04-06 18:36:54 +00:00
* [ ] [**파일 포함/경로 탐색**](file-inclusion/)
* [ ] [**NoSQL 주입**](nosql-injection.md)
* [ ] [**LDAP 주입**](ldap-injection.md)
2024-04-06 18:36:54 +00:00
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**SQL 주입**](sql-injection/)
* [ ] [**XPATH 주입**](xpath-injection.md)
2024-04-06 18:36:54 +00:00
### **양식, 웹소켓 및 PostMsg**
2024-04-06 18:36:54 +00:00
웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있도록 하는 양식이 있을 때 취약점이 발생할 수 있습니다.
2024-04-06 18:36:54 +00:00
* [ ] [**교차 사이트 요청 위조**](csrf-cross-site-request-forgery.md)
* [ ] [**교차 사이트 웹소켓 탈취 (CSWSH)**](websocket-attacks.md)
2024-04-06 18:36:54 +00:00
* [ ] [**PostMessage 취약점**](postmessage-vulnerabilities/)
### **HTTP 헤더**
2024-04-06 18:36:54 +00:00
웹 서버에서 제공하는 HTTP 헤더에 따라 일부 취약점이 존재할 수 있습니다.
2024-04-06 18:36:54 +00:00
* [ ] [**클릭재킹**](clickjacking.md)
* [ ] [**콘텐츠 보안 정책 우회**](content-security-policy-csp-bypass/)
* [ ] [**쿠키 해킹**](hacking-with-cookies/)
* [ ] [**CORS - 잘못된 구성 및 우회**](cors-bypass.md)
2024-04-06 18:36:54 +00:00
### **우회**
2024-04-06 18:36:54 +00:00
일부 특정 기능에서는 우회할 수 있는 몇 가지 해결 방법이 유용할 수 있습니다.
2024-04-06 18:36:54 +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-04-06 18:36:54 +00:00
* [ ] [**등록 취약점**](registration-vulnerabilities.md)
### **구조화된 객체 / 특정 기능**
2024-04-06 18:36:54 +00:00
일부 기능은 **데이터가 매우 특정한 형식으로 구조화되어야** 합니다 (예: 언어 직렬화 객체 또는 XML). 따라서 애플리케이션이 해당 종류의 데이터를 처리해야 하므로 취약점을 식별하기가 더 쉽습니다.\
일부 **특정 기능**은 **특정 형식의 입력이 사용될 경우** 취약할 수 있습니다 (예: 이메일 헤더 주입).
2024-04-06 18:36:54 +00:00
* [ ] [**역직렬화**](deserialization/)
* [ ] [**이메일 헤더 주입**](email-injections.md)
* [ ] [**JWT 취약점**](hacking-jwt-json-web-tokens.md)
2024-04-06 18:36:54 +00:00
* [ ] [**XML 외부 엔티티**](xxe-xee-xml-external-entity.md)
2024-04-06 18:36:54 +00:00
### 파일
파일 업로드를 허용하는 기능은 여러 문제에 취약할 수 있습니다.\
사용자 입력을 포함한 파일을 생성하는 기능은 예기치 않은 코드를 실행할 수 있습니다.\
사용자가 업로드한 파일이나 사용자 입력을 포함한 자동 생성된 파일을 열면 손상될 수 있습니다.
2024-04-06 18:36:54 +00:00
* [ ] [**파일 업로드**](file-upload/)
* [ ] [**수식 주입**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF 주입**](xss-cross-site-scripting/pdf-injection.md)
2024-04-06 18:36:54 +00:00
* [ ] [**서버 측 XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **외부 신원 관리**
2024-04-06 18:36:54 +00:00
* [ ] [**OAUTH를 통한 계정 탈취**](oauth-to-account-takeover.md)
* [ ] [**SAML 공격**](saml-attacks/)
### **기타 유용한 취약점**
이러한 취약점은 다른 취약점을 악용하는 데 도움이 될 수 있습니다.
* [ ] [**도메인/서브도메인 탈취**](domain-subdomain-takeover.md)
2024-04-06 18:36:54 +00:00
* [ ] [**IDOR**](idor.md)
* [ ] [**매개변수 오염**](parameter-pollution.md)
* [ ] [**유니코드 정규화 취약점**](unicode-injection/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**웹 앱, 네트워크 및 클라우드에 대한 해커의 관점을 얻으세요.**
**실제 비즈니스에 영향을 미치는 치명적이고 악용 가능한 취약점을 찾아보고 보고하세요.** 20개 이상의 맞춤형 도구를 사용하여 공격 표면을 매핑하고, 권한 상승을 허용하는 보안 문제를 찾아내며, 자동화된 익스플로잇을 사용하여 필수 증거를 수집하여 귀하의 노력을 설득력 있는 보고서로 전환하세요.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
2024-04-06 18:36:54 +00:00
<details>
2024-04-06 18:36:54 +00:00
<summary>HackTricks 지원하기</summary>
2024-04-06 18:36:54 +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을 제출하여 해킹 트릭을 공유하세요.**
2024-04-06 18:36:54 +00:00
</details>
{% endhint %}