Cullinan is a wiki for hacking/security/bugbounty

HTTP Request Smuggling

Introduction HTTP Request Smuggling은 network hops로 구성된 환경에서 각 구간의 서버, 장비 등에서 HTTP ...

Axiom

Introduction The dynamic infrastructure framework for anybody! Distribute the work...

CSRF

Introduction CSRF는 Cross-Site Request Forgery 의 약자로 쿠키의 동작 방식을 이용한 공격 방법으로 사용자의 세션...

XSS

Introduction XSS는 Cross-Site Scripting의 약자로 웹 서비스에 Javascript 등 스크립트를 실행할 수 있는 코드를...

Git

Introduction 깃은 오픈소스 분산 버전 관리 시스템으로 svn 이후에 개발 트렌드에서 가장 중요한 위치에 있는 도구입니다. 기본적으로 여러...

H2C Smuggling

Introduction HTTP/2 Protocol and H2C Switching HTTP2 프로토콜은 구글에서 개발 및 시범 사용중이던 SPDY...

Nmap

Introduction Nmap은 오픈소스 기반의 Network discovery 도구입니다. 일반적으로 포트스캐너로 알려져 있으며, Lua scr...

Parallel

Introduction Parallel은 병렬 실행을 위한 cli 도구입니다. 이를 활용하면 다수의 반복 작업등을 병렬 처리할 수 있어서 cli 기...

Reverse Tabnabbing

Introduction Reverse tabnabbing은 특정 조건에서 a, iframe 및 window.open() 등으로 생성된 child p...

COOP

COOP(Cross-Origin-Opener-Policy)는 top-level document가 cross-origin 상태의 document와 b...

SSRF

Introduction SSRF는 Server-Side Request Forgery의 약자로 백엔드 서버단에서 요청을 발생시켜 내부시스템에 접근하거...

Websocket Connection Smuggling

Introduction WebSocket 웹 소켓은 단일 요청 비 연결형인 HTTP의 단점을 보완하기 위한 프로토콜로 HTTP 기반의 Handsha...

SQLMap

Installation Macos brew install sqlmap Linux sudo apt install sqlmap Go-to Com...

Amass

Installation Macos brew tap caffix/amass brew install amass Linux sudo snap ins...

Regular Expression

Introduction 정규표현식 Meta characters Pattern Desc ...

CSWSH Attack

Introduction CSWSH는 Cross-Site WebSocket Hijacking의 약자로 WebSocket에서 Cross domain간 ...

JSON Hijacking

Introduction JSON Hijacking은 SOP의 예외를 위한 CORS 설정이 미흡한 경우 공격자가 사용자의 데이터 등을 임의로 탈취할 ...

JSONP Hijacking

Introduction JSONP Hijacking은 민감 정보를 처리하는 페이지가 JSONP를 지원하는 경우 공격자가 쉽게 정보를 탈취할 수 있는...

CRLF Injection

Introduction CRLF Injection은 Carriage Return Line feed Injection의 약자로 각 개행문자를 의미하는...

CSV Injection

Introduction CSV Injection은 Formula Injection으로도 불리며 일반적으로 CSV 파일 다운로드 등의 기능에서 발생되...

Path Traversal (Directory traversal)

Introduction Path traversal(Directory traversal)은 서비스에서 사용자로부터 받은 입력이 path 형태의 백엔드...

Open Redirect

Introduction Open Redirect는 웹 서비스에서 사용자의 입력을 기반으로 redirect 하는 기능을 이용하여 공격자가 의도한 도메...

Command Injection

Introduction Command Injection은 어플리케이션이 systemcall 등 OS command를 사용하는 부분이 있거나, app...

Zip Slip

Introduction ZIP Slip은 Path traversal(directory traversal) 구문이 포함된 Archive 파일(zip,...

HTTP Parameter Pollution

Introduction HTTP Parameter Pollution(HPP)는 중복된 파라미터를 웹 어플리케이션이 처리하는 방식의 차이를 이용한 공...

JWT Security

Introduction JWT(JSON Web Token)은 전자 서명을 포함한 JSON 형태의 표준 포맷입니다. RFC7519에 정의되어 있으며 ...

XST

Introduction XST(Cross-Site Tracing)는 HTTP TRACE Method를 이용한 공격 방법입니다. 이를 통해서 Http...

DOM Clobbering

Introduction DOM Clobbering은 Javascript에서의 DOM 처리 방식을 이용한 공격 기법입니다. Clobbering은 의미...

SQL Injection

Introduction SQL Injection은 공격자가 Application에서 사용되는 SQL Query 벗어나 의도한 SQL Query를 수...

Cookie Bomb Attack

Introduction Cookie bomb은 비정상적으로 큰 쿠키 값을 이용해서 DOS를 유도하는 공격 방법입니다. 기본적으로 가용성을 침해하는 ...

LDAP Injection

Introduction LDAP Injeciton은 LDAP(Lightweight Directory Access Protocol)에 대한 Injec...

History of OWASP TOP 10

OWASP TOP 10 2021 A1 Broken Access Control  ...

Click Jacking

Introduction ClickJacking은 frame 등의 환경에서 User Interaction을 유도하여 사용자가 인지하지 못한 상태에서 ...

Web Cache Poisoning

Introduction Web Cache Poisoning은 캐시 서버들의 캐시 정책을 이용한 공격 방법으로 특정한 HTTP Request를 통해 ...

RFD Attack

Introduction RFD(Remote File Download)는 확장자, 파일 내용에 대해 통제 가능한 다운로드 기능을 이용한 공격 기법으로...

Web Cache Deception

Introduction Web Cache Deception은 중요 정보를 리턴하는 API에서 해당 정보를 캐시하도록 설정되어 있거나, 처리 방식 ...

Dependency Confusion

Introduction Dependency Confusion은 supply chain substitution attack 으로도 불리며 서비스에서 ...

SSTI Attack

Introduction SSTI(Server-Side Template Injection)은 공격자가 Template 코드를 기존 template에...

CSTI Attack

Introduction CSTI(Client-Side Template Injection)은 공격자가 Template 코드를 기존 template에 ...

ESI Injection

Introduction ESIi는 ESI(Edge Side Include) Injection으로 ESI 사용하는 환경에서 해당 Markup에 대한 ...

XXE

Introduction XXE(XML External Entity)는 XML을 Parsing하여 사용하는 서비스에 악의적인 XML 구문을 Pars...

ZAP

Introduction ZAP(Zed Attack Proxy)은 Vulnerability Assessment, Penetration Testing...

Insecure Deserialization

Introduction Insecure Deserialization은 직역한 그대로 안전하지 않은 역직렬화를 의미합니다. Deserializati...

Relative Path Overwrite

Introduction RPO(Relative Path Overwrite)는 relative URL, 즉 상대 경로 기반의 URL을 덮어써서 의도하...

Server-Side Javascript Injection

Introduction SSJI(Server Side Javascript Injection)는 서버가 자체적으로 Javascript를 처리하는 엔...

ReDOS Attack

Introduction ReDOS는 정규표현식을 사용자로부터 입력받을 때 발생할 수 있는 보안 문제입니다. 일반적으로 ReDOS, Regex DO...

Regex Injection

Introduction Regex Injection은 공격자가 Regex가 compile 되기 전 regex 패턴에 영향을 줄 수 있는 Injec...

OAST

Introduction OAST는 Out-of-band application security testing의 약자로 OOB(Out-Of-Band)...

Threat Modeling

🚧 저도 공부중인 부분이 많아서 잘못되거나 이상한 부분이 있을 수 있습니다. 이 글을 신뢰하진 마시고, 혹시나 잘못된 부분이 있을 경우 댓글로...

Log Injection

Introduction Log Injection은 사용자 입력이 로그에 포함되는 경우 공격자가 이를 이용해 로그 항목을 위조하거나 악성 내용을 로...

XSHM Attack

Introduction XSHM (Cross Site History Manipulation)은 사용자의 브라우저 히스토리를 이용한 공격 방법으로 단...

LaTex Injection

Introduction LaTex는 TeX 문법을 사용하는 typesetting system 으로 이를 처리하는 시스템에서 TeX 문법을 주입하여 ...

Brute Force

Introduction Brute Force 공격은 지정된 wordlist 또는 문자 패턴을 기반으로 반복적인 웹 요청을 발생시켜 보안적인 문제를 ...

SSE Security

Introduction SSE(Server-Sent Event)는 Server Push 기술로 웹 소캣과 유사하게 서버와 Javascript가 서로...

Kiterunner

Introduction Kiterunner는 Assetnote에서 만든 Content-Discovery 도구로 지정한 위치에 Fuzz/BruteFo...

Prototype Pollution

Introduction Prototype Pollution은 Javascript 처리 로직의 문제로 Object 들의 prototype을 수정할 수...

IDOR Attack

Introduction IDOR(Insecure Direct Object References)는 Access Control에서 발생하는 취약점 중 ...

Type Juggling

Introduction Type Juggling은 복수의 변수를 비교할 때 사용되는 Loose/Strict Comparison에 따라 개발자가 의도...

SAML Injection

Introduction SAML Injection은 Security Assertion Markup Language (SAML) 에서 발생할 수 있는...

XS-Leaks

Introduction XS-Leaks는 Cross-site Leaks로 CSP, SOP와 같은 보안 정책을 위반하지 않으면서 다른 사이트와의 상호...

Github-Action Injection

Introduction Github actions에서 사용자가 작성하는 workflow, 개발자가 제공하는 custom actions에서 사용자 입...

Email Injection

Introduction Email Injection은 Application에서 사용자로 부터 받은 입력 값이 Email을 처리하는데 사용되고 입력 ...

Zest

Introduction Zest는 Mozilla 보안팀에서 만든 JSON/YAML 기반의 스크립팅 언어입니다. 현재는 ZAP Core에서 관리되고...

CSS Injection

Introduction CSS Injection은 공격자가 삽입한 값을 통해서 웹 페이지 내 로드된 CSS(스타일시트) 또는 Style 태그와 속...

NoSQL Injection

Introduction NoSQL Injection은 SQL을 사용하는 것으로 알려진 DBMS를 제외한 나머지 Database에 대한 Injecti...

OGNL Injection

Introduction OGNL Injection은 OGNL(Object-Graph Navigation Language)에서 코드를 주입하는 Inj...

EL Injection

Introduction EL(Expression Language) Injection은 Expression을 처리하는 EL interpreter에 대...

Metasploit Framework

Introduction Metasploit은 대표적인 Penetration testing framework로 Recon, Scan, Exploit ...

SRI

Introduction SRI(Subresource Integrity)는 JS,CSS 등의 리소스의 무결성을 검사하는 방법으로 CDN과 같은 3r...

File Inclusion

Introduction File Inclusion은 동적으로 File을 읽거나 Include(소스코드 내 Built) 하는 기능이 있는 경우 이를 ...

WebSocket Security

Introduction WebSocket은 비 연결형 요청인 HTTP의 단점을 보와하여 서버와 브라우저가 실시간으로 통신할 수 있도록 만들어진 프...

Insecure File Upload

Introduction File upload는 웹에서 많이 사용되는 기술입니다. 로컬에 있는 파일을 서버로 업로드하는 기능인데, 안전하지 않은 파...

How to Hack a MacOS Application

Introduction “How to Hack a MacOS Application”은 Apple의 MacOS에서 동작하는 어플리케이션을 테스팅하는 ...

GraphQL Security

Introduction GraphQL은 웹에서 브라우저가 서버로 데이터를 효율적이게 가져는 것을 목적으로 하는 Query Lanauge로 기존 R...

GraphQL Injection

Introduction GraphQL Injection은 GraphQL을 사용하는 환경에서의 Injection 공격을 의미합니다. GraphQL ...

Ruby on Rails

Introduction Rails(Ruby on Rails, RoR)는 Ruby의 대표적인 프레임워크로 MVC 모델을 사용하는 풀스택 웹 프레임워크...

Jekyll

Introduction Jekyll은 Hugo, Hexo와 함께 굉장히 많이 사용되는 SSG(Static Site Genertor) 입니다. Rub...

ORM Injection

Introduction ORM Injection은 ORM(Object Relational Mapping) Layer에서 발생하는 Injection ...

Subdomain Takeover

Introduction Subdomain Takeover는 Subdomain에 매핑된 서버가 제거 또는 삭제됬을 떄 공격자가 해당 IP, 설정 등을...

How to Hack Browser Extension

Introduction Browser Extension은 웹 브라우저를 커스터마이징하고 더 확장하여 사용할 수 있도록 제공되는 기능입니다. Chr...

HTTP Security

HTTP HTTP(HyperText Transfer Protocol)는 Web(World Wide Web, WWW, W3)에서 가장 핵심이 되는 ...

How to Hack Web Application

Introduction “How to Hack a Web Application”은 Web 기반의 Application을 테스팅하는 방법입니다. 전...

Client-Side Desync Attack

Introduction Client-Side Desync(CSD) Attack은 HTTP Request Smuggling(HRS, Desync A...

Web API Security

Introduction Web API는 웹에서 사용 또는 웹을 기반으로 사용되는 API를 의미합니다. 기본적으로 웹에서 사용되는 API라고 알려져...

Zip Bomb

Introduction Zip Bomb는 Decompression bomb로도 불리며 압축을 풀었을 때 엄청난 리소스를 소모하게 만드는 파일을 이용...

SNI Injection

Introduction SNI SNI(Server Name Indication)은 TLS의 확장 기능으로 handshake 과정 초기에 클라이언...

Elixir

Introduction Installation brew install elixir 📜 Style Guide https://github....

Crystal

Resources API Documents (latest) Crystal Book (latest) Awesome Crystal (col...

Ruby

Introduction Ruby는 자연스럽게 읽히고 쓰기 쉬운 우아한 문법을 가지고 있는 언어입니다. 철학 자체가 인간 중심의 설계다 보니 뛰어난...

Caido

How to make plugin Create a new repository using the Caido’s starterkit-plugin Gi...