Web Hacking/DVWA

❓ 공격 개요 Stored XSS 공격 개요 > Stored XSS 공격은 사용자이 웹 브라우저에서 실행되는 것은 다른 XSS 공격과 동일하지만 Reflected XSS 와같이 스크립트가 요청을 전송한 시점에 바로 반사되는 것이 아니라 웹 서버에 저장되었다가 실행되는 차이점이 있다. > 웹서버에 저장되기 때문에 피싱과정이 필요 없고, 해당 페이지를 접속하는 모든 사용자가 공격당할 수 있기 때문에 다른 XSS 공격들에 비해 피해가 훨씬 더 심각하다 💻 실습 Stored XSS 실습페이지 메인화면이다 방명록이 구현되어 있고 이름과 메세지를 남길 수 있도록 되어있다 메시지부분에 쿠키값을 출력하는 스크립트를 삽입해보자 다음과 같이 악성스크립트가 담긴 게시글이 저장되었다 방명록에 글이 남겨졌기 때문에 다른 메뉴를..
❓ 공격 개요 Reflected xss 공격 개요 > Reflected xss 공격은 요청메시지에 입력된 스크립트 코드가 즉시 응답 메시지를 통해 출력되는 취약점이다 > 공격자는 사용자가 Reflected XSS 공격에 유도될 수 있도록 이메일, 게시판, SNS 등 공격자가 링크를 남길 수 있는 곳이라면 어디든 피싱을 한다. 사용자가 공격자가 남겨놓은 악성 링크를 클릭하게 되면 공격 스크립트 코드가 삽입된 사이트로 이동하게 되고 입력된 스크립트가 반사되어 그대로 웹사이트에 출력된다. 💻 실습 Reflected XSS 실습페이지의 메인이다 이름을 물어보는 폼이 표시되어있다 test를 입력해보자 Hello 뒤에 test 가 출력되었다. 이와 같이 사용자가 입력한 값을 그대로 출력하는경우 Reflected X..
❓ 공격 개요 DOM-Based XSS 공격 개요 > DOM(Document Object Model)이란 W3C 표준으로 HTML 및 XML 문서에 접근방법을 표준으로 정의하는 문서객체모델이다. W3C에서는 DOM을 '프로그램 및 스크립트가 문서의 컨텐츠, 구조 및 형식을 동적으로 접근 및 업데이트할 수 있도록 하는 언어 중립적인 인터페이스다'라고 정의되어 있다. DOM은 HTML문서를 계층적으로 보면서 컨텐츠를 동적으로 변경할 수 있다. > Dom-Based XSS 공격은 악성스크립트가 남긴 URL이 사용자의 웹브라우저에서 호출이 될 경우 악성스크립트가 발생되는 취약점이다. > 웹 브라우져에서 사용자의 입력값을 통해 동적페이지를 구성하기 때문에 DOM-Based 공격에서는 응답값의 body에 악성스크립..
❓ 공격 개요 Weak Session IDs 공격개요 > 사용자의 접근을 효율적으로 관리하기 위해 애플리케이션을 각 사용자들에게 세션을 만들어 주거나 사용자에게 세션을 확인하게 하는 토큰을 발행한다 세션 자체는 서버에 할당돼 있는 데이터 집합의 구조이며, 애플리케이션과 사용자 간의 상호작용을 도와주는데 사용된다 하지만 다음과 같은 상황에서 민감한 데이터의 노출이 발생할 수 있다. 1. HTTP 프로토콜을 사용하여 민감한 데이터가 전송되는 경우 2. 민감한 데이터가 평문으로 저장되는 경우 3. 안전하지 않은 암호화 방식을 사용하는 경우 이러한 경우 공격자는 데이터를 쉽게 유추할 수 있어 다른 사용자인 것처럼 접근이 가능하게 된다 💻 실습 Weak Session IDs 의 메인화면이다 Generate 버튼을..
❓ 공격 개요 Blind SQL Injection 공격 개요 Blind SQL Injeciton 공격은 공격자가 공격을 받은 데이터 베이스로부터 명백한 응답을 받지 않고 대신 데이터 베이스 서버와 애플리케이션의 동작을 관찰하여 데이터베이스 구조를 단계별로 재구성하는 SQL Injection 의 한유형이다 Blind SQL Injeciton 공격 방법에는 Boolean-based , Time-based 공격이 있다 💻 실습 Blind SQL Injection 의 메인화면이다 SQL Injection 과 같이 유저아이디를 입력하는 창이 있다 1 을 입력해보자 SQL Injection 과 달리 데이터가 조회되지않고 존재한다고만 출력된다 에러를 발생시키기위해 ' 를 입력해보자 ' 을 입력하자 데이터베이스에 존재..
❓ 공격 개요 SQL Injection 공격 개요 > SQL Injection 공격은 웹 서버 영역의 데이터베이스로 전송되는 SQL 쿼리문을 사용자가 임으로 조작할 수 있는 경우 발생한다 공격자는 이 취약점을 이용하여 데이터 베이스에 저장되어 있는 다른 사용자의 개인정보 등 허가되지 않은 정보에 접근하거나 데이터를 변조할 수 있다 💻 실습 SQL Injection 의 메인화면이다 사용자 id를 입력하는 폼이 보인다 1을 입력해보자 admin 사용자가 출력되는걸 알 수 있다 이와 같은 웹 페이지가 있을때 SQL Injection 공격에 취약한지 테스트해볼 수 있는 기본적인방법은 ' 를 입력해보는것이다 위 사진과 같이 ' 를 입력하자 SQL 관련 오류가 발생한다 이와 같이 에러가 발생하거나 비정상적인 상황이..
❓ 공격 개요 CAPTCAH 란? > CAPTCHA는 HIP 기술의 일종으로, 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법이다. 사람은 구별할 수 있지만 컴퓨터는 구별하기 힘들게 의도적으로 비틀거나 덧칠한 그림을 주고 그 그림에 쓰여 있는 내용을 물어보는 방법이 자주 사용된다. > 주로 봇을 이용한 사이트 아이디 자동생성 방지, 광고성 게시물 방지, 계정 해킹(Brute Force 공격) 등을 막기위해 사용된다. 💻 실습 Insecure CAPTCHA 의 메인화면 이다 패스워드 변경폼에 CAPTCHA 가 추가되었다. CAPTCHA 를 무시하고 변경을 요청하면 다음과 같이 CAPTCHA 가 틀렸다며 실패문구가 출려된다 CAPTCHA 인증이 어떻게 이루어 지는지 알아보기 ..
❓ 공격 개요 File upload 공격 개요 > File uploade 취약점은 파일을 업로드하는 기능에 적절한 보안 대책이 적용되지 않을때 발생한다. > 파일을 첨부할 수 있는 게시판에서 웹쉘(Web Shell)이라는 악성 파이을 업로드 하여 시스템으로 침투해 들어갈 수 으며 Command Injection 과 같이 웹 페이지를 통해 시스템 명령어를 내릴 수 있다. 💻 실습 File upload 메뉴의 메인화면이다 업로드할 image 파일을 선택하라는 문구가 보인다 파일을 선택할 수 있는 버튼과 업로드 버튼이 보인다. 대부분의 사용자는 게시판 형식에 맞는 확장자의 파일을 업로드 할테지만 공격자는 공격을 위한 다른 확장자들도 업로드해 보려고 시도할 것이다 이제 실습을 해보자 php 로 웹쉘 파일을 만들..
po3nyo
'Web Hacking/DVWA' 카테고리의 글 목록