이번 포스트에서는 DVWA의 CSP Bypass 문제를 실습해보겠다. ## 공격 정의 Content Security Policy (CSP)를 우회하여 악성 스크립트를 실행시키는 공격 방법 참고 : CSP는 웹사이트에서 발생할 수 있는 XSS 공격 등의 보안 취약점을 막기 위한 기술 중 하나로, 웹사이트에서 허용하는 리소스들을 명시하여 악성 스크립트 실행을 방지하는 역할을 함 ## 공격 다이어그램 정책에서 허용된 도메인의 이름을 악용하여, 악성 스크립트를 실행시키는 방법 정책에서 허용된 리소스에 취약점이 존재하여, 해당 취약점을 악용하여 악성 스크립트를 실행시키는 방법 CSP 헤더를 무시하도록 브라우저를 조작하여 악성 스크립트를 실행시키는 방법 ## 실습 DVWA의 CSP Bypass항목을 선택하면 아래와..
이번 포스트에서는 DVWA의 CSRF 문제를 실습해보겠다. ## 공격 정의 Cross-Site Request Forgery (CSRF) 공격은 웹사이트의 사용자가 인증된 상태에서 공격자가 생성한 요청을 실행시켜, 사용자가 의도하지 않은 행동을 하도록 하는 공격 방법 악성 스크립트는 희생자의 쿠키 정보를 포함하여 서버로 요청을 전송하며, 이를 통해 공격자는 희생자의 계정으로부터 권한을 탈취하거나, 비정상적인 작업을 수행하는 등의 악의적인 행위를 수행 ## 공격 다이어그램 희생자는 인터넷 뱅킹 웹사이트에 로그인 이후, 희생자는 악성 웹사이트를 방문 악성 웹사이트는 자동으로 인터넷 뱅킹 웹사이트로 요청을 보내고, 이 때 요청에는 희생자의 쿠키 정보가 포함 인터넷 뱅킹 웹사이트는 쿠키 정보를 기반으로 요청을 검..
이번 포스트에서는 DVWA의 XSS 문제를 실습해보겠다. ## 공격 정의 웹사이트에서 사용자가 입력한 데이터를 출력할 때, 입력된 데이터에 악성 스크립트를 삽입하여, 사용자의 브라우저에서 악의적인 행동을 수행하도록 유도하는 공격 방법 ## 공격 유형 Reflect XSS : 악성 스크립트가 URL 매개변수 등을 통해 전송되어, 해당 페이지를 방문한 특정 사용자에게만 악의적인 행동을 유도하는 공격 Stored XSS : 악성 스크립트가 서버에 저장되어, 해당 페이지를 방문한 모든 사용자에게 악의적인 행동을 유도하는 공격 Dom-Based XSS : 사이트에서 JavaScript를 사용하여 동적으로 생성된 DOM(Document Object Model) 요소에 악성 스크립트를 삽입하여, 해당 웹페이지를 방문..
이번 포스트에서는 DVWA의 Blind SQL Injection 문제를 실습해보겠다. ## 공격 정의 질의 결과를 이용자가 화면에서 직접 확인하지 못할 때 참 / 거짓 반환 결과로 데이터를 획득하는 SQL Injection 공격 기법 일반적인 SQL Injection 공격보다 더욱 어려운 공격. 이는, SQL Injection Blind 공격에서는 결과값이 출력되지 않으므로, 공격자가 정보를 수집하기 위해 사용할 수 있는 수단이 제한적이기 때문 SQL Injection Blind 공격은 대상 시스템에서 취약점을 확인할 수 있는 데 있어서 매우 효과적인 공격 방법 중 하나 ## 공격 다이어그램 공격자는 대상 시스템에서 취약점을 찾기 위해, SQL Injection 공격을 수행 대상 시스템에서 SQL 쿼리의..
이번 포스트에서는 DVWA의 SQL Injection 문제를 실습해보겠다. ## 공격 정의 웹사이트의 입력란에 악의적인 SQL 코드를 삽입하여, 데이터베이스를 해킹하는 방법 일반적으로 웹사이트의 입력란에 입력된 데이터를 데이터베이스 쿼리의 일부로 사용하여, 데이터베이스를 조작하는 방법으로 수행됨 악성 SQL 코드를 삽입하여, 데이터베이스에서 정보를 불법적으로 탈취하거나 수정, 삭제 등의 악의적인 행동을 할 수 있음 ## 공격 유형 Error Based : 논리적 에러를 이용한 SQL Injection 공격. SQL 쿼리 고의적으로 오류를 발생시켜 출력되는 에러의 내용을 통해 필요한 정보를 찾아냄 Union Based : 정상적인 쿼리문에 Union 키워드를 삽입하여 원하는 쿼리문을 실행하는 SQL Inj..
이번 포스트에서는 DVWA의 Insecure CAPTCHA 문제를 실습해보겠다. ## 공격 정의 CAPTCHA(자동화된 프로그램이 아닌 사람임을 인증하는 보안 시스템) 기능을 우회하여 자동화된 프로그램에 의해 공격을 수행하는 공격 방법 (보안 캡챠 시스템은 자동화된 스팸 봇과 같은 악성 프로그램의 접근을 막는 데 사용됨) 일반적으로 OCR(광학 문자 인식) 기술을 사용하여 CAPTCHA 이미지를 해독하는 것으로 수행됨 ## 공격 다이어그램 공격자는 웹사이트에 로그인하 위해 Captcha 이미지를 수신 공격자는 OCR 소프트웨어를 사용하여 Captcha 이미지에서 문자를 추출 추출된 문자를 웹사이트에 전송하여 Captcha 인증을 우회 ## 실습 DVWA의 Insecure CAPTCHA 항목을 선택하면 아..
이번 포스트에서는 DVWA의 File Upload 문제를 실습해보겠다. ## 공격 정의 웹사이트에서 파일 업로드 기능을 제공할 때 발생할 수 있는 보안 취약점 공격자는 이 기능을 이용하여 원하지 않는 파일을 업로드하고, 이를 통해 시스템을 해킹하거나, 악성 코드를 실행시키는 등의 악의적인 행위를 수행 ## 공격 다이어그램 악의적인 공격자는 웹사이트에서 제공하는 파일 업로드 기능을 이용하여 악성 파일을 업로드 악성 파일은 서버에 저장되며, 공격자는 이 파일을 다운로드하거나, 실행시켜 시스템을 해킹하거나, 악성 코드를 실행시킬 수 있음 악의적인 공격자는 이를 통해 시스템에 침투하거나, 중요한 데이터 탈취 수행 ## 실습 DVWA의 File Upload 항목을 선택하면 아래와 같은 이미지가 보인다. 우선 다음..
이번 포스트에서는 DVWA의 File Inclusion 문제를 실습해보겠다. ## 공격 정의 웹 애플리케이션에서 사용되는 파일을 포함하는 기능에 보안 취약점이 있는 경우 발생할 수 있는 공격 방법 악의적인 공격자가 원격지에서 실행되는 코드를 삽입하여 악의적인 행동을 하도록 유도할 수 있음 ## 공격 유형 Local File Inclusion (LFI) : 서버 내부에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격 Remote File Inclusion (RFI) : 외부 웹사이트에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격 ## 실습 DVWA의 File Inclusion 항목을 선택하면 아래와 같은 이미지가 보인다. 총 3개의 파일을 열람할 수 있다. 소스코드를 확인해보면 다음과 같다. 단..
이번 포스트에서는 DVWA의 Command Injection 문제를 실습해보겠다. ## 공격 정의 악의적인 공격자가 애플리케이션 또는 웹사이트의 입력란을 통해 실행되는 명령어를 조작하여 시스템을 해킹하는 공격 방식 중 하나 웹 애플리케이션에서 입력란을 통해 입력된 데이터는 서버 측에서 프로그램을 실행할 때 사용 악의적인 사용자가 검색어란에 "; rm -rf /"와 같은 명령어를 입력하면, 서버는 해당 명령어를 실행하게 되어 시스템이 완전히 삭제되는 등의 치명적인 결과를 초래할 수 있음 ## 공격 다이어그램 악의적인 사용자는 웹사이트에서 입력란에 “; rm -rf /”와 같은 명령어를 입력 웹사이트는 입력된 명령어를 충분히 검증하지 않고, 그대로 명령어를 실행 서버는 해당 명령어를 실행하여 시스템이 완전히..
이번 포스트에서는 DVWA의 Brute Force 문제를 실습해보겠다. ## 공격 정의 인증 시스템을 해킹하거나 데이터를 탈취하기 위해 비밀번호, PIN, 암호화된 데이터의 키 또는 다른 인증 정보를 무차별 대입하는 공격 방법 공격자는 대량의 가능한 비밀번호 목록을 작성한 다음 이를 시스템에 대입하여 올바른 비밀번호를 찾을 때까지 계속 시도 자동화된 소프트웨어를 사용하여 비밀번호를 대입하며, 이를 통해 많은 시도를 빠르게 수행할 수 있음. ## 공격 다이어그램 공격자는 대량의 가능한 비밀번호 목록을 작성 공격자는 자동화된 소프트웨어를 사용하여 비밀번호를 대입 시스템은 비밀번호를 검증하고 올바르지 않으면 거부 공격자는 시스템이 거부하는 모든 비밀번호를 다시 시도 공격자가 올바른 비밀번호를 찾을 때까지 이 ..