일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- XSS
- 자바 Array list
- lord of sqlinjection`
- 스프링구조
- 마이크로서비스 아키택트
- 해킹
- php
- 웹
- 쿠키
- 스프링 특징
- 보안
- 서버
- injection
- sqlinjection
- 세션
- 웹 개발
- 스프링 종류
- 스프링
- Los
- 세션쿠키
- 자바 has-a
- sql
- 클라이언트
- 자바
- Lord of sqlinjection
- lord of sqlinjectin
- 자바 is-a
- 자바 문법
- 소켓
- APM
- Today
- Total
목록XSS (4)
LJ

XSS game level 6 이다. 아래 코드를 보면 js 파일이 해시값을 통해 로드 되는 것을 알 수 있다.(브라우저 주소의 해시값은 # 기호로 시작하는 문자열로, 웹 페이지의 특정 위치나 기능을 참조하는 데 사용) 이를 통해 , 외부 악성 js 파일을 로드 시키면 해결될 것으로 보인다. window.location.hash: 이 속성은 현재 브라우저 주소의 해시값을 문자열로 반환한다. 해시값은 # 기호로 시작하며, 해시값의 내용은 # 이후에 오는 모든 문자열이다. .substr(1): 이 메서드는 문자열의 특정 위치부터 시작하여 원하는 길이의 하위 문자열을 추출한다. 이 경우, 첫 번째 문자는 제외하고 (substr(1)) 나머지 문자열을 추출한다. || "/static/gadge..

xss game level 5 문제이다. 아래 코드를 보면 next 인자 값을 받아 next 인자 값을 가진 링크로 이동하는 것을 볼 수 있다. 그렇다면 signup.html에서 링크를 클릭했을 때 alert 창이 뜨게 하려면 해당 a 태그 링크를 눌렀을 때 동작하게 https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1) next 인자 값에 인젝션을 시도 했을 떄 문제 해결이 된다. ( javascript:alert(1) 코드는 HTML 태그가 아니지만, href 속성 내 javascript: 를 통해 브라우저에서 자바스크립트 코드로 인식되고 실행된다. 이외에 이벤트 핸들러를 통해 많이 사용된다. )

xss game level 3 이다. 코드를 통해서 문제를 분석해 보겠다. 위의 코드를 보면 해당 이미지에서 URL # 뒤 부분의 숫자를 위 이미지 태그에 넣어 태그를 완성하는 코드이다. 그렇다면 num 변수에 저 태그를 닫고 alert 창을 뜨게 하는 코드를 인젝션 하면 문제가 해결된다.

level 4는 다음과 같은 화면이다. 입력창에 스크립트 구문을 넣으면 터질거같은데 소스코드를 확인해 보자 timer.html 부분을 보면 timer 값을 받는 것을 볼 수 있다. '{{ timer }}'는 템플릿 엔진에서 사용되는 표현식이며, 실제 값으로 바꿔 삽입되게 된다. ** 템플릿 엔진은 동적 콘텐츠를 생성하는 데 사용되는 도구** 이때 사용되는 이벤트 핸들러인 onload를 이용해 이미지가 로드 됨과 동시에 starttimer 함수 뒤에 alert창이 뜰 수 있게 변조해볼 것이다. 해당 구문을 넣으면 문제가 해결된다.