전체 글 (27) 썸네일형 리스트형 CBBH - Web Attacks[Local File Disclosure] 웹 애플리케이션이 사용자 입력으로부터 필터링되지 않은 XML 데이터를 신뢰할 경우, 외부 XML DTD 문서를 참조하고, 새로운 사용자 정의 XML 엔티티를 정의할 수 있다. 새로운 엔티티를 정의하고 해당 값이 웹 페이지에 표시된다면, 외부 엔티티를 정의해 로컬 파일을 포함하도록 만들 수도 있다. 이렇게 하면 백엔드 서버의 파일 내용을 확인할 수 있다.IdentifyingXXE 취약점을 식별하는 첫 번째 단계는 XML 사용자 입력을 허용하는 웹 페이지를 찾는 것이다.연습 페이지에서는 연락처 양식을 입력해 데이터를 보내는 사이트가 존재한다. 해당 사이트에 데이터를 입력하고 Send Data 버튼을 클릭한 후, Burp Suite를 사용해 HTTP 요청을 가로채면 다음과 같은 요청을 확인할 수 있다.해당 양.. CBBH - Web Attacks[Intro to XXE] XML ExternalEntity (XXE) Injection 취약점은 사용자 입력에서 XML 데이터를 적절하게 검증하거나 안전하게 파싱하지 않을 때 발생하며, 이를 악용해 XML의 기능을 사용해 악의적인 행위를 수행할 수 있다. XXE 취약점은 웹 애플리케이션과 백엔드 서버에 상당한 피해를 줄 수 있으며, 민감한 파일을 유출하거나 백엔드 서버를 중단시키는 등의 공격이 가능하다. 이러한 이유로 XXE는 OWASP에서 선정한 상위 10위 안에 드는 웹 보안 취약점에 속한다.XMLExtensible Markup Language인 XML은 HTML과 SGML과 유사한 일반적인 마크업 언어로, 다양한 애플리케이션에서 데이터와 문서를 유연하게 전송하고 저장하는 데 사용된다. XML은 데이터를 표시하는 것이 아니라.. CBBH - Web Attacks[IDOR Prevention] IDOR 취약점이 주로 백엔드 서버의 접근 제어 시스템 설정이 부족하다는 것을 이해할 수 있다. 이러한 취약점을 방지하려면 Object-Level Access Control(객체 수준의 접근 제어) 시스템을 구축하고, 객체를 저장하고 호출할 때 보안 참조 방식을 사용해야 한다.Object-Level Access Control접근 제어 시스템은 웹 애플리케이션의 핵심 요소이며, 웹 애플리케이션의 전체 설계와 구조에 영향을 미칠 수 있다. 따라서, 웹 애플리케이션의 각 영역을 적절하게 제어하려면 역할(Role)과 권한(Permission)을 중앙에서 관리하는 구조를 지원해야 한다.접근 제어는 매우 광범위한 개념이지만, IDOR 취약점과 관련된 객체 수준의 접근 제어(Object-Level Access Con.. CBBH - Web Attacks[Chaining IDOR Vulnerabilities] 이번 취약점은 IDOR Information Disclosure과 IDOR Insecure Function Calls를 이용해 Chaining Attack을 이용하려 한다.일반적으로 API 엔드 포인트에 대한 GET 요청은 사용자의 세부 사항을 반환해야 하므로, 사용자의 세부 정보를 검색할 수 있는지 확인할 수 있다. 또한, 페이지 로드 후 동일한 API 엔드 포인트에 대한 GET 요청으로 사용자 세부 사항을 가져온다.위 사진에서 HTTP 요청에서 보내는 유일한 데이터는 role=employee 쿠키이며, JWT 토큰과 같은 다른 사용자별 인증이 포함되어 있지 않다. 토큰이 존재하더라도, 백엔드 접근 제어 시스템이 이를 요청된 객체 세부 정보와 정확히 비교하지 않으면 여전히 다른 사용자의 정보를 검색할 .. CBBH - Web Attacks[IDOR in Insecure APIs] 이번 IDOR 취약점은 기능 호출 및 API에 관한 취약점을 찾아보려 한다. 이러한 취약점을 악용하면 다른 사용자로 특정 동작을 수행할 수 있다.IDOR Information Disclosure 취약점은 다양한 유형의 리소스를 읽을 수 있고, 해당 취약점을 통해 API 또는 특정 기능을 다른 사용자로 실행할 수 있다.이러한 취약점을 이용하면 다른 사용자의 개인정보를 변경, 다른 사용자의 비밀번호 재설정, 다른 사용자의 결제 정보로 결제 수행, 관리자 권한 획득 후 모든 사용자 계정 탈취 등 사용될 수 있다.실습 웹 페이지는 파일 관리 애플리케이션으로 Edit Profile 기능에서 IDOR 취약점을 사용하려 한다.Identifying Insecure APIs해당 사이트에는 사용자 프로필 기능이 있다..E.. CBBH - Web Attacks[Bypassing Encoded References] 일부 웹 애플리케이션은 객체 값을 해싱하거나 인코딩을 통해 직접적인 열거를 어렵게 한다. 하지만, 이러한 방식도 우회할 가능성이 있다.실습 웹 사이트에 contracts.php 사이트를 확인할 수 있다. 해당 사이트을 통해 계약에 관한 pdf파일을 다운로드 할 수 있다.위 파일을 클릭하면 다운로드할 수 있는데, 다운로드하면 파일 이름은 다음과 같이 표시된다.좀 더 확인하기 위해 네트워크 탭에서 확인해보면 파일 이름이 contract_[Hash].pdf 형식으로 이루어져 있다.또, download.php 페이지를 통해 파일을 다운로드 하는 것을 알 수 있다.해당 해시값은 Base64형식으로 보인다. MQ==를 디코딩하면 1이 된다.HTB 모듈의 해시 cdd96d3cc73d1dbdaffa03cc6cd7339.. CBBH - Web Attacks[Mass IDOR Enumeration] 일부 IDOR 취약점은 쉽게 악용할 수 있지만, 어떤 경우에는 매우 어려울 수 있다. IDOR 취약점을 발견하면, 먼저 기본적인 기법으로 테스트해 추가적인 데이터가 노출될 가능성이 있는지 확인하는 것이 중요하다.IDOR 공격을 수행하려면 웹 애플리케이션이 어떻게 작동하는지, 객체 값이 어떻게 계산하는지, 그리고 접근 제어 시스템이 어떻게 작동하는지를 파악해야 한다. 이러한 지식을 바탕으로 기본적인 방법으로 악용할 수 없는 취약점도 공격할 수 있다.이번에는 기본적인 열거부터 대량 데이터 수집, 그리고 사용자 권한 상승 기법을 알아보려 한다.✅ Enumeration → Mass Data Gathering → User Privilege EscalationInsecure Parameters기본적인 IDOR 취약.. CBBH - Web Attacks[Identifying IDORs] URL Parameter & APIIDOR 취약점을 악용하는 첫 번째 단계는 Direct Object References, DOR 를 식별하는 것이다. 특정 파일이나 리소스를 요청할 때, HTTP 요청을 분석해 URL 파라미터나 API에서 객체 참조를 찾는 것이다. Ex: ?uid=1 or ?filename=file_1.pdf 이러한 객체 참조 값은 주로 URL 파라미터나 API에서 발견되지만, 쿠키와 같은 기타 HTTP 헤더에서도 발견될 수 있다.기본적인 경우, 객체 참조 값을 증가시키면서 다른 데이터에 접근할 수 있는지 테스트할 수 있다. 예를 들어, ?uid=2 또는 ?filename=file_2.pdf 로 변경해 다른 사용자의 데이터를 불러올 수 있는지 확인하는 것이다.또한, Fuzzing 도구를.. 이전 1 2 3 4 다음