-
XSS(Cross-SIte-Scripting)> Information Security/ Web Security 2013. 9. 11. 00:41
본 게시글은 연구목적으로 작성된 글이며, 악의적인 목적으로 이용 시 법적 책임은 자신에게 있습니다.
XSS (Cross - Site- Scripting)
필터링되지 않은 스크립트문(예 :<script>~</script>)이 웹에서 출력되어 스크립트가 실행되는 경우를 말한다.
XSS의 가장 일반적인 형태는 공격자가 웹 서버에 게시물을 통해 악성스크립트를 업로드하고,
사용자는 해당 게시글을 클릭했을 때 악성 스크립트가 실행되는 형태다.
여기에서 악성스크립트가 실행되는 방식에 따라 Stored방식과 Reflective방식으로 나뉠 수 있다.
1. 공격자가 웹 서버에 악성스크립트가 담긴 게시물을 등록한다.
2. 이 때 게시물은 웹 서버에 저장된다.
3. 사용자가 웹 서버에 요청/응답할 때, 악성스크립트가 실행된다.
1. 공격자는 게시글에 악성스크립트를 저장하는 것이 아닌, 악성스크립트가 담긴 URL을 노출시킨다.
2. 사용자가 웹 서버에서 노출된 URL에 접근하면 악성 스크립트가 실행된다.
[준비물]
웹 서버가 구축되어 있는 OS
공격자의 OS
-> 이 때 공격자의 OS에서 apache 서비스는 필수!
#service apache2 start[실습 환경]
실제 네트워크 환경 처럼,
공격자가 웹 서버에 접속하여 악성 스크립트가 담긴 게시글을 작성한다.
사용자가 게시글을 클릭하게 되면 스크립트가 실행된다.
여기에서는 스크립트의 실행 여부는 alert창이 뜨는 것으로 대신한다.
더 다양한 XSS 공격방식은
OWASP에서 지원하는 XSS Cheat Sheet를 통해 더 적용해 볼 수 있다.
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
XSS 취약점은 악용되는 태그의 새로운 패턴이 계속 생성되고 있고, 정상적인 서비스에도 이용되는 경우가 있어 100% 차단하기 어렵다. OWASP Top 10 A2인 XSS 취약점의 대응방안으로는 게시물 등록 시 입/출력값 검증(악성 스크립트 필터링)과 쿠키에 인증기법을 적용하거나 암호화하는 방안이 있다.
참고 : 코어시큐리티 -Web Security
728x90반응형'> Information Security > Web Security' 카테고리의 다른 글
BurpSuite (프록시 변조 툴) (0) 2013.09.11 데이터베이스와 테이블생성 (0) 2010.08.18 APM Setup (Apache + PHP + MySQL) 설치와 MySQL 실행하기. (0) 2010.08.17 와우해커 Webgame 3번 (0) 2010.07.23 와우해커 Webgame 2번 (2) 2010.07.21