본문 바로가기

Wargame/Dreamhack_Web

(12)
웹 1234 보호되어 있는 글입니다.
[드림핵 웹 해킹] STAGE 8: File Vulnerability- download 의미: 웹 서비스의 파일 시스템에 존재하는 파일을 다운로드 하는 과정에서 발생하는 보안 취약점 조건: 공격자는 웹 서비스의 파일 시스템에 존재하는 임의 파일을 다운로드 받을 수 있다. 공격: Path Traversal 취약점과 함께 사용됨. 서버 파일 시스템에 존재하는 임의 파일을 다운로드하여 민감 정보가 포함된 파일, 예를 들어 데이터베이스 백업본, 외부 API 서버의 비밀키 등이 포함된 설정 파일등을 탈취할 수 있음 Path Traversal 취약점 ‘웹 서비스는 이용자가 업로드한 파일을 다운로드 받거나 이미지를 불러올 때 특정 디렉토리에 있는 파일만 접근하도록 해야한다.’ 를 우회하여 임의 디렉토리에 있는 파일을 다운로드 받을 수 있는 취약점을 말한다. 파일 다운로드 취약점이 자주 발생하는 URL ..
[드림핵 웹 해킹] STAGE 8: File Vulnerability- upload #1 서론 파일을 업로드하고 업로드된 파일을 다운로드 받을 때 발생하는 취약점이다 이용자가 업로드한 파일을 데이터베이스에 저장하는 것보다 서버의 파일 시스템에 저장하는 것이 개발하기 쉽고, 관리 효율도 높으나 파일 업로드 취약점을 일으킬 수 있다. #2 Path Traversal 1) 취약점: File Upload Vulnerability 의미: 공격자의 파일을 웹 서비스의 파일 시스템에 업로드하는 과정에서 발생하는 보안 취약점 조건 : 이용자가 업로드될 파일의 이름을 임의로 정할 수 있어서 파일 시스템 상 임의 경로에 원하는 파일을 업로드하거나 악성 확장자를 갖는 파일을 업로드할 수 있을 때 원하는 시스템 커맨드를 실행하는 ‘원격 코드 실행 취약점’을 유발할 수 있을 때 취약점 : 파일 이름에 이용자가..
[드림핵 웹 해킹] STAGE 7 : COMMAND INJECTION #1 서론 언어별 시스템 함수 : 전달된 인자를 셸 프로그램에 전달해 명령어를 실행 예) system(“cat /etc/passwd”)호출→ 셸 프로그램에서 cat /etc/passwd을 수행 PHP의 system Node JS의 child_process 파이썬의 os.system Injection: 악의적인 데이터를 프로그램에 입력하여 이를 시스템 명령어, 코드, 데이터베이스 쿼리 등으로 실행되게 하는 기법 SQL Injection은 이용자의 입력을 데이터베이스 쿼리로 실행하게 하는 취약점 Command Injection은 이용자의 입력을 시스템 명령어로 실행하게 하는 취약점 #2 Command Injection 이용자의 입력을 제대로 검사하지 않아서 리눅스 셸 프로그램이 지원하는 다양한 메타문자를 이..
[드림핵 웹해킹] STAGE 6 : NO SQL INJECTION(Blind SQL Injection) 맞아? 보통 관리자 권한을 취득할 때 로그인과정에서 아이디 비번 검증 과정을 우회하는 방법이나, 비밀번호를 알아내는 방법을 쓰는데 이건 후자를 위해 쓰는 방법이다. 파이썬 스크립트를 쓰는 과정이 필요하다. 1. sql 공격방법 이분 탐색 알고리즘을 적용하든 어떻게 하든 자동화 스크립트를 작성하는 것이 좋다. 쿼리를 자동화하려면, 로그인할 때 전송하는 POST 데이터의 구조를 파악해야한다 Blind SQL Injection 공격 쿼리 # 첫 번째 글자 구하기 (아스키 114 = 'r', 115 = 's'') SELECT * FROM user_table WHERE uid='admin' and ascii(substr(upw,1,1))=114-- ' and upw=''; # False SELECT * FROM ..
[드림핵 웹해킹] STAGE 6 : SQL INJECTION 1. 데이터베이스 정보를 기록하기 위함. 데이터베이스를 관리하는 애플리케이션을 DataBase Management System (DBMS) 이라고 한다. 2. DataBase Management System DBMS 데이터베이스에 정보를 기록, 수정, 삭제하는 역할 다수의 사람이 동시에 데이터베이스에 접근할 수 있고, 복잡한 특정 조건의 데이터만을 조회할 수 있다(검색기능) 3. Relational DBMS RDBMS(Relational DataBase Management System) 표의 묶음 형식으로 데이터를 관리 SQL(**Structured Query Language)**을 사용 SQL(Structured Query Language) RDBMS의 데이터를 정의,질의,수정하기 위해 고안된 언어 구..
[드림핵 웹 해킹] STAGE 5 : CSRF(Cross Site Request Forgery) 크로스 사이트 요청 위조 CSRF란? 쿠키는 요청에 포함되어 이 요청의 출처가 이용자이며 요청에 이용자의 권한이 부여돼야 함을 의미한다. 문서상의 계약에서 사용되는 서명을 이용한 범죄에는 서명을 날조하거나 서명된 문서를 위조하는 것이 있다. 웹 해킹에서의 쿠키도 쿠키를 날조하거나 쿠키가 있는 사이트를 위조하는 방법이 있다. 후자가 CSRF이다. 웹페이지를 만들어서 이용자의 입력을 유도하고, 이용자가 값을 입력하면 이를 은행이나 중요 포털 사이트 등으로 전송하여 이용자가 동의한 것처럼 보이게 할 수 있다. 자동로그인과 같은 기능은 브라우저에 세션과 쿠키를 저장하게 하는데, 이는 사용자도 모르는 계좌 이체나 비밀번호 초기화를 일으킬 수 있다. CSRF CSRF 임의 이용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점..
[드림핵 웹 해킹] STAGE 4 : XSS(Cross Site Scripting) xss취약점이란 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼에 스크립트 삽입이 가능하여 악의적 스크립트가 피해 측에서 동작하도록 하는 취약점을 의미한다. 공격자를 취약점을 이용하여 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹페이지 변조 등의 공격을 수행한다 2) xss발생 예시와 종류 1. Stored XSS: XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS 2. Reflected XSS: XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS 3. DOM-based XSS: XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS (Fragment는 ..