R's Hacking Daily Log

Access Control - Lab (4) 본문

Port Swigger/Access Control

Access Control - Lab (4)

hanhxx 2023. 6. 19. 10:16

Lab - User Id controlled by request parameter, with unpredictable user IDs )

저번 글에 이어서 Horizontal escalation과 관련된 Lab을 풀어보자!!

이번 Lab에서도 parameter로 전달되는 값으로 사용자 계정 페이지에 접근할 수 있는 데 그 형태가 조금 다르다.

 

wiener:peter 계정으로 로그인하면 앞에서 살펴본 lab과 동일하게 api key를 확인할 수 있다.

 

 

달라진 점이 있다면 url에서 볼 수 있듯이 id parameter가 사용자 계정명이 아니라 GUID라는 것..!!

 

** GUID란, 

globally unique identifier의 줄임말로 사진에서와 같이 총 {8-4-4-4-12}로 32개의 16진수로 나타내는 고유값이다.

hardware, software, database key, file or username 등으로 활용된다고 한다. 

 

 

Lab을 해결하기 위해서는 carlos 계정의 api key를 알아내야 하는 데 그전에 carlos 계정의 GUID를 알아내야 한다..!

Lab의 home page로 가보면 여러 개의 post를 볼 수 있는 데 이것저것 들어가 보면 

carlos가 작성한 게시글을 발견할 수 있다.

 

 

carlos 글자 부분에 마우스 커서를 올려보면 사진에서처럼 링크가 걸려있는 걸 볼 수 있는 데

링크 내용에 carlos의 id 값이 포함되어 있다.. (OoO)

 

 

carlos의 GUID를 복사해서 

 

 

wiener의 GUID로 request를 보내는 packet을 carlos의 GUID로 수정해서 보내면 

(MY account page에 접근하기 위해서는 password까지 알아야 하는 데 carlos의 비밀번호를 모르는 상태임으로

wiener account로 page를 요청하는 packet을 얻어내 값을 조작하는 것)

 

 

carlos 계정 페이지에 접근할 수 있게 된다. Lab의 목표대로 api key를 복사해 submit 해주면 

 

 

이번 Lab로 해결!!

 

 

이번 Lab에서는 id parameter를 직관적으로 알 수는 없었지만 

site를 둘러보면 누구나 쉽게 얻을 수 있는 정보로 노출되어 있었기 때문에 id 값을 알아내는 게 그리 어렵지 않았다. 

 

또한 /my-account 페이지에 접근하고자 하는 request를 현재 로그인 한 사용자가 요청한 것이지

확인하지 않기 때문에 로그인한 사용자(wiener)와는 다른 사용자의 id(carlos)로도 계정 페이지에 접근이 가능했다.

'Port Swigger > Access Control' 카테고리의 다른 글

Access Control - Lab (6)  (0) 2023.06.20
Access Control - Lab (5)  (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
Comments