e_yejun
Jun_ : Pwn
e_yejun
전체 방문자
오늘
어제
  • 분류 전체보기 (240)
    • Profile (1)
    • Pwnable (54)
    • Reversing (14)
    • Network (8)
    • Forensic (10)
    • Embedded (4)
    • Android (2)
    • Web (18)
    • 알고리즘 (42)
    • 프로그래밍 (24)
    • 프로젝트 (6)
    • 1-day (7)
    • CTF (15)
    • 기타 (33)
    • 일기장 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • how2heap
  • 1-day
  • BOF
  • Heap
  • x64
  • wargame
  • dvwa
  • X86
  • dreamhack.io
  • rev-basic

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
e_yejun

Jun_ : Pwn

Web

[Webgoat] XSS 문제풀이

2023. 4. 15. 23:14

Index

Webgoat 설치
Webgoat 서버 실행
2번 문제
7번 문제
10번 문제
11번 문제

Webgoat 설치

https://github.com/WebGoat/WebGoat/releases/tag/v8.2.2

Webgoat 서버 실행

java -jar webgoat-server-8.2.2.jar

2번 문제

XSS가 발생한다면, 클라이언트 사용자의 쿠키 값을 탈취할 수 있다는 것을 확인할 수 있다. 또한, 두개의 탭을 이용하여 콘솔 창에 <script>document.cookie</script> 를 입력해도 쿠키 값이 같다.

문제 2 클리어!

7번 문제

XSS에 취약한 필드를 식별하라고 한다. 입력 창에 6개가 있고, 수량 입력 창은 문자가 입력되지 않았다. 남은 아래 두 입력 창에 <script>alert(1)</script> 을 입력해보니, 신용 카드 번호 입력 창에서 XSS 가 발생한 것을 확인할 수 있다.

문제 7 클리어!

10번 문제

먼저, DOM이란 웹 브라우저가 HTML 페이지를 인식하는 방식을 의미한다. tree 형식으로 태그들이 존재하기 때문에, 키워드를 통해 필요로 하는 작업을 동적으로 추가할 수 있다.

이 문제의 url에서 start.mvc 경로가 나오는데, 이 파일의 소스코드에서 라우팅해주는 부분을 찾아보자.

기존 문제에서는 start.mvc#lesson/CrossSiteScripting.lession/9로 각 문제 페이지를 띄워준다.

왼쪽 사진 아래의 test/:param의 testRoute를 따라 검색해보면, 오른쪽 사진처럼 함수가 선언되어 있다. 이 함수는 lessonController의 testHandler 함수에 param을 넘긴다.

직접 따라가서 확인해보면, console.log를 찍고, 다시 lessonContentView의 showTestParam 함수로 param을 넘긴다.

또 다시 따라가면, 넘어온 param을 html 객체에 ‘test:’ + param으로 띄워버린다.

이때, html안에서 <scirpt>alert(document.cookie)</script>로 XSS 취약점이 발생한다.

http://127.0.0.1:8080/WebGoat/start.mvc#test/hihi%3Cscript%3Ealert(document.cookie)%3C%2fscript%3E

슬래시(/)를 url 인코딩이 된 %2f으로 작성해줘야 한다.

문제 10 클리어!

11번 문제

앞선 문제처럼 DOM 기반 XSS가 동일하게 적용되기 때문에, 문제에 나오는 함수를 직접 실행시켜 함수를 트리거 할 수 있었다.

http://127.0.0.1:8080/WebGoat/start.mvc#test/hihi%3Cscript%3Ewebgoat.customjs.phoneHome()%3C%2fscript%3E

입력하면, 콘솔 창에서 해당 함수가 실행된 것을 확인할 수 있다.

console.log로 넘어온 data를 json 형식으로 찍어준다.

문제에서 말하는 숫자 난수를 정답으로 입력해준다.

문제 11 클리어!


Uploaded by N2T

    'Web' 카테고리의 다른 글
    • [DVWA] CSP 문제풀이
    • [DVWA] CSRF 문제풀이
    • [LOS] Level5 wolfman 풀이
    • [LOS] Level4 orc 풀이
    e_yejun
    e_yejun
    정리노트 •_•

    티스토리툴바