Level 1
매우 간단한 XSS 문제이다. alert을 띄우는 것이 목표인데, 아무런 검증을 하지 않아서
<script>alert(1)</script>
를 해주면 '1'이 알림창으로 뜬다.
Level 2
이번에는 <script>
태그가 필터링 되어서 OnClick
핸들러를 이용했다. 버튼을 만들어서 핸들러를 달아주었다.
<button OnClick="alert('OSORI')">눌러</button>
Level 3
코드를 보고 취약점을 찾을 수 있었다. SQL Injection 비슷하게 작동하는 것 같다.
인자로 1.jpg"' OnClick="alert('1')"/> 를 주어서 html 변수가 만드는 img 에 OnClick 핸들러를 넣어주었다.
Level 4
startTimer 에 들어가는 변수인 timer의 내용을 우리 마음대로 주무를 수 있다.
그래서 화면에 나와있는 것 같이 인자를 구성해서 보냈다. 그런데 ; 를 쓸 때 sql injection에서 #을 %23으로 보냈던 것 처럼 ; 도 %3b로 보내줘야지 작동을 했다.
Level 5
저 href에 들어가는 것을 바꿀 수 있어서 그냥 alert은 줬는데 안되서 찾아보니까 href서 javascript를 쓰려면 javascript:function 이렇게 주어야 한다고 한다. 아니면 요즘은 OnClick 을 사용하는 것을 추천한다고 한다. 유저에게 세세한 기능을 숨길 수 있다나..
Level 6
외부 js 파일도 가지고 올 수 있는 것 같아서 내 서버에 js 를 올리고 로드 했으나 아무일도 일어나지 않았다.
그래서 힌트를 보고 풀었는데, 왜 내 파일은 안된건지 이유를 모르겠다.
(추가)
https 가 아니라 http 라서 그렇다는 말이 있다. 그런데 https 는 설정을 하려면 좀 복잡한 것 같았다.
data url scheme 라는 것이 있는데
외부 데이터를 url로 표현하는 방식이라고 한다.
이것을 이용해서 풀이도 가능한 것 같다. js 포맷만 가져오는 루틴이 없기 때문에..
'전공쪽 > 동아리 관련' 카테고리의 다른 글
sfw6 up (0) | 2021.01.07 |
---|---|
sfwebstudy 3,4 write up (0) | 2021.01.02 |
atoi 함수 우회 가능 문자 (0) | 2020.11.30 |
앞으로 스스로 공부할 것 (1) | 2020.10.24 |
동아리 가을 CTF write up (0) | 2020.10.11 |