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

9.1 KiB

웹 취약점 방법론

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}

모든 웹 펜테스트에서 취약할 수 있는 여러 숨겨진 장소와 명백한 장소가 있습니다. 이 게시물은 가능한 모든 장소에서 취약점을 검색했는지 확인하기 위한 체크리스트입니다.

프록시

{% hint style="info" %} 요즘 애플리케이션은 일반적으로 어떤 종류의 중개 프록시를 사용하며, 이는 취약점을 악용하는 데 (악용)될 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만, 일반적으로 백엔드에서 추가적인 취약점도 필요합니다. {% endhint %}

사용자 입력

{% hint style="info" %} 대부분의 웹 애플리케이션은 사용자가 나중에 처리될 데이터를 입력할 수 있도록 허용합니다.
서버가 기대하는 데이터 구조에 따라 일부 취약점이 적용될 수도 있고 그렇지 않을 수도 있습니다. {% endhint %}

반사된 값

입력된 데이터가 응답에 반영될 수 있다면, 페이지는 여러 문제에 취약할 수 있습니다.

언급된 취약점 중 일부는 특별한 조건이 필요하고, 다른 일부는 단순히 내용이 반영되기만 하면 됩니다. 다음에서 취약점을 빠르게 테스트할 수 있는 흥미로운 폴리글롯을 찾을 수 있습니다:

{% content-ref url="../pocs-and-polygloths-cheatsheet/" %} pocs-and-polygloths-cheatsheet {% endcontent-ref %}

검색 기능

기능이 백엔드 내에서 어떤 종류의 데이터를 검색하는 데 사용될 수 있다면, 이를 (악용)하여 임의의 데이터를 검색할 수 있습니다.

양식, 웹소켓 및 PostMsgs

웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있도록 하는 양식이 있을 때 취약점이 발생할 수 있습니다.

HTTP 헤더

웹 서버에서 제공하는 HTTP 헤더에 따라 일부 취약점이 존재할 수 있습니다.

우회

일부 특정 기능에서는 우회하는 데 유용할 수 있는 여러 가지 해결 방법이 있습니다.

구조화된 객체 / 특정 기능

일부 기능은 데이터가 매우 특정한 형식으로 구조화되어야 합니다 (예: 언어 직렬화 객체 또는 XML). 따라서 애플리케이션이 해당 유형의 데이터를 처리해야 하므로 취약점을 식별하기가 더 쉽습니다.
일부 특정 기능특정 형식의 입력이 사용될 경우 취약할 수 있습니다 (예: 이메일 헤더 주입).

파일

파일 업로드를 허용하는 기능은 여러 문제에 취약할 수 있습니다.
사용자 입력을 포함한 파일을 생성하는 기능은 예기치 않은 코드를 실행할 수 있습니다.
사용자가 업로드한 파일이나 사용자 입력을 포함한 자동 생성된 파일을 열면 사용자가 손상될 수 있습니다.

외부 신원 관리

기타 유용한 취약점

이러한 취약점은 다른 취약점을 악용하는 데 도움이 될 수 있습니다.

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}