Home

[How2Heap] Overlapping_Chunks

Overlapping_Chunks.c 이 기법은 glibc에서 tcache옵션이 disabled된 상태에만 작동한다. simple chunks overlapping heap에 chunk 3개를 할당해보자. 3개의 chunk가 여기에 할당됐다: p1=0x603010 p2=0x603110 p3=0x603210 이제 p2 chunk를 free시켜보자 p2 c

IDA Pro 한글 스트링 적용 방법

IDA Pro Korean String 적용 방법 패치 파일 바이너리 파일에 영어가 아닌 다른 언어가 입력돼있으면 IDA에서는 puts(byte_8048840) 처럼 한글 그대로 나오지 않는 것을 볼 수 있다. 물론 대부분은 영어로 작성돼있고 이렇게 돼있는다 한들, 보는 데 크게 지장을 주진 않지만 그래도 한번 찾아본 결과, 방법을 알아볼 수 있었다.

HSCTF 2019 Combo Chain

Combo Chain Binary File 123456789101112131415161718192021222324252627282930313233343536373839from pwn import *#r = process('./combo-chain')r = remote('pwn.hsctf.com', 2345)e = ELF

[How2Heap] Poison_null_byte

Poison_null_byte.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949

[How2Heap] House_of_spirit

House_of_spirit.c house of spirit malloc을 한 번 호출해서 메모리를 설정한다. 이제 fake fastbin 영역을 가리키는 포인터를 overwirte할 것이다. 이 영역(메모리 길이: 80)은 chunk가 2개 있다. 첫번째는 0x7fffffffe338에서 시작하고 두번째는 0x7fffffffe378에서 시작한다. 이 영

[How2Heap] unsafe_unlink

unsafe_unlink.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include <stdio.h>#include <stdlib.h>#include <string.h&g

[How2Heap] fastbin_dup_into_consolidate

fastbin_dup_into_consolidate.c 12345678910111213141516171819202122#include <stdio.h>#include <stdint.h>#include <stdlib.h>int main() { void* p1 = malloc(0x40); void* p2 = mal

[How2Heap] fastbin_dup_into_stack

fastbin_dup_into_stack.c 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <stdio.h>#include <stdlib.h>int main(){ fprintf(stderr, &qu