목록분류 전체보기 (151)
김승현
XML이란?Extensible Markup Language (XML)은 데이터를 저장하고 전송하기 위해 설계된 마크업 언어개발자가 임의의 데이터 구조를 텍스트 형식으로 정의하고 표현할 수 있도록 하며, HTML과 유사한 트리 구조 vickieli XML은 사용자 정의 태그 이름을 사용하기 때문에 XML 문서를 자유롭게 구조화 가능-> XML 형식은 웹 애플리케이션의 인증, 파일 전송, 이미지 업로드, HTTP 데이터를 클라이언트와 서버 간에 전송하는 다양한 기능에서 널리 사용 또한 XML은 문서 형식 정의(DTD)를 포함할 수 있음이러한 DTD는 외부 소스에서 로드하거나 DOCTYPE 태그 내에 문서 자체에 선언 가능함예시]>&file; XML 엔터티는 프로그래밍 언어의 변수처..
보호되어 있는 글입니다.
IDOR(Insecure Direct Object References)란?IDOR는 사용자가 객체 ID, 객체 번호 또는 파일 이름을 직접 참조하여 자신에게 속하지 않은 리소스에 접근 가능한 것과 같이 본질적으로 누락된 접근 제어를 의미함 가상 시나리오example.com은 채팅 서비스이고 사용자의 아이디 및 비밀번호는 사이트가 저장하고 있음https://example.com/messages?user_id=1234는 1234라는 아이디를 가진 사용자의 채팅기록을 볼 수 있는 URL임이때 1234를 1233으로 고칠 수 있는데 이때 따로 접근 제어가 없다면 이는 IDOR 취약점이 존재하는 것임 IDOR 취약점의 영향접근하면 안 되는 정보 읽기임의의 정보 수정 및 삭제데이터베이스 객체 외 리소스 또한 영향을..
디렉터리 서비스란? 관리자가 자신의 환경을 논리적, 계층적으로 구성, 관리, 제어 및 액세스할 수 있도록 하는 시스템 소프트웨어이며,객체에 대한 정보를 객체 유형 및 속성별로 쿼리하고 관리할 수 있는 중앙 집중식 보안 데이터베이스 역할을 함더보기온프레미스 환경에 대한 리소스 관리 및 거버넌스를 중앙 집중화하는 데 탁월함→ 다른 시스템/프로그램 작동을 위한 밑바탕이 되곤 함 내부 사용자, 그룹 및 정책을 통해 디렉터리의 개체에 대한 액세스 및 권한을 관리함→서버, 스토리지 및 네트워크 리소스에 대한 보안 액세스를 제공함 도메인의 ID를 인증 및 승인하고 이를 보호하는 중앙 위치를 제공함→관리를 단순화하고 추가 보안 계층 및 문제를 제공함 AWS 디렉터리 서비스는 특정 상황 및 환경에 따라 여러 디렉터..
클릭재킹이란?HTML의 태그를 활용하는 공격 기법임은 하나의 웹 페이지 내에 다른 웹 페이지를 삽입할 수 있도록 해주는 기능을 제공함 iframe태그의 사용 예시온라인 광고인터넷 자원 임베디드동영상, 오디오 etc... 위처럼 유용하게 사용할 수 있으나 보안 취약점( ClickJacking)이 존재할 수 있음-> 이를 방지하기 위해 X-Frame-Options 헤더를 설정하여 특정 사이트에서의 iframe을 제한할 수 있음 클릭재킹 가상 시나리오example.com은 은행 웹사이트로, 사용자가 돈을 송금할 수 있는 페이지를 가지고 있음https://www.example.com/transfer_moneyhttps://www.example.com/transfer_money?recipient=RECIPIEN..
Open Redirect는 사용자가 기존의 사이트가 아닌 외부의 url에 접근하게 속이는 공격 유형임https://www.naver.com/login?redirect=https://attacker.com위와 같이 네이버의 주소로 시작한다면 사용자들은 안심하고 클릭할 가능성 ↑ 방지법리다이렉션을 할 때 악의적인 주소로 접근하는지 확인하도록 해야 함미리 작성된 피해야 할 목록을 확인하여 접근을 방지제공된 URL이 기존의 호스트와 동일한지 확인 Open Redirects 찾는 법Step 1: Look for Redirect Parameters- 리다이렉션에 사용된 파라미터들 확인하기 Step 2: Use Google Dorks to Find Additional Redirect Parameters- 구글 검색..
Blind XSS (블라인드 XSS)Blind XSS는 서버가 악성 스크립트를 저장하고 이 내용을 애플리케이션의 다른 부분이나 아예 다른 애플리케이션에서 실행되는 방식임ex) 테슬라 차량 이름에 xss를 넣었을 때 회사 관리 페이지에서 발생한 xss 공격 Self XSS (셀프 XSS)피해자가 스스로 악성 payload를 입력하도록 유도해야 하는 공격임ex) "이 코드를 해당 페이지에 붙여넣기 해서 실행하세요"
버그를 찾아야 할 때 세부적인 디테일들을 조사해야 할 때가 있음. 이럴 때 사용하는 것이 advanced 구글 검색임 site특정 사이트을 대상으로만 검색할 수 있음ex)print() site:"python.org"- print함수에 대한 내용을 python.org 웹사이트에서만 가져옴 inurlurl에 검색 내용이 포함된 페이지만 검색할 수 있음inurl: "bbs/test.php" - bbs/test.php라는 url을 가진 곳에서만 결과를 가져옴 intitle 제목에 검색 문자열이 포함된 내용만 가져옴intitle:"index of"index of라는 제목을 가진 것들을 가져옴 link지정된 링크를 포함하는 내용을 가져옴link:"www.naver.com" 네이버로 이동하는 링크를 가지고 있는 페이..
A Browser and a Proxy 프록시는 클라이언트와 서버 사이에 위치한 소프트웨어임브라우저랑 웹 서버 사이에 위치하여 상호간 요청 및 응답을 가로채는 역할을 함 책에선 위의 패킷을 예시로 들었는데 이런 경우 burp suite 혹은 ZAP과 같은 웹 프록시 프로그램을 사용하여쿠키의 user_id를 수정하는 시도를 해볼 수 있음ex) Cookie : user_id=admin 다양한 기능들intruder - 요청 자동화 기능 3장에서 짧게 나왔던 브루트포스(무차별 대입)용으로도 사용 가능repeater - 요청을 수정하고 그에 따른 응답을 반복적으로 볼 수 있는 기능동일한 엔드포인트에 여러 시도를 함으로써 취약점이 존재하는지 확인할 때 사용decoder - 요청 및 응답을 해석하는 기능데이터 인코딩..
The Client-Server Model 인터넷은 클라이언트와 서버라는 두 종류의 디바이스로 이루어져 있다 웹페이지는 단순한 리소스들, 파일들의 집합일 뿐이다. -> 예를 들어 간단한 텍스트 파일을 업로드한다면, 이 텍스트 파일은 HTML로 작성되어 있을 것이고 이를 보기 좋게 만들기 위해 CSS가 포함됐을 것이고 이들이 동작하기 위해 JS가 포함되어 있을 것이다. 서버는 클라이언트들에게 웹페이지만 보여주는 게 아니다.-> 만약 API를 사용한다면 다른 시스템의 데이터들을 요청할 수 있다. 이는 통제된 상황 속 다른 시스템 간 상호작용을 할 수 있게 하는 것을 의미함 The Domain Name System 브라우저들과 웹 클라이언트들은 어디에 리소스들이 있는지 찾을 수 있을까?-> 장치..