우선 DOM Based XSS 취약점에 대해 설명하기 전에 XSS(Cross Site Scripting)과 DOM 구조가 무엇인지 간략하게 살펴보도록 하겠습니다. XSS(Cross Site Scripting) ? 웹 사이트 관리자가 아닌 이가 웹 페이지에 클라이언트 측에서 실행될 수 있는 악성 스크립트를 삽입할 수 있는 취약점 DOM (Document Object Model) ? DOM(Document Object Model) : HTML의 문법은 태그의 집합으로 구성되어 있고 이러한 태그들은 사진과 같이 트리 구조로 객체가 형성되는데 이러한 트리 구조 집합을 DOM 구조라고 한다. DOM 구조에 접근하기 위해서는 JavaScript와 같은 스크립트 언어를 사용해야 DOM 구조에 접근할 수 있다. ex ..
분류 전체보기
Weak Session IDs ? 일반적으로 사용자가 웹 서버에 접속하면 사용자를 식별하기 위해 Session ID가 사용자에게 할당되어 사용자 쿠키에 저장되고 이를 이용해 웹 서버에서 사용자를 식별한다. 이러한 Session ID가 단순하거나 쉽게 추측이 가능하여 공격자가 Session ID를 유추하여 다른 사용자의 권한으로 접근할 수 있는 취약점 또는 Session Time Out (세션 만료 시간)을 너무 길게 설정하여 공격자가 다른 사용자의 Session ID를 재사용하여 해당 사용자의 권한으로 서버에 접근할 수 있는 취약점을 의미한다. DVWA 환경에서 Weak Session IDs 실습 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low..
Blind SQL Injection ? 쿼리의 결과를 참 또는 거짓으로만 출력하는 페이지에서 사용할 수 있는 SQL Injection 공격 기법 출력 내용이 참 또는 거짓으로만 구성된 웹 페이지에서 참/거짓 정보를 이용해 데이터베이스의 내용을 추측하는 공격 방식 Brute Force 공격과 비슷하게 상당히 많은 경우의 수를 대입해보며 공격을 수행해야 하기 때문에 일반적으로 자동화 도구를 이용하여 공격을 수행한다. DVWA 환경에서 SQL Injection (Blind) 공격 실습 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨 환경에서 실습을 진행하였습니다. Blind SQL Injection 공격을 실습하기 위해 해당 탭으로 들어온 모습..
SQL Injection ? DB와 연동된 웹 애플리케이션에서 공격자가 입력폼 또는 URL 입력란에 SQL 구문을 삽입하여 DB를 조작할 수 있는 취약점 클라이언트 측에서 입력된 신뢰할 수 없는 데이터가 SQL 쿼리 로직의 일부로 해석되어 DB에서 실행되는 공격 DVWA 환경에서 SQL Injection 공격 실습 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨 환경에서 실습을 진행하였습니다. DVWA 웹 페이지에서 SQL Injection 탭으로 이동한 모습 User ID 입력란에 숫자(1~5)를 입력하면 입력한 번호에 매칭되는 계정의 First name 과 Surname이 출력되는 기능이 있는 것을 확인할 수 있다. 해당 기능을 구현한..
Insecure CAPTCHA ? CAPTCHA ? Completely Automated Public Turing test to cell Computer and Humans Apart 의 약어 보통 로그인 등의 과정에 추가적인 인증 요소로 포함되어 위 사진과 같이 접근하고자 하는 대상이 실제 사용자인지 컴퓨터인지 구별하기 위해 사용되는 프로그램을 의미한다. Insecure CAPTCHA는 직역하면 안전하지 않은 캡챠라는 의미로 캡챠를 우회할 수 있는 취약점을 의미한다. DVWA 환경에서 Insecure CAPTCHA 실습 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨 환경에서 실습을 진행하였습니다. Insecure CAPTCHA 실습을 ..