2023. 11. 5. 11:08ㆍSWLUG/web hacking
세번째 문제이다.
XSS game (xss-game.appspot.com)
📌 풀이
처음 들어가보니 아래와 같은 화면이 떴다.
수업시간에 실습했던 내용이라 앞에 3개가 풀려있었다.
첫번째 문제이다.
해당문제는 script를 활용해서 쿼리문을 작성, search해야하는 문제이다.
이걸 활용해서 풀어야하는데, 아래 내용을 검색창에 삽입하면된다.
<script>alert('SWLUG');<scipt>
두번째 문제이다.
해당 문제는 img태그를 사용해야하고, onerror를 사용해서 풀이해야한다.
*onerror: JavaScript에서 이미지를 로드할 때, 오류를 처리하기 위한 이벤트를 말한다.
[ 참고 자료 ]
[JavaScript] 이미지 불러오기 오류시 onerror (tistory.com)
<img src= "SWLUG" onerror= " alert('ZZANG')";>
세번째 문제이다.
해당 문제는 이미지가 3개있는데, 특이한 점은 이미지 숫자에 따라서 url도 바뀐다는 것이다. 이점을 이용해서 풀이하면 될것같다.
이게 window.location.hash가 URL 안 의 frame 번호를 구분해주는 것이라고 한다.
숫자뒤에 hi라고 삽입하자마자 에러가 뜬다.
이 부분을 이용해서 문제를 풀었다.
' onerror= ' alert("SWLUG")'
네번째 문제이다.
create timer를 누르니까 로빙바만 떴다.
힌트1 :
해당 문제는 이미지 태그에 onload 이벤트 핸들러가 사용, 내가 입력한 값이 startTimer함수에 입력되는 것을 이용해서 풀어야한다고 한다.
*onload: JavaScript에서 이미지 등 문서의 모든 컨텐츠가 로드된 후에 발생하는 이벤트(DOM의 standard 이벤트)를 말한다.
[ 참고 자료 ]
javaScript - window.onload()란? (velog.io)
힌트2 :
HTML인코더를 사용해야한다.
인코더 : [URL 인코더, 디코더] url인코딩, url디코딩 - 바로 변환해드려요! (tistory.com)
https://xss-game.appspot.com/level4/frame?timer=(‘{{timer}}’); 로 전달 되는 것을 확인할 수 있다.
계속 로딩바만 뜬다.
개발자 도구로 소스 코드를 확인해보니까 위 그림처럼 세미콜론부터 들어가지 못하는 것을 확인할 수 있다.
그래서 세미콜론을 URL인코딩을 하여 %3B으로 삽입하였다.
다섯번째 문제이다. ( 위 내용까지는 지난 수업 Writeup , 아래부터는 이번주 과제이다. )
sign up을 클릭하니 위와 같이 이메일을 넣는 창이 생성됐다.
일단은 나는 swlug@swu.ac.kr을 넣어봤다.
결국은 다시 처음으로 돌아왔다. 별다른 반응이 없다.
그래서 개발자도구를 열어서 여기저기 샅샅히 봐봤지만, 내눈에 들어오는 힌트는 딱히 없었다.
그래서 힌트를 봤다.
내용을 정리해보자면 아래와 같다.
1. 이 레벨의 제목은 힌트입니다.
2. 가입 프레임의 소스를 살펴보고 URL 매개변수가 어떻게 사용되는지 확인하는 것이 유용합니다.
3. 링크를 클릭하면 Javascript가 실행되도록 하려면 (onclick 핸들러를 사용하지 않고), 어떻게 할 수 있을까요?
4. 진짜로 막혀있다면, 이 IETF 초안을 살펴보세요.
1. 제목이 Breaking protocol 이다. 규칙(규약) 을 깨라는 뜻인것 같다.
2. 아래와 같이 확인해봤다.
3. 이 부분에 대한 고민이 진짜 많이 들었다. 그래서 찾아봤다.
onclick핸들러가 뭘까?
: 마우스를 클릭해서 넘기는게 아니고 url로 다음페이지로 넘기라는 것 같다.
이벤트 핸들러 (EventHandler) :: 히찌리의 개 발 새 발 (tistory.com)
https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1);
위와 같이 url을 입력하면 signup을 누르지않고 다음 단계로 넘어가는데 해당 페이지에서 어떤 이메일을 입력하던지
Next를 누르면 clear되는 것을 확인할 수 있다.
위 코드에서 next를 누르면 나오는 값이 이미 정해져있기때문인것 같다.
5주차 내용이 지난 주차 내용들에 비해 많이 어려워서 아직 이해가 덜되었다고 느꼈다.
스스로 할 수 있는 부분이 없어서 많이 찾아봤고, 아직은 이해해야하는 부분이 더 많아서 다음 수업 전까지 계속 학습해야할 것 같다..
[ 참고 자료 ]
XSS-Game - Level 5: Breaking protocol (Writeup/문제풀이) (tistory.com)
'SWLUG > web hacking' 카테고리의 다른 글
5주차_Webhacking 과제4 : dreamhack [XSS-2] (0) | 2023.11.05 |
---|---|
5주차_Webhacking 과제2 : dreamhack [xss-1] (0) | 2023.11.05 |
5주차_Webhacking 과제1 : DOM XSS (0) | 2023.11.04 |
4주차_Webhacking 과제5 : los(orc) (0) | 2023.10.06 |
4주차_Webhacking 과제4 : los(goblin) (0) | 2023.10.05 |