Dyrandy

WhiteHat CTF 2019 - The Camp 본문

CTF WriteUp

WhiteHat CTF 2019 - The Camp

Dyrandy 2019. 9. 30. 18:09

올해 구 WhiteHat (현 사이버작전 경연대회)에 혼자 참여했다.

 

라인 플러스에서 인턴을 하면서 대회를 해서 제정신이 아니었지만 다행히도 웹은 다 풀었다.

대회 문제들 아래와 같았다.

 

사진 1

 

문제들을 풀며 미사일을 무력화 해야하는데 대회 끝까지 한 팀도 못푼걸로 안다.

 

푼 문제 중에 이 문제가 가장 재밌었다.

 

사진 2

The Camp... 친구들 군대 갔을 때 정말 많이 이용했던 사이트다 ㅎㅎ

 

사이트에 접속을 하면 아래와 같이 뜬다.

 

사진 3

요기서 중요한 점은 All letter you sent will be checked by admin이다.

그럼 admin이 확인하니간 XSS를 이용하면 된다.

 

사진 4

 

글을 쓸 때 위와 같이 나온다.

 

 

사진 5

TextArea에서 XSS가 터진다.

사진 6

그리고 글을 작성하면 이렇게 현 주소가 나오는데 safe_view가 걸려있다. 이뜻은 CSP가 걸려 있다는 뜻이다.

CSP를 우회하기 기존 <script>태그가 먹히지 않는다.

 

CSP는 많이 생소한 개념이었지만 이번 대회를 통해 CSP에 대해 알게 되었다.

CSP(Content Security Policy)는 XSS(Cross Site Scripting) 및 데이터 주입 공격을 포함한 특정 유형의 공격을 탐지하고 방어하는 데 도움이 되는 추가 보안 계층이다. 이러한 공격은 데이터 도난에서 사이트 손상, 멀웨어 배포에 이르기까지 모든 것에 사용된다.

 

그래서 CSP우회를 위해 embed 태그를 이용해서 XSS를 삽입하였다.

사진 7

그러면 admin이 위와 같이 내 사이트 접속하는 것을 확인 할 수 있다.

그러면 이것을 이용해서 flag를 탈취해야하는데 소스코드를 보면

 

사진 8

위와 같이 secret.php 주소가 나온다. 많은 사람들이 요기서 헤맨걸로 안다. secret.php에 들어가면 아무것도 없다.

admin의 session으로 들어가도 아무것도 없는데. ".secret.php.swp" 처럼 .swp파일로 들어가면 .swp파일을 다운 받을 수 있다. 그리고 거기에 보면 아래와 같은 주소가 나온다.

 

FLAG!!

 

끝!

Comments