Web Vulnerabilities Methodology
모든 웹 펜테스트에는 취약할 수 있는 숨겨진 곳과 명백한 곳이 여러 군데 있습니다. 이 게시물은 모든 가능한 곳에서 취약점을 찾았는지 확인하기 위한 체크리스트 역할을 합니다.
프록시
현재 웹 애플리케이션은 일반적으로 중개 프록시를 사용하는데, 이러한 프록시는 취약점을 악용할 수 있습니다. 이러한 취약점은 취약한 프록시가 필요하지만 일반적으로 백엔드에 추가적인 취약점이 필요합니다.
사용자 입력
대부분의 웹 애플리케이션은 나중에 처리될 데이터를 입력할 수 있게 허용합니다. 서버가 예상하는 데이터의 구조에 따라 일부 취약점이 적용될 수도 있고 아닐 수도 있습니다.
반사된 값
입력된 데이터가 응답에 어떤 식으로든 반영될 수 있다면 페이지는 여러 문제에 취약할 수 있습니다.
언급된 취약점 중 일부는 특별한 조건이 필요하며, 다른 것들은 반영만 되면 됩니다. 빠르게 취약점을 테스트하기 위한 몇 가지 흥미로운 polyglot을 찾을 수 있습니다:
pageReflecting Techniques - PoCs and Polygloths CheatSheet검색 기능
기능이 백엔드 내에서 어떤 종류의 데이터를 검색하는 데 사용될 수 있다면 임의의 데이터를 검색하는 데 사용할 수 있습니다.
양식, 웹소켓 및 PostMsgs
웹소켓이 메시지를 게시하거나 사용자가 작업을 수행할 수 있는 양식이 있는 경우 취약점이 발생할 수 있습니다.
HTTP 헤더
웹 서버가 제공하는 HTTP 헤더에 따라 취약점이 존재할 수 있습니다.
우회
일부 특정 기능에서 일부 해결책이 우회에 유용할 수 있습니다.
구조화된 객체 / 특정 기능
일부 기능은 데이터가 매우 특정 형식으로 구조화되어야 하며(예: 언어 직렬화된 객체 또는 XML), 해당 유형의 데이터를 처리해야 하므로 취약할 수 있습니다. 일부 특정 기능은 입력의 특정 형식이 사용될 때 취약할 수도 있습니다(예: 이메일 헤더 삽입).
파일
파일 업로드를 허용하는 기능은 여러 문제에 취약할 수 있습니다. 사용자 입력을 포함한 파일을 생성하는 기능은 예상치 못한 코드를 실행할 수 있습니다. 사용자가 사용자가 업로드한 파일이나 자동으로 생성된 파일을 열면 위험에 노출될 수 있습니다.
외부 식별 관리
기타 유용한 취약점
이러한 취약점은 다른 취약점을 악용하는 데 도움이 될 수 있습니다.
Last updated