Don't give up

Hello World!

|

여러분들의 방문을진심으로 환영 합니다

언제나 열심히 노력하겠습니다. 😀

총 방문자

14

포스팅

구독자

블로그 운영
SSTI(Server Side Template Injection)이란?
·
Web Study/Theory
Web Template Engine 웹 템플릿 엔진은 동적인 웹 페이지를 생성하기 위해 사용되는 도구나 프레임워크입니다 보통 HTML, CSS, JavaScript 등 프론트엔드와 백엔드 코드 데이터를 결합하여 사용자에게 동적인 웹 페이지를 제공합니다 이 웹 템플릿 엔진은 서버 사이드 템플릿 엔진과 클라이언트 사이드 템플릿 엔진으로 나눠집니다 프레임워크 : 소프트웨어 개발을 위해 사용되는 구조화된 환경 또는 플랫폼을 뜻함 서버 사이드 템플릿 엔진 (Server Side Template Engine) 클라이언트가 데이터를 전달하면 웹 서버는 DB 또는 API에서 데이터를 미리 정의된 템플릿에 넣어 html을 구성합니다 그리고 구성된 html을 다시 클라이언트 쪽으로 전달해 줍니다 즉 HTML 코드에서 고정..
OS Injection이란?
·
Web Study/Theory
OS Injection OS Command Injection 또는 Shell Injection은 웹 응용 프로그램이 구동 중인 웹 서버 운영체제에서 명령을 실행하는 취약점입니다 이때 웹 응용 프로그램은 HTTP 폼, HTTP 헤더, 쿠키와 GET 파라미터를 통해 사용자로부터 시스템 Shell을 전달받는데 사용자가 제공하는 입력 값에 대한 검증이 제대로 구현되어 있지 않다면 해당 취약점을 악용할 수 있습니다 이 취약점을 통해 명령어를 실행하면 웹 서버에 구동하는 계정의 권한으로 실행됩니다 이 계정의 권한으로 공격자의 권한을 상승시키거나 웹 응용 프로그램을 장악하여 데이터를 손상시킬 수 있습니다 즉 간단히 설명하자면 사용자가 웹 사이트에 쉘 실행 함수를 주입시켜 시스템 명령어를 실행하는 공격입니다 OS In..
불충분한 인증과 인가 및 프로세스 검증 누락
·
Web Study/Theory
불충분한 인증과 인가를 설명하기 앞서 HTTP 헤더 구조에서 설명한 파라미터에 대해 잠깐 되짚어 보겠습니다 파라미터(매개변수)란? 파라미터는 매개변수라는 의미를 지니는데 보통 외부에서 전달된 데이터로 사용됩니다 위 사진에 Query String은 ? 뒤에 있는 문자열을 뜻합니다 즉 ? 뒤에 있는 cmd부터는 URL 파라미터 영역입니다 URL 파라미터는 웹 서버에 저장된 프로그램을 사용자가 웹 브라우저를 이용하여 값을 전달하는 것입니다 파라미터는 [파라미터 이름] = [파라미터 값]으로 사용되며 파라미터가 여러 개 일 때는 '&' 기호를 입력하여 파라미터를 이어주는 역할을 합니다 파라미터는 주로 웹 브라우저 상에서 사용자가 페이지를 클릭하여 전환할 때 발생하게 됩니다 불충분한 인증이란? 불충분한 인증은 앞..
파일 업로드 취약점(File Upload Vulnerability)
·
Web Study/Theory
Web Directory 웹 디렉터리는 웹 사이트의 온라인 카테고리입니다 웹 검색 엔진과 다른 역할을 가지는데 웹 검색 엔진은 사용자가 특정 키워드로 정보를 검색할 때 관련된 웹 페이지를 찾는 반면 웹 디렉터리는 특정한 주제나 카테고리에 관련된 웹 사이트를 정리하여 보여주는 역할을 합니다 File Upload Vulnerability 파일 업로드 취약점은 게시판 등에서 파일의 업로드에 대한 규제가 없을 경우 해커가 악성 스크립트 파일(asp, jsp, php 등)을 업로드하고 파일을 실행시켜 시스템 권한을 획득하거나 사용자의 정보를 탈취할 수 있습니다 파일 업로드 취약점의 동작 원리를 이해하기 앞서 일반적으로 웹 애플리케이션에서 파일 업로드가 어떻게 처리되는지 알아야 합니다 보통 사용자가 파일을 업로드하..
파일 다운로드 취약점(File Download Vulnerability)이란?
·
Web Study/Theory
파일 다운로드 취약점 원리를 알아보기 앞서 절대 경로와 상대 경로부터 살펴보겠습니다 절대 경로 컴퓨터가 지정한 파일의 최초 경로를 절대 경로라고 합니다 예를 들어 hello.txt 파일을 생성할 때 이 경로가 C:\users\document\hello.txt으로 표시된다면 hello.txt 파일의 절대 경로가 됩니다 이처럼 절대 경로를 알고 있으면 파일 위치를 어디서든 접근할 수 있습니다 그러나 절대 경로가 변경되면 그 위치를 수정해야 하는 단점이 있습니다 요약 : 절대적인 기준인 최초 디렉터리(/)를 기준으로 경유한 경로를 모두 기입하는 방식 상대 경로 현재 파일의 위치를 기준으로 파일의 상대적인 경로를 표현합니다 예를 들어 hello.txt 파일이 ./musa/hello.txt 경로에 존재할 때 절대..
SQL Injection 공격 기법
·
Web Study/Theory
SQL Injection SQL Injection은 웹 서버와 데이터베이스의 소통 언어인 SQL 언어에 악성 SQL 문을 주입시켜 데이터베이스 안에 있는 데이터를 탈취할 수 있는 공격입니다 간단한 예시를 들어 설명하자면 우리가 클라이언트를 통해 웹 서버에 로그인 요청을 보낼 때 웹 서버는 요청 정보를 DB랑 소통하기 위해 '무사'의 비밀번호 1234라는 SQL 언어로 요청합니다 그러면 DB는 '무사'의 비밀번호 1234를 찾아 맞으면 웹 서버에게 맞다고 응답하여 클라이언트에 로그인이 정상적으로 작동되게 됩니다 이때 SQL Injection은 '무사'의 비밀번호 1234라는 SQL 언어에 '무사의 비밀번호를 1111로 변경해 줘 그리고 뒤에 문자는 무시해 줘'라는 코드를 주입시킬 수 있습니다 원본 : '무..
SQL(Structured Query Language)이란
·
Web Study/Theory
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 - 데이터베이스란?
·
Web Study/Theory
DB - 데이터베이스 데이터베이스는 클라이언트가 요청한 데이터 정보의 조직화된 모음으로 웹 서버에 데이터를 보관하는 저장소입니다 웹 구조 때 설명한 것처럼 네이버에 로그인할 때 사용자의 로그인 정보가 네이버 웹 서버 데이터베이스에 저장된다고 보면 됩니다 🧫 데이터베이스의 정의 1. 공유 데이터(Shared data) : 어느 하나의 프로그램에 속한 것이 아니라 대다수의 사용자나 프로그램의 공동으로 공유 가능한 데이터입니다 2. 통합된 데이터(Integrated data) : 데이터가 중복되지 않는 것을 의미합니다 3. 운영 데이터(Operational data) : 데이터베이스는 업무를 수행하기 위해 지속적으로 데이터를 유지해야 하는데 이를 유지하기 위해 필요한 데이터다 4. 저장된 데이터(Stored ..
XSS(Cross Site Scripting) 공격이란?
·
Web Study/Theory
XSS(Cross Site Scripting) 공격이란 XSS(Cross Site Scripting)은 클라이언트 사이드의 취약점으로 해커가 피해자 브라우저에 스크립트가 실행되도록 하여 사용자의 쿠키와 세션을 탈취하거나, 피싱 공격을 진행하는 것을 말합니다 간단히 설명하자면 웹 브라우저에 악성 스크립트를 삽입할 수 있는 취약점을 이용하여 피해자에 세션 및 쿠키 정보를 탈취할 수 있습니다 피싱 : 피해자를 속여 중요한 데이터를 누설하게 하고, 바이러스를 다운로드하게 되어 사이버 범죄에 노출시키도록 유도하는 것을 말합니다 XSS 공격은 사용자가 삽입한 내용을 출력하는 기능에서 발생합니다 클라이언트가 HTTP 형식으로 웹 서버에 정보를 요청하면 서버로부터 해당 정보를 HTML, CSS, JS 등의 웹 리소스를..
쿠키와 세션
·
Web Study/Theory
🍪 쿠키(Cookie)란 사용자가 웹 브라우저에 방문할 때 클라이언트 측에 저장되는 key=value 쌍의 문자열로 구성된 작은 파일입니다 웹 브라우저는 쿠키를 일정 시간 동안 저장하거나 사용자가 브라우저에 머무르는 동안 정보가 유지됩니다 예를 들어 온라인 쇼핑몰 브라우저에 민감하지 않고 서비스 제공에 필요한 데이터를 쿠키로 설정하여 정보를 유지합니다 또한 쿠키는 HTTP 프로토콜의 비상태성을 보완하여 등장했습니다 그러나 쿠키는 사용자가 연속된 요청을 식별하거나 사용자 인증에도 사용되는 반면에 공격자의 표적이 되기 쉽습니다 비상태성 : HTTP 프로토콜은 요청과 응답을 주고받는 도중 상태(Status)를 저장하지 않습니다 따라서 HTTP 프로토콜 이전에 보냈던 요청이나 응답을 기억하지 못합니다 간단히 설..