본문 바로가기

Security/Web32

SQL 인젝션 취약점 SQL 인젝션에 대해서 간단하게 알아보도록 하겠습니다.자세한 것은 http://itlearner.tistory.com/304?category=780096을 참고하면 되겠습니다. 1. 취약점 이해1-1. 개요데이터베이스와 연동된 웹 어플리케이션에서 SQL 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소 입력창 또는 로그인 폼 등)에 조작된 질의문을 삽입하여 웹 서버의 데이터베이스 정보를 열람 또는 조작을 할 수 있는 취약점을 말합니다. 1-2. 파급 효과- 데이터베이스 정보 노출- 데이터 삽입, 삭제 및 변경- 데이터베이스 서비스 중지- 사용자 인증 우회 1-3. 취약점의 이해SQL 인젝션 공격은 SQL(DB의 정보를 조회하기 위해서 질의 및 조작하는 명령어.. 2018. 6. 5.
운영체제 명령 실행 운영체제 명령 실행 취약점에 대해서 알아보도록 하겠습니다. 1. 취약점 이해1-1. 개요웹 어플리케이션에서 system(), exec()와 같은 시스템 명령어를 실행시킬 수 있는 함수를 제공하며 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 운영체제 시스템 명령어를 호출하여 백도어 설치나 관리자 권한 탈취 등 시스템 보안에 심각한 영향을 미칠 수 있는 취약점입니다. 1-2. 파급 효과- 시스템 계정 정보 유출- 백도어 설치- 관리자 권한 탈취- 시스템 명령어 실행 1-3. 취약점의 이해해당 홈페이지에 명령어를 실행할 수 있으므로 홈페이지 내에 저장된 파일을 지우거나, 바이러스를 깔거나, 홈페이지 서버를 다운시키는 등의 나쁜 행위를 할 수 있게 됩니다. 2. 취약점 진단2-1. 취약.. 2018. 6. 4.
웹 취약점 진단 항목(22개) 앞으로 "누구나 쉽게 따라하는 웹 취약점 진단 기술" 서적을 공부하며 취약점 하나하나에 대한 포스팅을 간단히 하여 같이 올려놓겠습니다. 아래의 웹 취약점 진단 항목(22개)는 "KISA의 취약점 진단 제거 가이드(2013.12)"의 내용을 참고 하여 작성되었다고 합니다.(참고로 KISA의 취약점 진단 제거 가이드(2013.12)는 http://itlearner.tistory.com/315?category=788684 2018. 6. 4.
Arachni를 이용한 Password field with auto-complete 취약점 스캔 및 검증 이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. Password field with auto-complete 취약점의 개념일단 스캐닝을 하기 앞서 간단하게 Password field with auto-complete 취약점의 개념을 이해하고 가도록 하겠습니다. Password field with auto-complete 취약점은 쉽게 말해 자동완성을 말합니다.폼에 한 글자를 입력하면 문자열이 동적으로 표시되는 것을 뜻 합니다. 해당 취약점은 input 태그에 autocomplete="off"로 설정하여 방지할 수 있습니다. 2. Arachni를 이용한 스캐닝저는 http://demo.testfire.net을 대상으로 진행하였습니다. 1개의.. 2018. 4. 8.
Arachni를 이용한 Directory listing 스캔 및 검증 이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. Directory listing 취약점의 개념일단 스캐닝을 하기 앞서 간단하게 Directory listing 취약점의 개념을 이해하고 가도록 하겠습니다. Directory listing이란 웹 서버 설정오류 및 기본페이지가 설정되어 있지 않는 경우 디렉터리 정보가 노출되는 취약점을 의미합니다. 디렉터리 노출, 디렉터리 브라우징이라고 불리기도 합니다. 2. Arachni를 이용한 스캐닝저는 http://demo.testfire.net을 대상으로 진행하였습니다. 1개의 페이지에 대하여 Directory listing 취약점이 발견되었습니다. 3. 검증스캐닝 결과 발견한 1개의 페이지에 대해서 .. 2018. 4. 7.
Arachni를 이용한 Unencrypted password 취약점 스캔 및 검증 이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. Unencrypted password 취약점의 개념일단 스캐닝을 하기 앞서 간단하게 Unencrypted password 취약점의 개념을 이해하고 가도록 하겠습니다. Unencrypted password 취약점은 컨설팅시 반드시 점검해야 하는 것 중 하나로써 패스워드가 평문 전달되는 취약점을 말합니다. 2. Arachni를 이용한 스캐닝저는 http://demo.testfire.net을 대상으로 진행하였습니다. 1개의 페이지에 대하여 Unencrypted password 취약점이 발견되었습니다. 3. 검증스캐닝 결과 발견한 1개의 페이지에 대해서 정탐인지 검증해보도록 하겠습니다. http:/.. 2018. 4. 7.
Arachni를 이용한 Common directory 스캔 및 검증 이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. Common directory 취약점Common directory는 알려진 디렉터리 이름 (/admin, /master, /bbs, /etc 등)을 호출하여 노출 되는 경우, 접속 가능한지 확인해보면 됩니다. 2. Arachni를 이용한 스캐닝저는 http://demo.testfire.net을 대상으로 진행하였습니다. 취약점 스캔은 여러가지 디렉터리 패턴을 던짐으로써 진행하게 됩니다. 그중에서 200 OK될 때 취약점이 있다고 가정합니다.1개의 페이지에 대하여 Common directory 취약점이 발견되었습니다. 3. 검증검증할 때는 직접 들어가 확인해보면 됩니다. http://demo.t.. 2018. 4. 7.
SQLMap 설치 및 사용법 이번 시간에는 SQL Injection만을 집중적으로 점검하는 툴인 SQLMap 설치 및 사용법을 알아보도록 하겠습니다.다. windows10환경에서 진행하였습니다. 1. SQLMap 설치1-1. python 설치SQLMap은 파이썬으로 만들어졌기 때문에 실행하기 위해서는 python이 설치되어있어야 합니다.python의 버전은 2.6이상 3.0미만 이어야 합니다.https://www.python.org/downloads/windows/ 2018. 4. 7.
Arachni를 이용한 Sql Injection 스캔 및 검증 이번에도 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. SQL Injection의 개념일단 스캐닝을 하기 앞서 SQL Injection의 개념을 이해하고 가도록 하겠습니다. SQL Injection은 웹 어플리케이션에서 데이터베이스로 전달되는 SQL 쿼리 값을 변조 및 삽입하여 비정상적인 방법으로 데이터베이스에 접근하는 공격기법을 의미합니다. 공격기법에 따라 다양한 유형이 존재합니다.① 논리적 에러를 이용하는 SQL Injectionor1=1 등의 논리적 에러를 발생시킬 수 있는 패턴을 이용한 인증우회 기법이며, 에러가 발생되는 사이트에서는 에러 정보를 이용하여 데이터베이스 및 쿼리 구조 등의 정보를 추측할 수 있습니다.예를 들어 사용자가 회원 ID에 .. 2018. 3. 27.
Arachni를 이용한 파일 다운로드 취약점 스캔 및 검증 이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. 파일 다운로드(Path Traversal)취약점의 개념일단 스캐닝을 하기 앞서 간단하게 파일 다운로드 취약점의 개념을 이해하고 가도록 하겠습니다. 먼저 게시판에 첨부된 파일을 사용자에게 제공하는 방식에는 정적방식, 동적방식이 있습니다.정적방식은 디렉터리에 파일 링크를 걸어 사용자에게 제공하기 때문에 파라미터 변조 가능성이 없는 안전한 구조인 반면, 동적 방식은 파라미터 값 조작(file=../../../../../../../../etc/passwd) 등의 취약점으로 시스템 파일 등의 접근 시도가 가능합니다. 즉, 파일 다운로드 취약점은 상대경로나 절대경로 문자를 이용해 경로를 조작하여 파일 .. 2018. 3. 25.
Arachni를 이용한 XSS 취약점 스캔 및 검증 오늘은 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. XSS의 개념일단 스캐닝을 하기 앞서 간단하게 XSS의 개념을 이해하고 가도록 하겠습니다. XSS(Cross Site Script)는 OWASP top 10의 A7에 위치하고 있습니다. 공격자가 웹 페이지(게시판 등)에 악성 스크립트를 삽입하면 사용자 측에서 해당 스크립트가 동작하여 사용자의 정보(쿠키, 세션 등)탈취 등 여러 공격을 수행할 수 있습니다. XSS는 크게 Stored XSS, Reflected XSS, DOM based XSS로 나누어집니다.Stored XSS는 사용자의 입력 데이터가 DB에 저장되고, DB에서 해당 값을 추출하는 경우에 발생됩니다.Reflected XSS는 사용자 입력.. 2018. 3. 14.
Arachni scanner 설치 및 스캔 오늘은 Web application scanner인 'Arachni scanner' 설치와 간단한 스캔방법을 알아보겠습니다.해당 글은 Windows 10 (64bit) 기준으로 작성하였습니다. 1. Download먼저 아래의 주소를 클릭하여 자신의 OS에 맞게 DOWNLOAD 버튼을 눌러줍니다.무료로 다운로드가 가능합니다.(설치 경로에 한글이 들어가 있으면 에러가 나면서 실행이 되지 않으니 주의해야 합니다.)=> http://www.arachni-scanner.com/download/ 다운로드가 완료되면 다운받은 exe파일을 실행시켜 설치를 진행합니다.설치는 저절로 진행이되니 어려울 건 없습니다. 설치가 완료되면 다운받은 파일의 이름으로 폴더가 하나 생성됩니다.해당 폴더로 들어가면 bin, system .. 2018. 3. 10.
HTTP Session Hijacking * HTTP 특징- HTTP는 기본적으로 비연결유지(stateless) 프로토콜이다. 따라서 웹 사이트 로그인 후 다른 페이지 방문시마다 매번 로그인해야 하는 불편함이 있는데 이는 Session ID를 사용해서 해소할 수 있다. * Session ID- 웹 서버가 다수의 웹 페이지 요청자를 구별하기 위하여 각각의 사용자의 세션에 대해서 부여한 임의의 긴 문자열을 말한다.- 사용자가 홈페이지 방문시 혹은 로그인시에 생성이 된다.- 사용자의 계정, 암호, 그 밖의 IP 주소, times tamp 등의 여러 파라미터들을 조합하여 생성할 수 있다.- 사용자와 일련의 웹 서핑 동작을 연결시켜줌으로써 웹 사이트 로그인 후 다른 페이지 방문시마다 매번 로그인을 하지 않아도 되는 편리함을 제공해준다. 1. 쿠키에 저장.. 2018. 2. 6.
HTTP 상태코드 2XX (Succes) 200 (OK) - HTTP 요청에 대해 에러 없이 성공 201 (생성됨) - 서버가 성공적으로 요청된 새 리소스를 생성 3XX (Redirect) 300 (다중선택) - 클라이언트가 선택할 수 있는 리소스에 대한 다중옵션을 표시 301 (영구 변경) - 현재 이후 모든 요청들은 변경된 위치에서 수행 302 (임시 변경) - 현재 요청을 임시위치에서 수행하지만, 이후 요청은 원래의 위치에서 수행 4XX (Clienterror) 400 (잘못된 요청) - 문법상 오류로 요청을 수행할 수 없음 401 (권한 없음) - 요청에 대해 인증이 필요 혹은 인증실해 403 (금지됨) - 유효한 요청에 대해 서버가 응답 거부 - 접근이 거부된 데이터 요청시 나타남 - 서버가 허용하지 않는 웹페이.. 2018. 1. 18.
웹 프락시 도구 사용-Burp Suite, Paros * 프록시 (Proxy) 1. 해커가 역 추적을 피하기 위해 사용 2. 보안통제를 뚫을 때 사용 3. 캐시를 사용하여 접근을 빠르게 하고 싶을 때 사용 4. 들어오는 콘텐츠를 검사할 때 사용 - 프록시 툴을 사용하면 넘어 가는 패킷을 직접 제어(변조)하는 것이 가능하다. -> burpsuite, paros 설치하기 전 먼저jre가 설치돼있어야 한다. (burpsuite는 https://portswigger.net/burp/communitydownload 실습 전 프록시 서버 설정을 해준다. Explorer- 도구 - 인터넷 옵션 - 연결 - LAN 설정 - 프록시 서버 체크 후 주소 : 127.0.0.1, 포트 : 8080으로 입력 (프록시 서버는 8080포트를 기본으로 사용) [실습 1 - Burp S.. 2018. 1. 16.