# 웹 취약점 방법론 {{#include ../banners/hacktricks-training.md}} 모든 웹 펜테스트에서 **취약할 수 있는 여러 숨겨진 및 명백한 장소가 존재합니다**. 이 게시물은 모든 가능한 장소에서 취약점을 검색했는지 확인하기 위한 체크리스트입니다. ## 프록시 > [!TIP] > 요즘 **웹** **애플리케이션**은 일반적으로 어떤 종류의 **중개** **프록시**를 사용하며, 이는 취약점을 악용하는 데 (악용)될 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만, 일반적으로 백엔드에서 추가적인 취약점도 필요합니다. - [ ] [**Hop-by-hop 헤더 악용**](abusing-hop-by-hop-headers.md) - [ ] [**캐시 오염/캐시 기만**](cache-deception/index.html) - [ ] [**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) - [ ] [**프록시 / 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-검색**](xs-search/index.html) 언급된 취약점 중 일부는 특별한 조건이 필요하고, 다른 일부는 단순히 내용이 반영되기만 하면 됩니다. 다음에서 취약점을 빠르게 테스트할 수 있는 흥미로운 폴리글롯을 찾을 수 있습니다: {{#ref}} pocs-and-polygloths-cheatsheet/ {{#endref}} ### **검색 기능** 기능이 백엔드 내에서 어떤 종류의 데이터를 검색하는 데 사용될 수 있다면, 이를 (악용)하여 임의의 데이터를 검색할 수 있습니다. - [ ] [**파일 포함/경로 탐색**](file-inclusion/index.html) - [ ] [**NoSQL 주입**](nosql-injection.md) - [ ] [**LDAP 주입**](ldap-injection.md) - [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md) - [ ] [**SQL 주입**](sql-injection/index.html) - [ ] [**XPATH 주입**](xpath-injection.md) ### **양식, 웹소켓 및 PostMsg** 웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있도록 하는 양식이 있을 때 취약점이 발생할 수 있습니다. - [ ] [**교차 사이트 요청 위조**](csrf-cross-site-request-forgery.md) - [ ] [**교차 사이트 웹소켓 탈취 (CSWSH)**](websocket-attacks.md) - [ ] [**PostMessage 취약점**](postmessage-vulnerabilities/index.html) ### **HTTP 헤더** 웹 서버에서 제공하는 HTTP 헤더에 따라 일부 취약점이 존재할 수 있습니다. - [ ] [**클릭재킹**](clickjacking.md) - [ ] [**콘텐츠 보안 정책 우회**](content-security-policy-csp-bypass/index.html) - [ ] [**쿠키 해킹**](hacking-with-cookies/index.html) - [ ] [**CORS - 잘못된 구성 및 우회**](cors-bypass.md) ### **우회** 일부 특정 기능에서는 우회할 수 있는 몇 가지 해결 방법이 유용할 수 있습니다. - [ ] [**2FA/OTP 우회**](2fa-bypass.md) - [ ] [**결제 프로세스 우회**](bypass-payment-process.md) - [ ] [**캡차 우회**](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-injection/index.html) {{#include ../banners/hacktricks-training.md}}