분류 전체보기50 DOM(Document Object Model)이란? DOM의 정의 DOM이란 'Document Object Model'의 약자입니다. Document라는 Object(객체)를 다루는 공통된 모델이라고 할 수 있습니다. 모델이라고 하는 이유는 브라우저마다 구현되는 체계가 다를 수 있지만 일반적으로 공유되는 표준이 있기 때문입니다. 브라우저는 window와 document라고 하는 객체를 생성하고 해당 객체를 통해서 HTML과 같은 언어를 표현하여 보여줍니다. window 객체 아래에는 여러 가지 객체들이 있지만 그중에 document 객체 아래에 있는 여러가지 기능과 객체들을 통틀어서 DOM의 구성요소라고 부릅니다. 필요성 이러한 모델이 나온 이유는 무엇일까요? 기존에 정적이고 움직이지 않는 재미없는 웹에서 조금 더 활발하고 동적이고 발랄한 웹을 구현하기 .. 2024. 1. 29. DDoS(분산 서비스 거부 공격)이란? DoS의 개념과 목적 DoS란 'Denial of Service'의 약자로, 한글로 하면 '서비스 거부 공격'이라고 합니다. 서비스를 거부한다? 무슨 뜻일까요. 서비스를 주거나 받는 입장에서 거부한다는 것이 아니라, 서비스를 하지 못하도록 하는 공격입니다. 즉, 공격의 목표는 '서비스를 제공하는 기업이나 대상이 서비스를 제공하지 못하도록'만 하면 공격의 목표는 달성하는 것입니다. 예를 들어 커피를 제공하는 카페가 있다면, 이 카페에서 커피를 손님들에게 줄 수 없도록 하게 하면 서비스 거부 공격이 성공하는 것이라고 볼 수 있습니다. 커피를 제공하지 못하도록 하는 방법은 여러 가지가 있습니다. 원두콩을 배달받지 못하게 하거나, 카페에 들어가는 전기선을 끊거나, 바리스타가 일을 그만두도록 만들거나, 주문을 받.. 2024. 1. 28. GET Admin 1 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 XSS를 활용해서 CSRF 공격을 성공시켜 admin 계정을 탈취하여 로그인하는 것입니다. 목표는 CSRF를 시도할 요청을 분석하여 url 형태로 CSRF 페이로드를 작성하여 XSS 취약점을 통해 관리자의 암호를 변경하여 계정을 탈취하는 것입니다. 아래 개념에 대해서 알고 있어야 합니다. XSS/CSRF에 대한 개념 Stored XSS 공격기법 Img 태그를 통해 요청을 전송하는 방식 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Windows 10 Burp Suite 풀이 단계 전체적인 실습 단계는 아래와 같습니다. 회원가입 및 로그인으로 어드민 계정 생성 비밀번호 변경 요청의 구조 분석 GET/POST 방식 작동 여부 확인 form sub.. 2024. 1. 22. CSRF(Cross Site Request Forgery)이란? CSRF 정의와 XSS와 차이 CSRF는 "Cross Site Request Forgery"의 약자로, XSS와 마찬가지로 'Cross-Stie'가 들어갑니다. 따라서 헷갈리기 쉽지만 XSS는 스크립트가 실행되는 것이고, CSRF는 사용자가 의도하지 않은 요청을 보내도록 하는 것으로 명백한 차이가 있습니다. 둘 다 공격 대상은 사용자인 클라이언트 측이지만, 실행이 되는 위치는 다릅니다. XSS의 경우 스크립트가 브라우저에서 해석되어서 실행되는 것이므로 클라이언트 쪽 브라우저입니다. 하지만, CSRF의 경우 요청을 서버로 전송하게 되기 때문에 실행은 서버에서 되는 것이라고 비교해볼 수 있겠습니다. 취약점이 위치할 수 있는 장소 CSRF는 피해자가 의도하지 않은 '요청을 전송'하는 것이므로 요청이 전송되는 .. 2024. 1. 21. Steal Info 2 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 페이지의 구조를 파악하여 DOM을 활용해서 특정 위치(myPage)의 HTML요소에 접근하여 XSS 공격을 통해 값을 받아내는 것입니다. 필요한 기술과 개념은 다음과 같습니다. XSS에 대한 개념 Stored XSS 공격기법 자바스크립트를 통해 DOM을 활용하여 웹의 특정 구성요소에 접근하는 방법 iframe 태그와 window.addEventListener 함수의 사용법과 이유 이미지 태그와 RequestBin을 활용하여 데이터를 전송하는 방법 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Windows 10 Burp Suite RequestBin 풀이 단계 전체적인 실습 단계는 아래와 같습니다. 마이페이지의 DOM 구조를 파악 XSS 취약.. 2024. 1. 21. Steal Info 1 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 페이지의 구조를 파악하여 DOM을 활용해서 특정 위치의 HTML요소에 접근하여 XSS 공격을 통해 값을 받아내는 것입니다. 필요한 기술과 개념은 다음과 같습니다. XSS에 대한 개념 Stored XSS 공격기법 자바스크립트를 통해 DOM을 활용하여 웹의 특정 구성요소에 접근하는 방법 iframe 태그와 window.addEventListener 함수의 사용법과 이유 이미지 태그와 RequestBin을 활용하여 데이터를 전송하는 방법 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Windows 10 Burp Suite RequestBin 풀이 단계 전체적인 실습 단계는 아래와 같습니다. XSS 취약점 위치 파악 및 POC 테스트 mypage.h.. 2024. 1. 21. XSS 대응방안에 대한 자세한 설명 XSS의 대응방안 XSS의 대응법에 대해서는 https://panda-university.tistory.com/14에서 간략하게 언급하였습니다. 여기서 가장 중요한 입력값 검증과 HTML Entity인코딩에 대한 내용을 조금 상세하게 다뤄보겠습니다. 대부분의 웹 취약점에 대한 대응법으로 '필터링'이 언급되기 때문에 당연하다고 느껴지기 쉽습니다. 하지만 필터링은 매우 큰 문제가 있어서 XSS의 대응법으로 제일 먼저 언급될 만큼 최선의 선택은 아닙니다. 따라서 HTML Entity를 우선적인 대응 방안으로써 검토하고 보조적인 수단으로 필터링을 적용해 볼 수 있겠습니다. XSS(Cross Site Scripting)이란? XSS의 정의 XSS란 "Cross Site Scripting"의 약자로 사이트에 스크립.. 2024. 1. 20. Basic Script Prac - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 XSS를 활용하여 타인의 웹 페이지에서 특정 구성요소의 값을 읽을 수 있는 공격기법을 실습하는 것입니다. 필요한 기술과 지식은 다음과 같습니다. XSS에 대한 개념 Reflected XSS 공격기법 자바스크립트를 통해 DOM을 활용하여 웹의 특정 구성요소에 접근하는 방법 이미지 태그와 RequestBin을 활용하여 데이터를 전송하는 방법 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. MacOS Burp Suite 풀이 단계 전체적인 실습 단계는 아래와 같습니다. XSS 취약점 위치 파악 페이로드 테스트 및 정보 전송 여부 파악 페이로드로 제작된 URL을 관리자에게 접근 상세한 문제풀이 1) 회원가입 및 해당 계정으로 로그인합니다. 본 실습에서.. 2024. 1. 20. XSS(Cross Site Scripting)이란? XSS의 정의 XSS란 "Cross Site Scripting"의 약자로 사이트에 스크립트를 삽입하여 클라이언트 측에서 악의적인 실행이 일어나도록 하는 해킹 공격 기법입니다. 약자가 CSS가 되어야 할 것 같지만, 이미 CSS는 더 많이 쓰이는 'Cascading Style Sheets'이라는 언어가 있기 때문에 혼란을 줄이기 위해서 XSS로 표현하고 있습니다. 잘 알려진 해킹 공격 기법 중 매우 기초적이며 범위가 넓어 빈번하게 일어날 수 있는 취약점입니다. 공격 방식은 공격자가 취약점이 있는 사이트에 악의적인 스크립트를 심어놓거나 페이로드를 작성해서 사이트 또는 링크를 피해자가 방문하게 되면 클라이언트측 브라우저에서 해당 스크립트를 해석하면서 악의적인 공격이 실행됩니다. 공격 대상은 웹 서비스를 이용하.. 2024. 1. 18. SQL Injection이란? 인젝션의 개념 인젝션(Injection)이란 주사를 뜻합니다. 주사란 뭘까요. 우리 체내에 영양분이나 약성분 등을 집어넣어서 특정 효과를 만들어내는 것이지요? 해킹용어로 자주 사용되는 인젝션이라는 개념도 마찬가지입니다. 값을 입력하는 곳에 특정한 값을 '주입'해서 특정 효과를 만들어내는 것입니다. 개발자가 의도하지 않은 내용을 실행시키려는 것이기 때문에 악의적이라고 볼 수 있습니다. 다양한 인젝션 공격들이 있지만, 이번에는 SQL Injection에 대해서 알아보겠습니다. SQL Injection SQL Injection(줄여서 SQLi)이란 "SQL이라는 DB를 조작하는 언어를 웹페이지에 삽입하여 비정상적인 동작을 하는 등의 공격을 하는 해킹 공격 기법"입니다. SQL이 DB에서 어떤 역할을 하는지는 .. 2024. 1. 18. 이전 1 2 3 4 5 다음