본문 바로가기

전체 글50

SFTP 연결 : Visual Studio Code에서 작업한 내용 웹 서버로 옮기기 SFTP란 FTP는 'File Transfer Protocol'의 약자입니다. 파일을 전송할 때 쓰이는 규약이라는 뜻이지요. 여기 앞에 S는 SSH를 의미하기도 하고 Secure라는 뜻으로 해석해도 결과적으로 같은 의미입니다. SSH를 써서 안전하게 FTP 통신을 할 수 있는 프로토콜이 바로 SFTP라고 할 수 있습니다. SFTP의 필요성 우리에게는 HTTP가 익숙하고, 파일도 HTTP로 많이 받아서 크게 FTP의 필요성을 느끼지 않습니다. 하지만, 때로는 다른 것 없이 파일만 간단하게 주고받는 기능을 구현하고 싶을 때가 있습니다. 이럴 때 쓰는 것이 FTP입니다. 그리고 안전한 통신을 위해서 SFTP를 사용하는 것입니다. HTTP와 마찬가지로 평문으로 데이터를 전송하면 스니핑과 같은 공격에 취약해지기 .. 2024. 2. 5.
Panda Web Application 제작 기록(DevLog) Panda Web Application 'Panda Web Application(판다 웹앱)'은 제가 직접 개발한 웹 애플리케이션입니다. Segfault에서 제공한 Docker를 바탕으로 매우 간단한 웹 서버의 기능들을 구현하여 웹해킹 실습을 용이하게 하기 위해서 제작하였습니다. 실습의 편리함을 위해 현재는 보안기능을 최대한 구현하지 않은 상태로 제작하였습니다. 이후 보안 개선 실습을 통해 DVWA와 마찬가지로 보안 등급에 따라 취약함의 정도를 바꿀 수 있는 방식으로 개선할 계획이 있습니다. 프로젝트 배경 '판다 웹앱'을 개발하게 된 이유는 Segfault에서 진행하는 실무형 수업의 요구사항과 과제를 충족하기 위해서입니다. 해당 수업에서는 웹 애플리케이션을 직접 개발함으로써 웹의 개발환경과 과정을 이해하.. 2024. 2. 5.
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 Prac 3 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 Burp Suite를 통해 쿠키 값을 변조하여 전송하는 것을 반복하는 법을 익히도록 하는 문제입니다. 난이도는 매우 쉬움으로 Burp Suite를 처음 다뤄보는 사람들을 대상으로 제작되었습니다. Burp Suite의 Intruder, Repeater 사용법 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Mac OS Burp Suite 풀이 단계 패킷 분석 및 힌트 획득 쿠키 파라미터 획득 쿠키 파라미터를 변조하여 특정 입력값에 도달시 플래그 획득 상세한 문제풀이 1) 패킷을 분석하면 응답에서 'press F5'라는 힌트가 보여집니다. response에 set-cookie라는 값이 있는 것으로 봐서 쿠키의 값이 생성된 것을 확인하도록 하기 위함.. 2024. 1. 30.
Burp Suite Prac 1 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 Burp Suite를 통해 패킷, http의 요청과 응답을 보고 분석하는 것의 기초적인 기술을 보는 문제입니다. Burp Suite 사용법 http request/response 구조에 대한 이해 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Mac OS Burp Suite 풀이 단계 전체적인 실습 단계는 아래와 같습니다. 해당 사이트 접근 및 패킷 분석 및 힌트 획득 인터셉트를 통해 요청값 변조하여 전송 플래그 획득 상세한 문제풀이 1) 이렇게 사이트에 들어가면 No Data라는 내용밖에 없습니다. 2) Response를 보면 Request의 header 값 중 User-Agent를 변조하여 'segfaultDevice'라는 값을 넣으라고 .. 2024. 1. 30.
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.