Home
1unaram
Cancel

[Record] 2025년 상반기 정리

블로그를 시작하고 주기적으로 회고록을 써야겠다고 다짐하였지만 지키지 못하였고, 이렇게 2025년 6월의 마지막 날까지 오게 되었다. 다짐했던 내용을 실천하기 위해서보다는 내게 나름 큰 전환점이 된 6개월이라고 생각하게 되어 이렇게 글을 쓰게 되었다. #블로그 이전 시도 지난 12월에 전역을 하고 3학년 1학기 복학을 준비하며 겨울방학 기...

[LOS] wolfman

Query select id from prob_wolfman where id='guest' and pw='{$_GET[pw]}' Protection preg_match prob 문자열 _ . () ` ` (white space) addslashes() $_GET[pw] = addslashes($_GET[pw])...

[LOS] orge

Query select id from prob_orge where id='guest' and pw='{$_GET[pw]}' Protection preg_match prob 문자열 _ . () or and Analysis 공백 문자 대신 주석 /**/을 사용할 수 있다. Payload ?pw='...

[LOS] darkelf

Query select id from prob_darkelf where id='guest' and pw='{$_GET[pw]}' Protection preg_match prob 문자열 _ . () or and Analysis and와 or 연산자 대신 &&, ||를 사용할 수 있다 ...

[LOS] orc

Query select id from prob_orc where id='admin' and pw='{$_GET[pw]}' Protection preg_match prob 문자열 _ . () addslashes() $_GET[pw] = addslashes($_GET[pw]); if statement if((...

[LOS] goblin

Query select id from prob_goblin where id='guest' and no={$_GET[no]} preg_match prob 문자열 _ . () ' " ` Payload ?no=0 or 1=1 order by id asc

[LOS] gremlin

Query select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}' preg_match prob 문자열 _ . () Payload ?id=asd' or 1=1 %23

[LOS] cobolt

Query select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}') preg_match prob 문자열 _ . () Payload ?id=admin' or '1'='1

[pwnable] System Hacking 노트

시스템 해킹을 공부하며 도움이 될 만한 내용을 계속해서 정리합니다. ELF 바이너리의 심볼 테이블(Symbol Table) ELF 바이너리에는 실행에 필요한 함수 및 변수의 주소를 저장하는 심볼 테이블(Symbole Table)이 포함되어 있다. pwntools pwntools...

[PortSwigger] Academy: Web Cache Deception

[PortSwigger Academy Web Cache Deception] 을 수강하고 정리하였습니다. #Web Caches 웹 캐시는 서버와 사용자 사이에 존재하는 시스템이다. 클라이언트가 정적 리소스를 요청하면, 요청은 가장 먼저 캐시로 향해진다. 만약 캐시가 리소스에 대한 카피가 없다면(Cache Miss), 요청은 응답하는 서...

[PortSwigger] Academy: WebSockets vulnerabilities

[PortSwigger Academy WebSockets vulnerabilities ] 을 수강하고 정리하였습니다. #WebSockets 웹 소켓은 현대 웹 애플리케이션에서 널리 사용된다. 이는 HTTP를 통해 시작되며 양방향 비동기 통신을 통해 오래동안 지속되는 연결을 제공한다. 웹 소켓은 사용자 동작을 수행하고 민감한 정보를 전...

[PortSwigger] Academy: Server-side request forgery (SSRF) attacks

[PortSwigger Academy Server-side request forgery (SSRF) attacks] 을 수강하고 정리하였습니다. #What is SSRF? 서버 사이드 요청 위조(SSRF)는 공격자가 서버 측 애플리케이션이 의도되지 않은 위치로 요청을 보내도록 만드는 웹 보안 취약점이다. 일반적인 SSRF 공격에서,...

[Wargame] Webhacking.kr old-25 (PHP)

🚩 문제 파악 문제 페이지에 들어가면 /?file=hello 라는 url로 연결되고, hello.php 라는 파일의 내용이 출력되는 것으로 보이는 페이지를 확인할 수 있다. 이로 보아, url의 파라미터로 파일명을 전달하면 해당 파일을 읽을 수 있는 것을 알 수 있다. /?file=index로 요청하면 아무런 결과도 받을 수 없으나, /...

[PortSwigger] Academy: Path traversal

[PortSwigger Academy Path traversal] 을 수강하고 정리하였습니다. #What is path traversal? Path traversal은 directory traversal로 알려져 있다. 이 취약점은 공격자가 애플리케이션이 구동 중인 서버에서 임의의 파일을 읽을 수 있도록 한다. 다음과 같은 파일을 포...

[Certificate] 인터넷보안전문가 2급 실기 기출문제 정리 및 복기

#Intro 지난 2022년 10월 30일에 응시한 정기 2022-04 인터넷보안전문가2급 필기 시험에 합격하고 바로 다음 실기 시험이 학교 시험 기간과 겹쳐 응시하지 못했고, 실기 응시 기간 2년이 지나기 전에 군복무 중 한 달 정도 준비하여 2024년 제01회 실기 시험을 응시하였다. 결과는 95점으로 좋은 성적으로 합격하였다. 필기 시...

[PortSwigger] Academy: SQL Injection

[PortSwigger Academy SQL Injection] 을 수강하고 정리하였습니다. #What is SQL injection? SQL injection(SQLi)는 공격자가 어플리케이션이 데이터베이스에 수행하는 쿼리를 방해할 수 있게 하는 웹 보안 취약점이다. 이는 공격자가 정상적으로 조회할 수 없는 데이터를 조회하도록 해준...

[PortSwigger] Academy: Server-side vulnerabilities

[PortSwigger Academy Server-side vulnerabilities] 를 수강하고 정리하였습니다. #Path traversal Directory traversal로 알려져 있다. 이 취약점은 공격자에게 어플리케이션이 실행 중인 서버에서 임의의 파일을 읽을 수 있도록 한다. 이때 파일은 다음을 포함할 수 있다. ...

[Wargame] Webhacking.kr old-31 (nc)

🚩 문제 파악 $port = rand(10000,10100); $socket = fsockopen($_GET['server'],$port,$errno,$errstr,3) or die("error : {$errstr}"); Warning: fsockopen(): unable to connect to {공인 ip 주소}:10029 (Connecti...

[Wargame] Webhacking.kr old-58 (Javascript)

🚩 문제 파악 문제에 접속하면 채팅창 모습을 확인할 수 있다. 아무 값을 입력하니 명령어를 찾을 수 없는 문구를 확인할 수 있는 것으로 보아 CLI를 구현해 놓은 것으로 유추할 수 있다. help 명령어를 입력하니 사용가능한 명령어를 확인할 수 있었고, 다른 명령어를 실행한 결과 위와 같은 응답을 확인할 수 있다. id 명령어를 통해 현재...

[Wargame] Webhacking.kr old-47 (SMTP Injection)

🚩 문제 파악 문제 페이지에서 Mail Subject를 입력할 수 있는 폼이 주어지고, send를 통해 메일을 발송할 수 있다. 해당 기능 외에는 소스코드나 요청 응답 패킷에서 확인할 수 있는 다른 취약점은 보이지 않았다. 메일의 subject를 조작할 수 있는 것으로 보아 SMTP Header Injection을 이용하는 문제로 보인다. ...

[Wargame] Webhacking.kr old-61 (SQL Injection)

🚩 문제 파악 문제 페이지에 접속하면 view-source 이외에는 다른 요소를 확인할 수 없다. 링크를 클릭하여 소스코드를 확인해보자. // id 파라미터를 받아 addslashes 함수를 통해 문자열 이스케이프 $_GET['id'] = addslashes($_GET['id']); // 문자열 정규식 검사 if(preg_match("...

[Wargame] Webhacking.kr old-42 (Base64)

🚩 문제 파악 문제 페이지에 접속하면 위와 같은 표와 함께 해당 파일들을 다운로드 받을 수 있는 듯한 링크를 확인할 수 있다. 하나씩 링크를 클릭해보면, test.txt 파일은 정상적으로 다운로드 받아지는 반면에, flag.docx 파일은 Access Denied 창을 확인할 수 있다. 🚩 문제 풀이 문제 페이지에 대한 요청 후...

[Wargame] Webhacking.kr old-39 (SQL Injection)

🚩 문제 파악 문제 페이지에 접속하면 회원가입과 로그인할 수 있는 폼을 확인할 수 있다. 코드를 확인해보면 JOIN 시 ID는 id, PHONE은 phone의 name을 가지고, LOGIN시 ID는 lid, PHONE은 lphone의 name을 가지는 것을 확인할 수 있다. view-source를 통해 프로그램 소스코드를 확인해보자. ...

[pwnable] Over The Wire - Bandit

OverTheWire - Bandit Bandit Site: https://overthewire.org/wargames/bandit/ Environment: WSL2 Ubuntu 20.04.4 LTS Host: bandit.labs.overthewire.org Port: 2220 ssh bandit0@bandit.labs.overth...

[Record] 🚩제 1회 IxC CTF 운영 후기🚩

# 글을 시작하며  아직 연초이지만 벌써부터 큰 이벤트 하나가 지나갔습니다,, 정보보안을 공부하는 사람이라면 한 번쯤 들어봤을 CTF 대회를 직접 개최하여 문제 제작부터 대회 운영까지 모두 맡아 진행하였습니다. 대회를 zero부터 시작하여 마치기까지 저에게는 큰 업적이라고 생각하기도 하였고, CTF 운영을 하며 여러 블로그와 글들을 참고하였지...

[Wargame] Webhacking.kr Write-Ups

🚩 old-01 문제 페이지로 이동하면 위와 같은 화면을 볼 수 있다. view-source를 눌러 코드를 확인해보자. <?php include "../../config.php"; if($_GET['view-source'] == 1){ view_source(); } if(!$_COOKIE['user_lv']){ Set...

[Study] Content Security Policy

Dreamhack - Web Hacking Advanced (Client Side) 를 공부하며 정리하였습니다. # Content Security Policy Background 웹 브라우저는 웹 서버로부터 받는 컨텐츠가 의도된 컨텐츠인지 확인할 수 없기에, 페이지의 컨텐츠에서 사용하는 자원들이 모두 웹 서버에서 의도한 자원이 맞는...

[Study] XSS Filtering Bypass

💡 [Dreamhack] Web Hacking Advanced - Client Side - XSS Filterfing Bypass I, II를 공부하며 정리하였습니다. #1. 이벤트 핸들러 속성 태그의 속성 값으로 스크립트를 포함할 수 있는 경우가 존재한다. 대표적으로 이벤트 핸들러를 지정하는 on으로 시작하는 속성들이 존재한다. ...

[Certificate] 인터넷보안전문가 2급 필기 기출문제 정리

정리 대상 기출 문제 목록 2022년 04월 10일 2021년 10월 24일 2021년 04월 11일 2020년 10월 25일 2020년 05월 24일 2019년 10월 27일 2019년 04월 14일 2018년 10월 28일 2018년 04월 08일 1과목: 정...

[Study] Stack All-in-One

#0. Intro 시스템 해킹을 공부하면서 BOF, Stack Buffer Overflow, ROP 등의 개념을 공부하기 위해서는 Stack의 구조와 동작 과정을 정확하게 이해해야 함을 통감했습니다. 이번 포스트에서는 프로그램이 동작하며 Stack이 어떻게 사용되는지를 Assebly, Register, Endian등의 내용을 포함하여 자세하게 기...

[Dreamhack] Background - Computer Science

🔸 Linux Memory Layout [Study]Memory Layout Quiz: Linux Memory Layout #include <stdlib.h> int a = 0xa; const char b[] = "d_str"; int c; int foo(int arg) { int d = 0xd; return 0; } i...

[H4CKING GAME] REV - Keygen

# 문제 파악 문제에서 주어진 keygen.exe 파일을 실행해보니 알맞은 flag를 입력해야 함을 알 수 있었다. IDA를 이용하여 실행 파일을 열어보았다. main 함수를 찾을 수 있었고, 그래프에서 “Input flag : “, “No… This is not flag…” 등의 문자열을 확인할 수 있었다. 다행히도 디컴파일...

[pwnable] Shell Metacharacter

메타 문자(Shell Metacharacter) 메타 문자 설명 ~ 홈 디렉토리 . 현재 디렉토리 .. 상위 디렉토리 # 주석 ...

[pwnable] Objdump Opcode 추출 명령어

for i in $(objdump -d [file] | grep "^ " | cut -f 2); do echo -n \\x$i; done for i in $( ) : $( ) 내의 명령을 실행한 값을 반복하여 i로 접근 objdump -d [file_path] : [file] 경로의 오브젝트 파일을 기계어로 역어셈블 grep "^ " ...

[pwnable] pwntools & pwndbg

pwntools와 pwndbg를 사용하며 공부하는 내용을 계속 업데이트 할 예정입니다 Reference : Dreamhack - [Tool: pwntools] # pwntools 🔎 pwntools란? : 시스템 해킹을 수행하며 자주 사용하는 함수들을 구현 해놓은 파이썬 모듈 🔧 pwntools 설치 & import # p...

[Dreamhack] Quiz: x86 Assembly 3

Dreamhack x86 Assembly 강의를 듣고 푼 Quiz를 정리하였습니다. # Quiz # 풀이 [Code] main: push rbp mov rbp, rsp mov esi, 0xf mov rdi, 0x400500 call 0x400497 <write_n> m...

[Study] Regex 정규표현식

정규 표현식은 / (expression) / 로 표현한다. 정규 표현식 Test Groups and Ranges | : 또는 () : 그룹 /gr(a|e)y/ : gr과 y 사이에 a 또는 e가 존재하는 문자 (?:) : 찾지만 기억하지 않음 [] : 문자셋, 괄호...

[Study] Python - requests

패키지 설치 pip install requests pip를 이용하여 requests 라이브러리를 설치 사용법 import requests from requests import * 요청(Request) requests.request(method, url, **kwargs) Request Header requests...

[HackCTF] Welcome_rev

🚩 문제 정보 #HackCTF #Reversing #Welcome_REV #50pts 🚩 문제 풀이 👁‍🗨 문제 파악 주어진 파일은 파일 형식을 알 수 없는 파일이었다. 이 파일을 분석하여 flag를 찾아내는 것으로 파악하였다. 👁‍🗨 풀이 시도 우선 주어진 파일을 IDA에서 열어보았다 좌측의 function ...

[Study] Register

레지스터란? : 레지스터(register)는 CPU 내부에 존재하는 다목적 저장공간으로서, CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장. 산술 연산에 필요한 데이터를 저장하거나 주소를 저장하고 참조하는 등 다양한 용도로 사용됨. 레지스터는 32bit 환경에서는 첫 글자가 E(Extended)로 시작하고, 64bit 환경에서는 ...

[Study] IDA 사용법

Dreamhack - Reverse Enginnering을 공부하며 작성하였습니다. Version : IDA Freeware 7.7 👀 IDA 둘러보기 1. Function windows IDA에서 분석한 프로그램의 함수를 나열 해당 창에서 Ctrl + F 단축키를 통해 원하는 함수를 찾을 수 있음 2. Grap...

[Study] Memory Layout

Memory Layout? : 메모리 레이아웃(Memory Layout)이란 프로그램이 실행될 때 운영체제는 프로세스가 사용 가능한 가상 메모리(Virtual Memory) 공간을 할당 받는데, 이 가상 메모리의 구성을 메모리 레이아웃이라고 합니다. 프로세스가 사용할 데이터를 적절한 곳에 적재하고 구획하여, 개발자의 직관적인 이해를 돕고 구획별 적...

[HackCTF] Login

#web #100pts 🚩 문제 🚩 문제 풀이 👁‍🗨 문제 파악 문제에서 제공한 링크로 들어가니 간단한 로그인 폼이 보였다. View Source를 누르니 위와 같은 php코드를 주었다. 코드를 해석해보면, 사용자에게 id와 pw를 입력받아 sql 쿼리문에 삽입한 후 데이터베이스에서 해당 정보를 꺼내와 배열에 할당하고...

[Dreamhack] Quiz: x86 Assembly 2

Dreamhack x86 Assembly 강의를 듣고 푼 Quiz를 정리하였습니다. # Quiz # 풀이 [Register] rcx = 0 rdx = 0 rsi = 0x400000 ======================= [Memory] 0x400000 | 0x67 0x55 0x5c 0x53 0x5f 0x5d 0x55 ...

[Study] Assembly

Assembly를 공부하며 계속 보완할 예정입니다 💻 x86-64 아키텍쳐 데이터 이동 mov dst, src : src에 들어있는 값을 dst에 대입 lea dst, src : src의 유효 주소(Effective Address, EA)를 dst에 저장 산술 연산 add dst, src : dst에 src의 값을...