본문 바로가기

💻Information Security27

Segfault Web Server VM 설치 및 실행법 Segfault Web Server 개요 Segfault Web Server는 'Segfault'에서 한정된 통로를 통해 배포한 가상머신으로 초보 해커들의 교육과 편의를 위해 제공되었습니다. 해당 가상머신에는 웹앱과 DB 등 웹서비스를 하기 위해 필요한 기능들이 기본적으로 구현되어 있는 Docker 이미지가 설치되어 있습니다. 해당 웹서버를 실행시키기 위해서는 Docker를 실행시키는 등, Docker와 관련된 기본 지식을 익힐 필요가 있지만, 그렇지 않더라도 실행시킬 수 있도록 최소한의 조치가 되어있습니다. 실행시키는 과정을 아래에서 단계별로 진행해 보겠습니다. 설치 방법 VM 파일을 다운로드한 뒤에 'VmWare' 또는 'Virtual Box'과 같은 가상화 소프트웨어를 통해 실행시켜 주면 됩니다. .. 2024. 2. 4.
SlowLoris(늘보로리스)와 RUDY DDoS에 대해 Slowloris 개념 Slow Loris공격은 DDoS 공격의 일종으로 'Slow HTTP Header DoS'라는 본명을 가지고 있습니다. HTTP 헤더를 조작해서 늘보처럼 천천히 헤더 정보를 보내고 서버가 연결을 기다리다가 다른 정상적인 요청을 받지 못하도록 자원을 마르게 만드는 공격입니다. HTTP이기 때문에 TCP의 특징인 3-way-handshake의 취약점을 악용하는 공격이기도 합니다. 서버 입장에서는 요청이 오고 있고 느리긴 하지만 값이 보내지기는 하니까 끊기에도 애매한 그런 상황입니다. 식당이나 카페 같은 걸로 예를 들자면 주문대 앞에서 하루종일 뭐를 시키려고 하는지 고민하고 있는 진상 손님을 생각해 보면 좋습니다. 서버 측에서 연결을 끊으려고 해도 계속 keep-alive라는 신호를 보.. 2024. 2. 1.
TCP와 UDP의 개념과 차이점 전송계층의 두가지 프로토콜 OSI의 7가지 계층에서 4계층인 전송계층에는 TCP와 UDP라는 두가지 프로토콜이 있습니다. TCP/IP계층에서는 3계층이지만 전송계층이라는 것에는 차이가 없습니다. 이 계층의 프로토콜은 데이터가 전송되는 것에 관여하는 규칙을 세우는 것이 목표입니다. 따라서 이 두 가지 프로토콜은 데이터가 전송되는 방식에 대해서 하나는 안전하게, 다른 하나는 빠르게 보내는 것을 목표로 하는 차이점을 가지고 있으나, 둘 다 데이터가 전송되는 것에 대한 규칙을 정한다는 것이 공통점입니다. 네트워크에서 IP 뒤에 Port라는 것이 있습니다. 하나의 IP에 여러개의 Port가 있을 수 있습니다. 그리고 하나의 Port에도 TCP와 UDP라는 두가지 프로토콜을 받을 수 있습니다. TCP의 개념과 특징.. 2024. 2. 1.
XSS와 CSRF의 차이와 구분 XSS와 CSRF의 공통점 XSS와 CSRF는 둘 다 직접적인 공격대상이 클라이언트 측 사용자라는 것이 가장 큰 공통점입니다. XSS의 경우 브라우저가 스크립트를 해석하여 실행시킨다는 것이고, CSRF의 경우는 피해자(사용자)의 권한으로 의도하지 않은 요청이 보내지는 것입니다. 따라서 해당 행위에 따른 피해는 피해자가 받게된다는 것입니다. 뿐만아니라, 공격 방식도 일반적으로 특정 악의적인 공격이 담겨있는 URL에 접근하거나 요청하는 것으로 이루어지기 때문에 공격이 받는 방식이 거의 완전히 유사합니다. 이러한 눈에 확실히 보이는 공통적인 특징 때문에 이 두 공격 방식은 헷갈리기기 매우 쉽습니다. 둘의 차이점 그럼에도 불구하고, 이 둘은 명백한 차이가 있습니다. XSS는 브라우저에서 스크립트를 해석하는 과정.. 2024. 2. 1.
Burp Suite 사용법 Burp Suite란? Burp Suite는 Portswigger에서 제작하고 관리하는 프록시 도구입니다. 공개되어있는 프록시 도구들 중 가장 유명하고 무료로 사용하더라도 대부분의 기능을 편리하게 사용할 수 있다는 장점이 있습니다. 보안업계에 종사한다면 프록시 도구를 사용할 줄 아는 것이 기본 중의 기본이라고 할 수 있습니다. 실무에서 사용할 때에도 충분히 편리하면서 심지어 대부분의 기능을 무료로 지원한다고 하니 정말 훌륭한 프로그램입니다. 다운로드는 아래 링크를 통해서 받을 수 있습니다. https://portswigger.net/burp Burp Suite - Application Security Testing Software Get Burp Suite. The class-leading vulnera.. 2024. 1. 30.
XSS 공격 시나리오 XSS 공격시나리오를 고민해야 할 이유 XSS 취약점은 상당히 다양한 형태를 가지고 나타날 수 있습니다. 유저의 인풋 뿐만 아니라 파라미터를 전송하는 것에도 반응할 수 있기 때문에 범위가 상당히 넓고 모두 예측하기 어렵습니다. 따라서 특정 XSS 취약점이 존재하는 것에 따라서 어떤 위험이 발생할 수 있는지에 대한 시나리오를 고민해야 우선순위를 정해서 고치거나 취약점의 존재여부를 우선적으로 탐지할 수 있습니다. 공격 시나리오의 예시 6가지 앞서 말했듯이 XSS 취약점은 매우 다양하게 존재할 수 있고 그 시나리오도 무궁무진합니다. 어느정도의 예시를 위해서 아래 6가지를 한번 언급해보도록 하겠습니다. 쿠키탈취와 세션 하이재킹 키로깅 피싱 또는 피싱사이트 이동 관리자 권한 탈취 악성코드 다운로드 HTML 인젝션.. 2024. 1. 29.
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.
CSRF(Cross Site Request Forgery)이란? CSRF 정의와 XSS와 차이 CSRF는 "Cross Site Request Forgery"의 약자로, XSS와 마찬가지로 'Cross-Stie'가 들어갑니다. 따라서 헷갈리기 쉽지만 XSS는 스크립트가 실행되는 것이고, CSRF는 사용자가 의도하지 않은 요청을 보내도록 하는 것으로 명백한 차이가 있습니다. 둘 다 공격 대상은 사용자인 클라이언트 측이지만, 실행이 되는 위치는 다릅니다. XSS의 경우 스크립트가 브라우저에서 해석되어서 실행되는 것이므로 클라이언트 쪽 브라우저입니다. 하지만, CSRF의 경우 요청을 서버로 전송하게 되기 때문에 실행은 서버에서 되는 것이라고 비교해볼 수 있겠습니다. 취약점이 위치할 수 있는 장소 CSRF는 피해자가 의도하지 않은 '요청을 전송'하는 것이므로 요청이 전송되는 .. 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.