system(pwnable)시스템(포너블)
-
[Dreamhack] shell_basicsystem(pwnable)시스템(포너블)/Dreamhack wargame 2022. 11. 3. 19:28
execve, execveat 시스템 콜이란, 다른 프로그램을 실행시키고 자기자신은 종료하는 함수이다. https://watchout31337.tistory.com/136 execve() 함수 execve 함수에 대해 알아보자. int execve(const char *filename, char *const argv[], char *const envp[]);파일이름 파일인자의 포인터 환경변수의 포인터 execve는 filename이 가리키는 파일을 실행한다. 이 파일은 바이 watchout31337.tistory.com 보통 위와 같은 방식으로 사용하는데, 풀이와 관련이 없다고 했으니 차치해두어도 될 것 같다. 우선 쉘코드란, 공격자가 시스템 명령어를 사용하기 위해 작성하는 소규모 소프트웨어이며 일반적으..
-
[Dreamhack] basic_exploitation_000(2)system(pwnable)시스템(포너블)/Dreamhack wargame 2022. 10. 5. 11:09
https://oulth.tistory.com/77 python pwntool exploit script 작성팁 import from pwn import * 접속 원격 접속 nc process=remote ("pwnable.kr",9000) 원격 접속 ssh shell=ssh("note","pwnable.kr",port=2222,password="guest") p=shell.run('/bin/sh') p.sendline("nc 0 9019").. oulth.tistory.com https://angelikaros.github.io/pwntools/ pwndbg 사용법 정리 pwntools 한줄 설치 ``` python3 -m pip install –upgrade pwntools angelikaros.gi..
-
-
[Dreamhack]basic_exploitation_000 빌드업(pwntools, gdb peda사용법)system(pwnable)시스템(포너블)/Dreamhack wargame 2022. 9. 25. 22:18
1) kali에 git이 설치되어있지 않은 경우 아래 명령어로 깃을 설치한다. sudo apt install git-all 2) 깃이 설치되어있는 경우 아래 명령어로 pwngdb를 설치해준다. 이미 다른 gdb가 있으면 안해도 됨 git clone http://github.com/pwndbg/pwndbg 설치를 했다고 끝난것이 아니다. 디렉토리 이동을 해준뒤 셋업파일을 실행시켜주어야한다. cd pwndbg ./setup.sh 원래는...이렇게 하면 제대로 파일 실행이 될텐데 pip버전이 업데이트되면서 문제가 발생한다고 한다. 이걸로 해결했다는 사람들도 있었다. 근데 나는 안되더라...노답 sudo python3 -m pip uninstall pip && sudo apt install python3-pip..
-
달고나 문서 BOFsystem(pwnable)시스템(포너블)/BOF 2022. 9. 20. 19:18
오늘날의 시스템은 멀티태스킹을 하므로 그림처럼 여러개의 세그먼트가 저장될 수 있다. 하나의 세그먼트는 stack/data/code로 구성된다. 코드 세그먼트에는 컴파일러가 만들어낸 기계 컴파일러 코드가 들어있다. 컴파일 과정 중에는 코드가 저장될 정확한 메모리 주소를 알 수 없기 때문에, logical address를 사용한다(실제 주소는 offset(시작점) + logical address이 된다) 데이터 세그먼트에는 프로그램 실행 시에 필요한 데이터가 저장한다. 여기서 데이터는 전역변수를 말한다. **data segment에는 initialized data segment(초기화 된 데이터 세그먼트)와 uninitialized data segment(초기화 되지 않은 데이터 세그먼트)가 있는데 segm..