웹 클라이언트와 웹 서버로 구성
https://velog.io/@seojungyoo/HTTP-Protocol
모의해킹 등에 사용되는 보안 어플리케이션
Proxy기능으로, HTTP Traffic을 중간에 가로채 요청 확인 및 변조 가능

웹 페이지에 대한 개발, 테스트,디버깅 등을 수행하는데 사용되는 개발자 도구
Front-End에서 작업을 수행하며, Client 코드 분석에 최적화

데이터분석 및 변환 오픈소스 (디코더, 인코더)
https://gchq.github.io/CyberChef/

웹 개발 시, 사용자 정의 HTTP CallBack




웹사이트 접속 시, 웹 브라우저에 저장되는 데이터
▪ 쿠키 값은 클라이언트 웹 브라우저에 저장되어 사용되고 서버에 데이터 요청 시, 쿠키 값을 포함하여 서버에 전송
▪ 사용자 웹 브라우저에 저장하기 때문에, 임의 사용자가 쿠키 값을 조작해서 서버에 데이터 요청을 전송할 수 있음

클라이언트가 웹 서버에 접속(연결)해있는 상태
서버에 사용자 인증 정보를 저장하고, 세션 ID를 생성(난수값)하여 각 클라이언트에 전달
=> 클라이언트는 서버에 요청을 전송할 때 마다 할당 받은 세션 ID로 인증
▪ 세션은 서버에 저장되어 사용되고 데이터에 접근할 수 있는 랜덤한 값(세션ID)을 생성후 클라이언트에 전송
▪ 클라이언트는 웹 서비스를 사용할 때, 서버로부터 전달받은 세션값을 이용해서 이용자인증 및 서비스에 접근할 수 있는 권한을 받음
https://velog.io/@seojungyoo/HTTP-Protocol#cookie--session-
공격자가 이용자의 세션 ID를 획득해, 해당 이용자처럼 행동할 수 있다.
▪ 웹 서비스에 로그인한 이용자의 세션 ID를 탈취
※ 웹 서비스의 기능 : 이용자의 개인정보, 서비스 이용내역 등 모든행위 수행 가능
▪ 웹 서비스에서 세션 탈취는 웹 취약점 유형과 연계하여 발생시킬 수 있음

‣ Client 최초 로그인 과정을 통해, 서버에서 이용자 계정에 대한 세션ID를 할당받아 인증에 사용
‣ 이용자는 할당 받은 세션 정보를 사용 해서, 웹 서비스 기능을 사용
‣ 공격자는 웹 서비스의 취약점을 이용하여, 이용자의 세션을 탈취해 이용자 계정을 획득 및 서비스 기능 사용
초기 세션 ID값이 12300이므로 이용자의 세션 범위 12300~12400 예상


IDOR (Insecure Direct Object References) 취약점
== 단순 파라미터 변조 취약점
== 안전하지 않은 직접 객체 참조
🚫 직접적인 객체 참조를 조작
⇒ 민감 데이터에 액세스 가능, ex.시스템의 리소스(예: 데이터베이스 레코드 또는 파일)
⇒ 저장된 정보를 수정, 삭제 등 행위도 수행 가능
모두 불충분한 접근 제어 및 검증 과정의 문제점으로 인해 발생
객체에 대한 불충분한 접근 제어 및 사용자에게 제공받은 입력 값에 대한 검증이 미흡⭐
이용자 입력을 통해 참조된 객체에 대한 접근 제어 설정이 미흡한 경우, 권한없는 사용자가 중요한 객체에 접근할 수 있음
❗ 권한 검증 로직 누락 및 미구현으로 인해 발생
⑴ 웹 서비스에서 이용자가 자신의 정보를 조회하는 페이지 접근
⑵ 이용자는 특정 파라미터 값으로, 이용자 정보를 조회
⑶ 서버는 전송 받은 파라미터값을 기반으로 접근 및 이용자 정보 제공
객체를 참조하는 ID값이 예측할 수 있거나, 순차적으로 발급되는 경우 추측하여 접근할 수 있다.
❗특정한 값을 공격자가 추측할 수 있어 취약점이 발생
❗서버에 전달하는 값에 대해서 이용자 검증 누락으로 인해 발생
⑴ 은행 서비스를 제공하는 웹 서비스에서, 공격자가 자신의 거래내역을 조회
⑵ 거래내역 조회시, 시퀀스 넘버를 변조해 다른 번호로 거래내역 조회 시도
⑶ 서버는 전송 받은 시퀀스 넘버 값에 대해 이용자 검증없이 처리하여, 서버에서 거래내역 제공
잡은 패킷을 Intruder로 보냄

변조하고 싶은 Payloads 값을 잡음

대입할 값 지정

Length를 보고 특이점이 있는 request에 대한 response 조회





게시글 수정 기능을 이용하여 FLAG 획득
