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 ..
널루트 테스트에서 포너블 문제를 못 풀 것 같았는데, 운이 좋게 rich문제를 풀게 되었고 그동안 공부한 포너블 지식들을 잘 활용한 것 같아 스스로 뿌듯함을 느끼게 해준 문제였습니다. 또한 syscall에 대해 얕은 지식만 있었는데, 이 문제를 통해 처음으로 syscall을 이용한 rop로 exploit을 성공하였습니다. 저번 1차 테스트와 같이 널루트문제를 풀면서 많은 것을 찾아보며 지식을 배운 것 같습니다. 고등학생이라 단지 문제만 공유받는 중이지만 생각보다 얻는게 많은 것 같습니다. 좋은 문제 감사합니다. 1. Binary 이 바이너리는 ELF 64bit 파일입니다. static 컴파일이 되어 있었고, strip된 파일이였습니다.static 컴파일과 strip이 되어있어서 분석이 어려웠지만 gdb로..
https://filippo.io/linux-syscall-table/
옵션기능 -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..
이 문제는 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까지 ..
보다 힙을 잘 이해하기 위해서 직접 코드를 작성하여 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\..
- rt_sigreturn
- glibc
- stack reusing
- pwable
- TLS
- fastbindup
- srop
- fsop
- overflow
- pwnable.tw
- tcache
- codegate
- heap
- exit
- 해킹
- ebp change
- SQLi
- HackCTF
- pwnable
- oob
- shellcoding
- 본선가고싶다
- FSB
- hacking
- fastbin
- Total
- Today
- Yesterday