|
✨SQL Injection SQL Injection은 웹 서버와 데이터베이스의 소통 언어인 SQL 언어에 악성 SQL 문을 주입시켜 데이터베이스 안에 있는 데이터를 탈취할 수 있는 공격입니다 간단한 예시를 들어 설명하자면 우리가 클라이언트를 통해 웹 서버에 로그인 요청을 보낼 때 웹 서버는 요청 정보를 DB랑 소통하기 위해 '무사'의 비밀번호 1234라는 SQL 언어로 요청합니다 그러면 DB는 '무사'의 비밀번호 1234를 찾아 맞으면 웹 서버에게 맞다고 응답하여 클라이언트에 로그인이 정상적으로 작동되게 됩니다 이때 SQL Injection은 '무사'의 비밀번호 1234라는 SQL 언어에 '무사의 비밀번호를 1111로 변경해 줘 그리고 뒤에 문자는 무시해 줘'라는 코드를 주입시킬 수 있습니다 원본 : '무..
SQL(Structured Query Language)이란 SQL은 구조화된 쿼리(query) 언어이며 데이터베이스에 데이터를 추출하고 조작하는 데 사용하는 데이터 처리 언어입니다 즉 'SQL'은 데이터베이스의 프로그래밍 언어입니다 SQL에서 사용되는 명령문은 아래 표와 같습니다 유형 명령문 DQL: Data Query Language SELECT(데이터 검색 시 사용) DML: Data Manipulation Language 데이터 조작어 - 데이터 변경 시 사용 가능 INSERT(데이터 입력) UPDATE(데이터 수정) DELETE(데이터 삭제) DDL: Data Definition Language 데이터 정의어 - 객체를 생성하거나 변경할 때 사용 CREATE(데이터베이스 객체 생성) ALTER(데..
DB - 데이터베이스 데이터베이스는 클라이언트가 요청한 데이터 정보의 조직화된 모음으로 웹 서버에 데이터를 보관하는 저장소입니다 웹 구조 때 설명한 것처럼 네이버에 로그인할 때 사용자의 로그인 정보가 네이버 웹 서버 데이터베이스에 저장된다고 보면 됩니다 🧫 데이터베이스의 정의 1. 공유 데이터(Shared data) : 어느 하나의 프로그램에 속한 것이 아니라 대다수의 사용자나 프로그램의 공동으로 공유 가능한 데이터입니다 2. 통합된 데이터(Integrated data) : 데이터가 중복되지 않는 것을 의미합니다 3. 운영 데이터(Operational data) : 데이터베이스는 업무를 수행하기 위해 지속적으로 데이터를 유지해야 하는데 이를 유지하기 위해 필요한 데이터다 4. 저장된 데이터(Stored ..
"이 내용은 절대로 악의적인 목적으로 사용돼서는 안됩니다. 발생되는 모든 책임은 자신에게 있습니다." 지난 시간에 배운 XSS 개념을 가지고 XSS GAME 사이트에 문제를 풀어봅시다 [ ↓ XSS GAME 사이트 ↓ ] XSS game Welcome, recruit! Cross-site scripting (XSS) bugs are one of the most common and dangerous types of vulnerabilities in Web applications. These nasty buggers can allow your enemies to steal or modify user data in your apps and you must learn to dispatch the xss-game..
XSS(Cross Site Scripting) 공격이란 XSS(Cross Site Scripting)은 클라이언트 사이드의 취약점으로 해커가 피해자 브라우저에 스크립트가 실행되도록 하여 사용자의 쿠키와 세션을 탈취하거나, 피싱 공격을 진행하는 것을 말합니다 간단히 설명하자면 웹 브라우저에 악성 스크립트를 삽입할 수 있는 취약점을 이용하여 피해자에 세션 및 쿠키 정보를 탈취할 수 있습니다 피싱 : 피해자를 속여 중요한 데이터를 누설하게 하고, 바이러스를 다운로드하게 되어 사이버 범죄에 노출시키도록 유도하는 것을 말합니다 XSS 공격은 사용자가 삽입한 내용을 출력하는 기능에서 발생합니다 클라이언트가 HTTP 형식으로 웹 서버에 정보를 요청하면 서버로부터 해당 정보를 HTML, CSS, JS 등의 웹 리소스를..
🍪 쿠키(Cookie)란 사용자가 웹 브라우저에 방문할 때 클라이언트 측에 저장되는 key=value 쌍의 문자열로 구성된 작은 파일입니다 웹 브라우저는 쿠키를 일정 시간 동안 저장하거나 사용자가 브라우저에 머무르는 동안 정보가 유지됩니다 예를 들어 온라인 쇼핑몰 브라우저에 민감하지 않고 서비스 제공에 필요한 데이터를 쿠키로 설정하여 정보를 유지합니다 또한 쿠키는 HTTP 프로토콜의 비상태성을 보완하여 등장했습니다 그러나 쿠키는 사용자가 연속된 요청을 식별하거나 사용자 인증에도 사용되는 반면에 공격자의 표적이 되기 쉽습니다 비상태성 : HTTP 프로토콜은 요청과 응답을 주고받는 도중 상태(Status)를 저장하지 않습니다 따라서 HTTP 프로토콜 이전에 보냈던 요청이나 응답을 기억하지 못합니다 간단히 설..
"이 내용은 절대로 악의적인 목적으로 사용돼서는 안됩니다. 발생되는 모든 책임은 자신에게 있습니다." 앞에서 간단하게 설명한 프록시 개념처럼 Fiddler(피들러)는 컴퓨터와 웹 서버 또는 서버 사이의 HTTP 및 HTTP 트래픽을 기록, 검사 및 변경하는 데 사용되는 디버깅 프록시 서버 도구입니다 쉽게 설명하자면 웹 서버 또는 서버 사이의 HTTP 및 HTTP의 데이터량을 기록하거나 검사 및 변경하는 데 사용됩니다 이는 시스템의 오류를 찾고 해결하는 중계기 역할을 수행하는 서버 도구라고 볼 수 있습니다 트래픽(Traffic) : 서버와 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양 디버깅(Debugging) : 프로그램 개발 단계 중에 발생하는 시스템의 오류를 찾고 그 원인을 해결하는 과정 Fi..
OSI 7계층이란? 네트워크에서 통신이 일어나는 과정을 7단계를 나눈 것을 의미합니다 그런데 왜 7계층이나 나누었을까? 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문입니다 7단계 중 특정한 곳에 문제가 생기면 장비 및 소프트웨어를 건드리지 않고 문제가 생긴 단계만 고칠 수 있습니다 예를 들어 PC방에서 메이플스토리를 하는데 연결이 끊겼다 첫 번째 문제점으로 모든 PC가 문제가 있다면 라우터 문제(3층 네트워크 계층)이거나 회사의 회선 문제(1층 물리 계층)로 파악할 수 있다 두 번째로 한 PC만 문제가 있고, 메이플스토리 소프트웨어에 문제가 있다면 (7계층 응용(애플리케이션)계층) 이런 식으로 특정 문제가 발생하는 계층만 고치면 문제를 해결할 수 있습니다 1계층 - 물리 계층(..