본문 바로가기

Wargame

[Dream Hack] xss-2 풀이

반응형

2022.09.06 - [Web hacking] - [Dream Hack] xss-1 풀이

 

[Dream Hack] xss-1 풀이

Cross-Site-Scripting 를 이용한 문제로 자바 스크립트 코드에 대한 이해가 필요하다. 나도 처음 해보았기 때문에 많은 시행착오와 여러 정보들를 확인하였다. 문제 분석 입력받은 URL을 확인하는 봇이

taesam.tistory.com

Cross-Site-Scripting 를 이용한 두번째 문제이다.

푸는데 굉장히 어려웠으나 xss 공격 코드에 대한 이해도가 높아졌다고 생각한다.


문제 분석

xss-1 문제와 동일한 정보와 웹 페이지를 제공한다. 

 

각 페이지를 분석해보자.

/vuln page

vuln(xss) page를 클릭한 페이지. URL을 보면 param에 xss 코드가 들어가있으나 xss-1과 다르게 알림창이 뜨지 않는다.

이를 통해 xss가 제대로 동작하지 않음을 짐작할 수 있다.

 

/memo page

memo 페이지이다. url에 memo 파라미터의 값이 누적되어 출력되는 기능이 있다.

 

flag 페이지이다. 입력폼이 /vuln 페이지를 가리키고 있으며 해당 공간에 입력된 url을 피해자가 접근하는 기능이라는 것을 이전 문제에서 알 수 있다.

 

우리가 해야될 일은 /vuln 페이지가 xss 취약점을 동작할 수 있는 다른 입력값을 찾아야한다는 것이다.

<script>alert(1)</script> 가 작동하지 않는 다는 사실은 알고 있으니 이와 다른 여러가지 xss bypass code를 찾아보자


문제 풀이

나는 script를 대소문자도 바꿔보고 중간에도 넣어보고 많은 시행착오를 거쳤으나 자의로는 성공하지 못하고 여러 풀이들을 찾아보았으며 이를 소개해주려고 한다.

script라는 문구가 필터링 될 경우 사용하면 좋은 공격코드이다.

 

<img src=0 onerror=alert(1)>

이미지 태그를 이용한 코드이다. 소스가 0이기 때문에 무조건 에러가 발생하며 에러 발생시 자바스크립트 코드를 실행한다.

 

<svg/onload=alert('XSS')>

벡터 기반 이미지를 만드는 svg를 이용하여 생성되자마자 자바스크립트 코드를 실행한다.

 

<details/open/ontoggle=alert(1)>

열리는 문구를 만드는 details 태그를 이용하여 open을 통해 바로 열리고 열렸을때 자바스크립트 코드를 실행한다.

 

이밖에도 무수히 많은 참신한 xss 공격 코드가 있지만 이정도만 소개하고 문제를 풀어보려고 한다.

 

우선 /vuln 페이지에서 xss 공격이 작동하는지 확인을 진행한다. 나는 svg 태그를 이용한 코드를 사용한다.

입력 결과 alert가 정상적으로 작동하는 것을 확인할 수 있다. 

그렇다면 우리는 이 코드를 이용해서 피해자가 자신의 쿠키를 /memo 사이트의 파라미터로 쓰도록 만들어야한다.

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

location.href 를 이용해 /memo 페이지로 가도록 하고 memo라는 파라미터에 자신의 쿠키를 전달하도록 구성하였다.

/flag 페이지에 입력하여 피해자가 동작하도록 한다.

완료됬다는 메시지가 뜨면 /memo 페이지로 접속해본다

/memo 페이지에 정상적으로 플래그가 나타난 것을 알 수 있다.

 

우리는 이를 통해 <script> 문 뿐만 아니라 다양한 방법으로 xss 공격을 시도할 수 있다는 것을 배웠다.

반응형

'Wargame' 카테고리의 다른 글

[Dream Hack] xss-1 풀이  (0) 2022.09.06
[Dream Hack] Cookie 풀이  (0) 2022.09.01
[Dream Hack] session-basic 풀이  (0) 2022.09.01
[Dream Hack] devtools-sources 풀이  (0) 2022.09.01


Calendar
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Visits
Today
Yesterday