d0razi
/
Pwnable
Search...
Pwnable
15
정렬
Nowruz 1404 CTF Write-up
Seen Guessing총 7번 돌고 종료된다. win 함수도 있어서 그냥 Return 주소 조작해서 풀었다.from pwn import * # p = process('./chall') p = remote('164.92.176.247', 5002) strings = ['Sonbol', 'Sabzeh', 'Seer', 'Seeb', 'Senjed', 'S
0
0
a month ago
2 min read
pwninit 소개
pwninitpwninit 명령어를 문제 바이너리가 있는 디렉토리에서 실행하면 미리 템플릿으로 만들어놓은 익스플로잇 코드를 기반으로 파이썬 파일이 만들어지고 만약 libc 파일이 있다면 해당 파일을 기반으로 ld 파일까지 찾아 patch 까지 해주는 툴이다.GitHub - io12/pwninit: pwninit - automate starting binar
0
0
a month ago
3 min read
RTC [Return To Csu]
Return to CSUROP를 진행할 때는 가젯이 필요합니다.예를 들어 puts(”Hello World”) 코드를 실행시키려고 하면 pop rdi ret 가젯이 필요합니다.하지만 바이너리에 필요한 가젯이 없는 경우가 있습니다. 이런 상황에 사용할 수 있는 기법이 RTC기법입니다.[출처] https://wogh8732.tistory.com/156ELF 파일
0
0
a month ago
5 min read
[Dreamhack] basic_rop_x6(RTC) Write up
문제 분석#include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvb
0
0
a month ago
3 min read
[Dreamhack] rop Write up
문제 분석// Name: rop.c // Compile: gcc -o rop rop.c -fno-PIE -no-pie #include <stdio.h> #include <unistd.h> int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(s
0
0
a month ago
2 min read
[Dreamhack] Kind kid list Write up
코드 분석int __fastcall __noreturn main(int argc, const char * argv, const char * envp) { char * v3; // rsi char * v4; // rdi __int64 v5; // rdx __int64 v6; // rcx __int64 v7; // r8
0
0
a month ago
8 min read
[Dreamhack] Overwrite _rtld_global Write up
// Name: ow_rtld.c // Compile: gcc -o ow_rtld ow_rtld.c #include <stdio.h> #include <stdlib.h> void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } int main() { long ad
0
0
a month ago
8 min read
Tcache poisoning
libc > 2.25 이후부터 적용된 heap 관리 방법이며, 2.29부터는 패치 되었다고 합니다.두번의 32 byte heap 영역 할당을 통해 아래와 같이 데이터가 들어있다고 가정하자.gef➤ heap chunks Chunk(addr=0x602010, size=0x290, flags=PREV_INUSE) [0x00000000
0
0
a month ago
6 min read
Stack pivoting
Stack pivoting이란?ROP를 해야하는데 ret까지 밖에 bof가 가능할 때 사용 가능한 기법입니다.특정 영역에 Write 권한이 있을때 영역에 가젯들을 세팅해놓고 sfp를 조작하고 ret에 leave; ret 가젯을 넣어서 원하는 주소를 실행시킬 수 있습니다.leave; ret 가젯leave와 ret 명령어는 각각 아래와 같은 동작을 합니다.le
0
0
a month ago
1 min read
[pwn.college] DAM Level 1.0 Write up
hacker@dynamic-allocator-misuse-level-1-0:~$ /challenge/babyheap_level1.0 ### ### Welcome to /challenge/babyheap_level1.0! ### This challenge allows you to perform various heap operations, some of w
0
0
a month ago
3 min read
[pwnable.tw] start Write up
gef> disas main No symbol table is loaded. Use the "file" command. gef> info func All defined functions: Non-debugging symbols: 0x08048060 _start 0x0804809d _exit 0x080490a3 __bss_start 0x
0
0
a month ago
7 min read
[Dreamhack] tcache_dup Write up
// gcc -o tcache_dup tcache_dup.c -no-pie #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> char *ptr[10]; void alarm_handler() { exit(-1); } v
0
0
a month ago
6 min read
[Dreamhack] Tcache Poisoning Write up
// Name: tcache_poison.c // Compile: gcc -o tcache_poison tcache_poison.c -no-pie -Wl,-z,relro,-z,now #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { void
0
0
a month ago
5 min read
RTL - x64
RTL(Return to Libc)RTL이란 Return address 영역에 공유 라이브러리 함수의 주소로 변경해, 해당 함수를 호출하는 방식입니다.해당 기법을 이용해 NX bit(DEP)를 우회 할 수 있습니다.Calling ConventionSystem V AMD64 ABISolaris, Linux, FreeBSD, macOS 에서
0
0
a month ago
14 min read
[pwn.college] ROP Level 9.0 Write up
문제분석핵심 부분은 이번 문제는 우리가 입력한 값은 .bss 영역에 입력되고, 일부 값만 스택에 복사된다고 합니다. Stack pivoting 기법을 사용해서 익스플로잇을 해야한다고 힌트를 주네요.gdb 정적 분석복사되는 사이즈입력한 값이 얼마나 복사되는지 알기위해 memcpy 함수에 bp를 걸고 rdx 레지스터를 확인하겠습니다.복사 되는 크기 : 0x18
0
0
a month ago
5 min read
d0razi
0 팔로워
·
0 팔로잉
Hacker
태그
write up
study
exploit tech
Linux
tool
최근 댓글
아직 댓글이 없어요