WEB

xss-2

yeongsso 2023. 3. 29. 14:53

아무것도 하고 싶지 않은 내모습

영서의 2주차 문제풀이 (2) !


[web]

LEVEL 1 xss-2


문제 정보

여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다,

XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.

 

플래그 형식은 DH{...} 입니다.


1,

드림핵에서 주는 문제파일을 다운로드하고 압축을 푼다.


2.

압축을 푼 파일을 visual studio를 통해 열어주면 보이는 코드이다.


3.

접속 정보 보기를 누른다.


4.

url에 접속해준다.


5.

url 접속화면이다. 이제 다음 페이지를 하나하나 열어보자.


6.

vuln(xss) page의 접속화면이다.

- 바로 전 학습했던 xss-1에서의 화면과 같음을 인지한다.

- xss-1 화면에서와의 차이를 파악할 수 있어야한다.


7.

memo의 접속화면이다.


8.

flag의 접속화면이다.


9.

- 6번 단계에서 지난 시간에 학습했던것과의 차이는 <script>alert(1)</script>가 삽입되어 우회하고 있다는점이다.

- 따라서 우리는 여기에 이미지파일을 넣어 이미지 파일이 정상적으로 구현되는지를 확인해볼것이다.

img 태그를 입력한다.

- <img%20src=""onnerror="location.href=%27/memo?memo=hello!%27">를 왜 입력해야하는지에 대해서는 다양한 문제의 반복적인 풀이를 통하여 익혀주어야한다.


10.

9번의 단계를 통해 memo에서 img 태그가 제대로 적용된것을 확인했다.


11.

onerror 속성을 이용하여 스크립트를 작성한다.

- <img src="" onerror="location.href='/memo?memo='+document.cookie">값을 flag페이지에 입력해주면된다.

- onerror 속성이란 img태그에서 이미지가 없을 경우 대체 이미지를 노출시키는 문법이다.


12.

memo 페이지에 정상적으로 플래그가 나타난것을 확인했다.


13.

플래그값을 복사하여 입력해주면?


14.

정답이다!


★ 이번 문제의 핵심 포인트 ☆

- <script> 코드가 xss 우회공격임을 인지!

- onerror 속성이 무엇인지 인지!