[Web Security] XSS(Cross Site Script) - Reflected XSS(반사형)
[Web Security] XSS(Cross Site Script) - Reflected XSS(반사형)
XSS 취약점은 외부의 공격자가 클라이언트 스크립트를 악용하여 웹 사이트에 접속하려는 일반 사용자로 하여금 공격자가 의도한 명령이나 작업을 수행하도록 하는 공격이다. 공격자는 이 공격을 이용해서 악성 서버 유도, 사용자 쿠키 정보 추출을 통한 세션 가로채기 공격 등을 수행할 수 있다.
SQL 구문이 아닌 스크립트를 악용하는 기법으로, 로그인 한 피해자의 쿠키 값을 탈취하거나 악성 서버로 유도 되어서 악성코드를 감염시킬 수 있다.
웹 페이지의 경우 개발 편의성이나 시간 단축 측면에서 효율적인 동적인 메커니즘으로 제작되는 경우가 많은데 변수를 활용하는 이런 동적인 페이지의 유연성은 XSS 취약점을 유발하는 원인이 되기도 한다.
1. 취약성 및 위험성
- 메시지를 매개변수로 받는 동적인 페이지 -> 개발 편의성 및 시간 단축
- 구성의 일부를 변수로 받아 이 내용을 HTML 소스에 삽입하는 페이지
- 브라우저로 반환된 변수의 내용 조작 가능
- 클라이언트 사이드 스크립트의 이용자 실행 가능
2. 점검 방법
- URL 매개변수에 아래 문구를 입력 후 XSS 팝업창이 출력되면 취약하다고 판단
1
"><script>alert('XSS')</script> - URL 매개변수에 아래 문구를 입력 후 Cookie 값 팝업창이 출력되면 취약하다고 판단
1
"\><script>alert(document.coocke)</script>
- 일시적으로 사용자에게 반사(서버에 저장되지 x)
3) 실습
This post is licensed under CC BY 4.0 by the author.




