ClientSide: CSRF
Cross Site Request Forgery (CSRF)
CSRF : 임의 이용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점. 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취할 수 있다.
Cross Site Request Forgery 동작
CSRF 공격에 성공하기 위해서는 공격자가 작성한 악성 스크립트를 이용자가 실행해야 한다. 이는 공격자가 이용자에게 메일을 보내거나 게시판에 글을 작성해 이용자가 이를 조회하도록 유도하는 방법이 있다.
XSS와 CSRF의 차이
공통점 : 둘 다 클라이언트를 대상으로 하는 공격이며, 이용자가 악성 스크립트가 포함된 페이지에 접속하도록 유도해야 한다.
차이점 : XSS는 인증 정보인 세션 및 쿠키 탈취를 목적으로 하는 공격이며, 공격할 사이트의 오리진에서 스크립트를 실행시킨다. CSRF는 이용자가 임의 페이지에 HTTP 요청을 보내는 것을 목적으로 하는 공격이다.
Background: Relational DBMS
데이터베이스 관리 시스템
웹 서비스는 데이터베이스에 정보를 저장하고, 이를 관리하기 위해 DataBase Management System (DBMS)을 사용한다. DBMS는 데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정, 삭제하는 역할을 한다.
관계형 - 비관계형으로 구분, 차이점 : 관계형은 행과 열의 집합인 테이블 형식으로 데이터를 저장하고, 비관계형은 테이블 형식이 아닌 키-값 (Key-Value) 형태로 값을 저장한다.
Relational DBMS : 행 (Row)과 열 (Column)의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 관리하고, 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공한다. RDBMS에서 관계 연산자는 Structured Query Language (SQL) 라는 쿼리 언어를 사용하고, 쿼리를 통해 테이블 형식의 데이터를 조작한다.
Structured Query Language (SQL) : RDBMS의 데이터를 정의하고 질의, 수정 등을 하기 위해 고안된 언어
DDL(Data Definition Language) : 데이터를 정의하기 위한 언어. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행한다.
DML(Data Manipulation Language) : 데이터를 조작하기 위한 언어. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행한다.
DCL(Data Control Language) : 데이터베이스의 접근 권한 등의 설정을 하기 위한 언어
ServerSide: SQL Injection
SQL Injection : SQL 쿼리에 이용자의 입력 값을 삽입해 이용자가 원하는 쿼리를 실행할 수 있는 취약점. 인증 우회에 사용할 수 있음
Blind SQL Injection : 질의 결과를 이용자가 화면에서 직접 확인하지 못할 때 참/거짓 반환 결과로 데이터를 획득하는 공격 기법
'SWUFORCE > 모의해킹팀' 카테고리의 다른 글
모의해킹 5주차 과제 (0) | 2023.11.14 |
---|---|
모의해킹 과제 4주차 (0) | 2023.11.07 |
2주차 과제 - 시스템 해킹 (0) | 2023.10.04 |
모의해킹 2주차 과제 - 웹 해킹 (0) | 2023.10.03 |
모의해킹 2주차 과제 - 인프런 강의 [웹 해킹과 모의해킹 현업에 대한 이야기] (0) | 2023.10.03 |