Web Vulnerabilities Methodology
모든 웹 펜테스트에서 취약할 수 있는 여러 숨겨진 장소와 명백한 장소가 존재합니다. 이 게시물은 가능한 모든 장소에서 취약점을 검색했는지 확인하기 위한 체크리스트입니다.
프록시
요즘 웹 애플리케이션은 보통 중개 프록시를 사용하며, 이는 취약점을 악용하는 데 (남용)될 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만, 일반적으로 백엔드에서 추가적인 취약점도 필요합니다.
사용자 입력
대부분의 웹 애플리케이션은 사용자가 나중에 처리될 데이터를 입력할 수 있도록 허용합니다. 서버가 기대하는 데이터 구조에 따라 일부 취약점이 적용될 수도 있고 그렇지 않을 수도 있습니다.
반사된 값
입력된 데이터가 응답에 반영될 수 있다면, 페이지는 여러 문제에 취약할 수 있습니다.
언급된 취약점 중 일부는 특별한 조건이 필요하고, 다른 일부는 단순히 내용이 반영되기만 하면 됩니다. 다음에서 취약점을 빠르게 테스트할 수 있는 흥미로운 폴리글롯을 찾을 수 있습니다:
Reflecting Techniques - PoCs and Polygloths CheatSheet검색 기능
백엔드에서 어떤 데이터를 검색하는 데 사용될 수 있는 기능이 있다면, 이를 (남용)하여 임의의 데이터를 검색할 수 있습니다.
폼, 웹소켓 및 PostMsgs
웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있도록 하는 폼이 있을 때 취약점이 발생할 수 있습니다.
HTTP 헤더
웹 서버에서 제공하는 HTTP 헤더에 따라 일부 취약점이 존재할 수 있습니다.
우회
일부 특정 기능에서는 우회할 수 있는 몇 가지 방법이 유용할 수 있습니다.
구조화된 객체 / 특정 기능
일부 기능은 데이터가 매우 특정한 형식으로 구조화되어야 합니다 (예: 언어 직렬화 객체 또는 XML). 따라서 애플리케이션이 해당 유형의 데이터를 처리해야 하므로 취약점을 식별하기가 더 쉽습니다. 일부 특정 기능은 특정 형식의 입력이 사용될 경우 취약할 수 있습니다 (예: 이메일 헤더 주입).
파일
파일 업로드를 허용하는 기능은 여러 문제에 취약할 수 있습니다. 사용자 입력을 포함한 파일을 생성하는 기능은 예기치 않은 코드를 실행할 수 있습니다. 사용자가 업로드한 파일이나 사용자 입력을 포함한 자동 생성된 파일을 열면 위험에 처할 수 있습니다.
외부 신원 관리
기타 유용한 취약점
이러한 취약점은 다른 취약점을 악용하는 데 도움이 될 수 있습니다.
Last updated