본문 바로가기

분류 전체보기

(185)
[pwnable.xyz] AdultVM2 from pwn import * context.log_level = "debug" #p = process("./userland") p = remote("svc.pwnable.xyz", 30048) ru = lambda a : p.recvuntil(a) snd = lambda a : p.send(a) snl = lambda a : p.sendline(a) def show(idx): ru(b"Exit\n") snl(b"2") ru(b": ") snl(str(idx).encode()) def edit(idx, data): ru(b"Exit\n") snl(b"1") ru(b": ") snl(str(idx).encode()) ru(b": ") snd(data) syscall = 0x0004000338 read =..
[pwnable.xyz] AdultVM3 from pwn import *#context.log_level = "debug"#p = process("./userland")p = remote("svc.pwnable.xyz", 30048)ru = lambda a : p.recvuntil(a)snd = lambda a : p.send(a)snl = lambda a : p.sendline(a)def show(idx): ru(b"Exit\n") snl(b"2") ru(b": ") snl(str(idx).encode())def edit(idx, data): ru(b"Exit\n") snl(b"1") ru(b": ") snl(str(idx).encode()) ru(b": ") snd(data)syscall..
볼꺼 보호되어 있는 글입니다.
[hack.lu 2023 CTF] custom office 멀티 프로세스로 구현된 server와 client로 client가 기능을 서버로 custom 패킷을 보내고 서버는 이를 받아 처리하는 방식으로 동작합니다 총 2개의 취약점을 사용하였는데 user가 user의 패스워드를 받는 기능에서 oob 버그가 발생하여 leak이 가능했습니다 다음 취약점은 user를 생성하는 과정에서 malloc으로 user struct를 할당 받고 memset으로 초기화를 하는 등의 작업이 없어 fake password를 구성하여 원하는 주소를 free시킬 수 있는 버그가 있습니다 그래서 힙에 미리 rop chain을 구성해두고 stack ret를 stack pivoting할 수 있는 가젯으로 덮어 플래그를 읽어 아무 password에 덮어둔 뒤 password 출력 기능으로 fla..
2023 회고록 (feat. 전역) 보호되어 있는 글입니다.
[pwnable.tw] Bounty Program β 보호되어 있는 글입니다.
ㅂㅂㅂ 보호되어 있는 글입니다.
[pwnable.tw] kidding 보호되어 있는 글입니다.