ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dreamhack - xss-2
    wargame/Dreamhack 2024. 2. 7. 18:18

    [LEVEL 1 - xss-2 - web]

     

     

     

    문제 환경에 접속해보면 이전 xss-1 문제와 똑같지만 한 가지 다른 점이 있다.

     

     

    /vuln에 가보면 아까 1이라고 뜨던 창이 아예 뜨지 않는다.

    <script> 태그가 실행이 안되는 것을 알 수 있다.

     

     

     

     

    vuln.html

     

    vuln.html을 보면 innerHTML로 처리하기 때문에 자바스크립트가 외부에서 삽입되는 것이 차단되어 있다는 걸 알 수 있다.

     

     

    문제 해결 위해 필요한 xss 우회 관련 사전 지식이 없어서 공부를 먼저 시작하고 워게임을 풀었다.

     

     

    우선 iframe 태그는 원래 알고 있던 것이긴 한데, 간단히 설명을 적자면 iframe은 inline frame의 약자로, 현재 렌더링되고 있는 문서 안에 또 다른 페이지를 삽입할 수 있는 기능을 제공한다.

     

     

    xss 우회하는 방법에는 여러 가지가 있지만, URL의 javascript 스키마를 이용한 방법으로 풀었다.

    javascript: 스키마는 URL 로드 시 자바스크립트 코드를 실행할 수 있게 한다.

     

     

     

     

     

    따라서 익스플로잇 코드를 작성하되, <script> 태그를 사용하지 않고 입력하면 된다.

     

     

     

     

    <iframe src = "javascript: location.href = '/memo?memo=' + document.cookie">

     

    위와 같이 익스플로잇 코드를 작성한다.

     

     

    또는 <img> 태그의 onerror 속성을 이용하여 아래와 같이 작성해도 된다.

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

     

     

     

     

    그러면 good 창이 뜨고 memo로 다시 가보면 플래그가 출력되어 있다.

     

     

     

     

     

    플래그를 획득했다!

     

    'wargame > Dreamhack' 카테고리의 다른 글

    Dreamhack - csrf-2  (0) 2024.02.20
    Dreamhack - csrf-1  (0) 2024.02.20
    Dreamhack - xss-1  (0) 2024.02.07
    Dreamhack - session-basic  (0) 2024.01.31
    Dreamhack - cookie  (0) 2024.01.31
Designed by Tistory.