일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Authentication
- Leviathan
- Server Side Request Forgery
- BANDiT
- file upload
- THM
- War Game
- OS Command Injection
- tryhackme
- access control
- Reconnaissance
- SQLi
- privilege escalation
- Recon
- php 로그인 페이지 만들기
- php To Do List
- Cryptography
- php
- php file upload
- FTZ
- 파일 업로드 취약점
- sql injection
- active reconnaissance
- Cookie
- ssrf
- overthewire
- active recon
- php login page
- php 파일 업로드하기
- over the wire
- Today
- Total
R's Hacking Daily Log
Access Control - Lab (5) 본문
Lab - User Id controlled by request parameter with data leakage in redirect
Horizontal privilege escalation에 대한 마지막 Lab을 살펴보자.
앞에서와 비슷하게 parameter를 활용하기 때문에 carlos의 parameter 값을 알아내는 과정이 필요하다.
wiener:peter로 로그인을 해주면 동일하게 api를 확인할 수 있다. 이때
url에서 볼 수 있듯이 id parameter 값이 현재 로그인된 계정이름으로 되어있다.
이 값을 carlos를 수정하면 어떻게 될까? 싶어 해봤더니
허가되지 않은 계정은 resource에 접근 불가하게 처리되기 때문에 login page로
redirection 되는 걸 볼 수 있다.
대충 어떤 흐름으로 시스템이 동작하는 지 봤으니 이번에는 packet을 확인해 보자!!
id parameter = carlos로 get request를 보낸 기록 다음으로 /login page로 redirection 되는 데
/my-account?id=carlos인 request의 response를 확인해 보니..?
사용자에게는 출력되지 않고 바로 login page가 출력되도록 동작하지만
사실 carlos의 my account page 정보가 reponse로 제공되었던 것이다!!
pretty 버전으로 바꾸면 carlos의 api를 복사할 수 있다.
복사한 carlos's api를 입력해 submit 해주면 이번 Lab도 해결이다!
지금까지 parameter로 사용자 계정 페이지에 대한 접근을 통제할 수 있는 상황을 몇 가지 다뤄보았다!
Lab으로 살펴보았듯이 누구나 쉽게, site or packet 어디에선가 확인할 수 있는 형태로 parameter를 사용하게 되면
access control과 관련된 위험성이 높아질 수 있다는 것을 인지하고 넘어가도록 하자.
'Port Swigger > Access Control' 카테고리의 다른 글
Access Control - Lab (6) (0) | 2023.06.20 |
---|---|
Access Control - Lab (4) (0) | 2023.06.19 |
Access Control (2) & Lab (3) (0) | 2023.06.18 |
Access Control - Lab (1) (0) | 2023.06.12 |
Access Control (1) (0) | 2023.06.10 |