# pwn

91개의 포스트
post-thumbnail

[Pwn] Basic knowledge

앞으로 Pwnable 공격 기법에 필요한 개념과 공격 기법을 차근차근 정리해보려고 한다...❗ Stack Buffer overflow를 살펴보기 전, 알아야할 Memory Layout과 함수 호출 규약(Calling Convention)에 대해 먼저 정리해보려고 한다

7일 전
·
0개의 댓글
·
post-thumbnail

Stack Buffer Overflow...

학습 목표cdecl, SYSV 호출 규약이 무엇인지, 그리고 다음 코스에서 배우는 스택 버퍼 오버플로우가 왜 위험한지 이해할 수 있다.서론 : 함수 호출 규약함수의 호출 및 반환에 대한 약속함수를 호출할 때는 반환된 이후를 위해 호출자(Caller)의 상태(Stack

2023년 5월 11일
·
0개의 댓글
·

NX & ASLR...

ASLR (Address Space Layout Randomization)바이너리가 실행될 때마다 스택, 힙, 공유 라이브러리 등을 임의의 주소에 할당하는 보호 기법커널에서 지원하는 보호기법이며, cat /proc/sys/kernel/randomize_va_space로

2023년 5월 11일
·
0개의 댓글
·
post-thumbnail

pwnable.xyz - add

pwnable.xyz 도전기

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

pwnable.xyz - sub

pwnable.xyz 도전기

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

pwnable.xyz - welcome

pwnable.xyz 도전기

2023년 5월 3일
·
0개의 댓글
·

링크와 PLT, GOT

Keyword : Lib, Link, PLT, GOTLibrary : 프로그램이 함수나 변수를 공유해서 사용할 수 있게 하는 파일C 표준 라이브러리 - libc -> 우분투 기본적, /lib/x86-64-linux-gnu/libc-2.27.soLink : 프로그램에서

2023년 5월 2일
·
0개의 댓글
·

페이로드 구성을 위한 파이썬 문자열 다루기

참고 : w3schools.com문자열은 리스트와 특징을 공유한다문자열 자체를 임의로 변경할 수 없다2번째 인덱스부터 5번째 인덱스까지 자르기 : b = a\[2:5] (끝은 생략가능)인덱스 끝을 0으로 두고 거꾸로 : b = a\[-5:-2]특정 문자열의 첫번째 문자

2023년 4월 28일
·
0개의 댓글
·
post-thumbnail

[Pwn] Unsafe unlink

오늘은 Unsafe Unlink에 대해 이해해보려고 한다...! > Unsafe unlink 취약점은 Fake Chunk를 활용하여 다른 인접한 Chunk와 병합이 일어날 때 발생하는 취약점으로, 이를 통해 원하는 주소에 값을 쓰거나, 출력할 수 있다. Unsaf

2023년 4월 7일
·
0개의 댓글
·

[ Dreamhack ] fho

모든 보호기법이 적용되어 있다. 특히 Full RELRO가 적용된 것을 볼 수 있다.stack에 값을 입력받는다.원하는 주소에 원하는 값을 입력할 수 있다.원하는 주소를 free할 수 있다.Full RELRO 때문에 GOT를 덮어 쓸 수 없다.하지만 free함수가 실행

2023년 4월 5일
·
0개의 댓글
·

[ Dreamhack ] basic_rop_x86

보호기법은 NX가 적용되어 있다.buf를 0x40byte 할당하고 0x400byte를 read받고 있다. 그래서 BOF취약점이 발생한다.주어진 libc에서 문자열 "bin/sh"을 찾을 수 있다.ROP 가젯 역시 문제에서 찾을 수 있다.이를 이용하여 ROP를 수행하면

2023년 3월 23일
·
0개의 댓글
·

[ Dreamhack ] basic_rop_x64

문제 파일에는 NX가 설정되어 있다.0x40byte의 버퍼를 할당하고 0x400byte 만큼 버퍼에 입력받고 있다. 따라서 BOF 취약점이 존재한다.1\. GDB로 분석해보면 rbp-0x40에 버퍼가 위치하고 있다.2\. 주어진 libc를 보면 안에 "/bin/sh"라

2023년 3월 20일
·
0개의 댓글
·

[Pwn] House of botcake

House of botcake 오늘은 House of botcake에 대해 알아볼 예정이다.. > House of botcake는 tcache에서 double free bug를 막기 위해 추가된 e->key를 건드리지 않고도, DFB를 유발시킬 수 있는 취약점이다.

2023년 3월 18일
·
0개의 댓글
·

Docker를 이용한 pwnable 환경 세팅

dockerfile ubuntu 20.04/18.04

2023년 3월 15일
·
0개의 댓글
·

[ Dreamhack ] ssp_001

32bit 바이너리이며, NX하고 Canary가 걸려있다.코드를 보면 다음과 같다메뉴 F는 box에 값을 넣을 수 있다.메뉴 P는 인덱스에 해당하는 box값을 볼 수 있다.\-> 인덱스를 입력받을 때 경계값 검사가 없어 box 밖의 값을 볼 수 있다.메뉴 E는 이름을

2023년 3월 10일
·
0개의 댓글
·

[ Dreamhack ] basic_exploitation_001

문제의 환경정보를 보니 어떠한 보호기법도 적용되어 있지 않다.문제 소스코드를 보면 gets로 값을 입력받고 있으나 길이를 검사하고 있지 않아 BOF취약점이 존재한다.또한 flag값을 주는 read_flag()함수도 존재한다.gdb로 분석해보면 gets로 입력받은 값은

2023년 3월 9일
·
0개의 댓글
·

[ Dreamhack ] basic_exploitation_000

문제 분석 문제 풀이 추가내용

2023년 3월 9일
·
0개의 댓글
·

[ HackCTF ] Simple_Overflow_ver_2

문제를 실행해보면 Data를 입력하면 버퍼의 주소를 알 수 있다.다시 Data를 입력하면 같은 위치에 새로운 Data가 들어간다.코드를 보면 scanf로 값을 입력받는 부분에서 길이에 대한 검사가 없어 BOF 취약점이 존재한다.처음에 아무 값이나 입력해서 버퍼의 주소를

2023년 3월 8일
·
0개의 댓글
·

[ HackCTF ] x64 Simple_size_BOF

gets에서 BOF 취약점을 찾을 수 있다.또한 puts를 통해 buffer의 주소를 알려주고 있다.buffer에 쉘코드를 넣고 gets에서 BOF를 통해 return address를 buffer로 덮어주면 된다.payload는 다음과 같이 작성하면 된다.shellco

2023년 3월 7일
·
0개의 댓글
·

[ HackCTF ] x64 Buffer Overflow

main함수에서 scanf를 보면 BOF 취약점이 존재한다.callMeMaybe함수에서는 shell을 획득할 수 있다.변수 s는 ebp-0x110에 위치하므로 다음과 같이 payload를 작성할 수 있다.dummy(0x110byte) + sfp(8byte) + 0x00

2023년 3월 7일
·
0개의 댓글
·