5주차_Webhacking 과제4 : dreamhack [XSS-2]

2023. 11. 5. 12:05SWLUG/web hacking

 

이번주 마지막 과제이다.

 

xss-2 | 워게임 | Dreamhack

 

xss-2

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

dreamhack.io

 

📌풀이

 

마찬가지로 파일을 다운받고 서버를 생성했다.

 

 

다른 xss문제들과 같은 느낌이다.

vuln(xss) page를 누르니 아무것도 뜨지 않았고 , memo는 다른 것과 마찬가지로 아래와 같이 hello라고 떴다.

 

flag도 다른 것과 같은 모습이었다.

 

다음은 파일을 확인해봤다.

 

 

내용이 아까와 유사한 것 같았다.

그래서 아까와 비슷한 시도!

 

 

그럴리가 없지만 역시나 아니었다.

 

그럼 이건 어떻게 풀지?

근데 아까부터 한가지 의문이 드는게, vuln(xss) page이다.

 

아까처럼 alert(1)이 있는데 1이 뜨지 않는다. 이게 문제를 푸는 힌트인가, 아까와 다른점은 이것밖에 없는 것 같은데 이 이상은 도움이 필요할 것 같아서 찾아봤다.

 

찾아보니까 제공된 소스코드가 xss-1과의 차이점이 없고, 한가지 vlun에서 param을 return하는 코드가 빠져있었다.

vlun에서 script가 우회되는 것인지 alert가 실행되지 않았고, img태그가 실행되는지 확인해봤다.

 

 

 

 

img태그는 반응을 한다.

따라서 script태그를 쓰지않고 onerror 속성을 이용해서 script를 작성하였다.

 

<img src="xss" onerror="location.href='/memo?memo=hello'+document.cookie">

 

 

 

아까와 같이 memo에 들어가면 flag가 뜨는 것을 확인 할 수 있다.

 

 

어떤 문제에서는 script태그를 이용하고 어디서는 img 태그를 이용하고 차이점과 공통점을 인식하면서 공부하면 좋을 것 같다. 

아직은 유형을 다양하게 접해보지 못하고 낯설어서 더 어렵게 느껴지는 것 같긴한대

xss는 모두 다시 이해될때까지 공부해야할 것 같다.

 

 

[ 참고 자료 ]

 

[dreamhack] XSS-2 (tistory.com)

 

[dreamhack] XSS-2

XSS-1과 마찬가지로 XSS 취약점을 찾고 flag를 획득하자. XSS-1과 똑같이 vuln, memo, flag 페이지가 존재한다. 제공된 소스 코드도 vuln에서 param을 return하는 코드가 빠진 거 외엔 XSS-1과 다를 게 없다. #!/usr

pd6156.tistory.com

 

[ 추가 공부 자료 ]

 

XSS(Cross Site Scripting) 공격이란? :: ARGOS (tistory.com)

 

XSS(Cross Site Scripting) 공격이란?

XSS 란? 웹 해킹 공격 중 XSS라는 공격 기법이 있다. Cross Site Scripting의 약자로 CSS라고 하는 것이 맞지만 이미 CSS가 Cascading Style Sheets의 약어로 사용되고 있어 XSS라 한다. XSS는 게시판이나 웹 메일 등

4rgos.tistory.com