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

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

전체 글
libc database 사용법

https://github.com/niklasb/libc-database 이 곳에서 git clone을 이용해서 다운 받을 수 있다. 처음에 설치 해주면 libc들을 수집 해야한다. ./get을 실행하면 자동으로 libc들을 수집해준다. ./add [libc path] 해서 수동으로 추가 할 수도 있다. libc 파일을 찾을려면, ./find [함수이름] [함수주소] [함수이름] [함수주소]하면 된다. // 하위 3바이트만 입력해도 된다. 이렇게 하면 id와 libc 정보를 알 수 있다. offset을 구하려면 ./dump [위에 나온 libc정보] 하면 offset을 구할 수 있다. ./dump [위에 나온 libc정보] [함수주소] 하면 원하는 함수의 offset을 구할 수 있다. 참고로 ./get ..

pwnable/정리 2018. 8. 5. 23:23
64bit srop write-up

널루트 테스트에서 포너블 문제를 못 풀 것 같았는데, 운이 좋게 rich문제를 풀게 되었고 그동안 공부한 포너블 지식들을 잘 활용한 것 같아 스스로 뿌듯함을 느끼게 해준 문제였습니다. 또한 syscall에 대해 얕은 지식만 있었는데, 이 문제를 통해 처음으로 syscall을 이용한 rop로 exploit을 성공하였습니다. 저번 1차 테스트와 같이 널루트문제를 풀면서 많은 것을 찾아보며 지식을 배운 것 같습니다. 고등학생이라 단지 문제만 공유받는 중이지만 생각보다 얻는게 많은 것 같습니다. 좋은 문제 감사합니다. 1. Binary 이 바이너리는 ELF 64bit 파일입니다. static 컴파일이 되어 있었고, strip된 파일이였습니다.static 컴파일과 strip이 되어있어서 분석이 어려웠지만 gdb로..

pwnable/CTF write-up 2018. 8. 5. 15:56
64bit syscall table

https://filippo.io/linux-syscall-table/

pwnable/정리 2018. 8. 5. 03:00
gcc 컴파일 옵션

옵션기능 -m32 32bit로 컴파일 -fstack-protector(-all)ssp 보호기법 켜기 -fno-stack-protectorssp 보호기법 끄기 -W,-Wall모호한 코딩에 경고를 보냄 -S어셈블리 파일 생성 -std=[c표준]지정한 c표준으로 컴파일 -l[라이브러리] 해당 라이브러리를 링크 -shared공유 라이브러리를 우선 링크 -static정적 라이브러리를 우선 링크 -s 심볼 테이블 제거 -Wl,-z,relro,-z,nowFull Relro 보호기법 적용 -e [name]시작 심볼을 name심볼로 사용 -M 심볼들의 정보르 자세히 출력 -fno-builtin단독으로 링크(표준lib 링크 X) -mpreferred-stack-boundary=2더미 없애기 (32bit = 2, 64bit..

pwnable/정리 2018. 8. 4. 01:05
pwntools libc.search로 "/bin/sh" 찾기

list(libc.search("/bin/sh"))[0] 이렇게 하면 list로 짝 뽑아준다. 물론 libc = ELF("/lib주소") 해야한다.

pwnable/정리 2018. 7. 29. 22:27
pwntools stdin, stdout offset 구하기

stdout_offset = lib.symbols['_IO_2_1_stdout_']stdin_offset = lib.symbols['_IO_2_1_stdin_'] 함수는 걍 이렇게system_offset = lib.symbols['system']

pwnable/정리 2018. 7. 29. 22:25
[BCTF 2016] bcloud write-up

이 문제는 house of force기법을 이용한 힙 문제인데, format string bug를 trigger하는 과정이 필요하고 나한테는 다소 복잡하지만 이해하니 재밌는 문제였다. fileELF 32bit 파일이다. 보호기법canary와 nx가 걸려있다. 분석main함수를 보면 먼저 while문 전에 함수를 호출한다. input_name함수를 보면 Input your name: 이라는 문구가 출력되고 input_read 함수가 실행된다. 2번째 인자까지 입력 받고, 개행문자가 도중에 있으면 break한다. 다시 input_name 함수로 돌아와서, v2 를 0x40(64) 만큼 malloc 해주고 입력 받은 name을 chunk에 strcpy를 진행한다. malloc 공간이 64이고 입력도 64까지 ..

pwnable/CTF write-up 2018. 7. 28. 09:23
heap chunk 구조 분석

보다 힙을 잘 이해하기 위해서 직접 코드를 작성하여 malloc과 free과정에서의 heap chunk의 구조와 변화하는 과정을 분석하였다. gdb를 이용해서 분석해보도록 하자. 나는 gdb의 상위 버전인 gef를 이용했다.그리고 64bit 기준으로 컴파일/분석하였다. 32비트는 직접해보길 바란다. 먼저 내가 작성한 코드이다.>>heapstruct.c1234567891011121314#include #include #include int main(int argc, char *argv[]){ char* buf = (char*)malloc(256); char* buf1 = (char*)malloc(512); strcpy(buf, argv[1]); strcpy(buf1, argv[2]); printf("%s\..

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

Powered by Tistory / Designed by INJE

티스토리툴바