모의해킹 스터디/Week4

Burp Suite Prac 문제 풀이

protruser 2024. 5. 12. 08:37

Burp Suite Prac 1

url을 열고, 먼저 개발자 도구를 열어보았다. header User-Agent에 segfaultDevice라고 넣어서 보내라는 주석이 달려있었다. 요청 헤더 코드를 변경해야 하므로, proxy 서버를 열어 요청 헤더를 변경해주어야 한다.

 

Burp Suite을 열고 proxy 서버를 통해 요청 헤더를 가져왔다.

 

위의 header 코드 중에서 User-Agent 부분을 지우고 segfaultDevice 라고 바꾸고 Forward를 눌러 전송을 하면 이전의 페이지와 달리 "Congrat!!!"가 추가된 것을 볼 수 있다. 다시 개발자 도구를 열어 주석을 보면 최종적으로 Flag를 얻을 수 있다.

응답 페이지

 

 

Burp Suite Prac 2

url을 열어 1번 문제와 마찬가지로 개발자 도구를 살펴 보았다.

 

a.html과 b.html 두 데이터를 잘 확인해보라는 문제였는데, 두 데이터는 모두 html 파일이기 때문에 2_burp/ 경로 상에 각각 파일 이름을 추가하여 확인해 보았다.

 

서버로부터 줄글로 된 페이지를 전달 받을 수 있다. 각각 a.html과 b.html을 복사하여 comparer로 넘기고 두 데이터를 자세히 살펴보았다.

 

Sync view를 이용하여 계속 넘기다보면 노란색 부분으로 추가된 Flag를 얻을 수 있다.

 

 

Burp Suite Prac 3

이전 문제와 달리 이번에는 개발자 도구를 열었지만 아무 정보도 얻을 수 없었다.

 

'아래 페이지에서 flag를 찾으세요! Hint : 1 ~ 20'

url을 열기 전 얻은 힌트를 바탕으로 먼저 Burp Suite으로 요청 코드와 응답 코드를 비교해보았다.

 

요청 헤더를 자세히 들여다보면 Cookie값이 임의의 문자열이 아니라 숫자인 것을 볼 수 있다. 힌트에서 1~20이라고 나와 있었으므로 repeater에서 각각 값을 바꾸면서 요청을 해보았다.

 

최종적으로 13이라는 쿠키 값에서 Flag를 얻을 수 있었다.

 

 

Burp Suite Prac 4

문제 페이지에서 개발자 도구를 열어보면 'You Are Not Admin'이라고 적혀 있다.

Burp Suite에서 요청 코드를 가져오면 쿠키 값을 볼 수가 있다.

level의 값이 dXNlcg%3D%3D라고 적혀있음

 

이 값을 URL -> Base64로 디코딩하면 user이라는 값을 얻을 수 있다.

(물론 값을 드래그하여 Burp Suite의 기능인 Inspector으로도 값을 얻을 수 있음)

 

이전에 작성 되었던 쿠키 값은 user의 값임을 알 수 있다. 페이지에서 admin이 아니라고 하였으므로, admin을 Base64로 인코딩 해주어 값을 변경하고, 서버에 요청을 보낸다.

 

그러면 최종적으로 페이지의 문자 You Are Not Admin이 아니라 다른 데이터가 인코딩 된 문자열로 바뀌게 되는데, 이 값을 base64로 3번 디코딩을 하게 되면 최종적으로 Flag를 얻을 수 있다.

 

 

(추가) %3D라는 값은 URL 디코딩을 하면 얻을 수 있는 값이므로 알아 둘 필요가 있다!