일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 실시간로깅
- 리커버릿
- Python.h: No such file or directory
- Seccomp bypass
- vmware 반응 속도
- wsl2 복구
- 지훈현서
- VSCode C++ 표준 버전 수정
- vhdx 파일 복구
- Recoverit
- DYNAMIC Section
- GDB
- pip 에러 해결
- std::cerr
- tool
- pwntools
- 임베디드 시스템 해킹
- docker
- python
- OpenAI 개발
- z3 signed 이슈
- c++
- python3.11 설치
- python3.11 pip
- GEF
- 개발
- pwn
- Python3
- Windows 부팅 오류
- 공유 라이브러리는 왜 항상 같은 순서로 맵핑 될까?
- Today
- Total
목록pwntools (4)
OZ1NG의 뽀나블(Pwnable)
[*] 정리... pwntools에는 FSB를 할때 페이로드를 엄청 편하게 작성하는 것을 도와주는 fmstr_payload 메소드가 있다. 검색해보면 많이 나오지만 옛날 글이라 그런지 아니면 내가 못본건지 대부분 32bit 환경 위주의 글이고 64bit 환경에 대한 내용이 있다 하더라도 context.bits를 설정해야한다는 중요한 내용이 빠져있는 것 같아서 간단히 정리해봤다. (참고로 python2.7의 pwntools 기준이다.) [*] 사용법 사용법은 아래와 같이 매우 간단하다. - x86 (32bit) from pwn import * ... payload = '' Writes = { [덮을 대상의 주소1]:[덮을 값], [덮을 대상의 주소2]:[덮을 값], } payload += fmstr_pay..
[!] 주의할 것 pwntools로 정확한 stdout과 stdin의 값을 가져오기 위해서는 아래와 같이 해야 된다. libc.sym['_IO_2_1_stdout_'] 또는 libc.sym['_IO_2_1_stdin_'] libc.sym['stdout' (또는 stdin)] 위와 같이 한다면 stdout 또는 stdin의 값의 offset을 가져오는것이 아닌, 둘의 주소값의 offset을 가져온다.
pwnable.kr을 풀려다가 pwntools을 사용하지 않고는 내 지식선에선 풀기 힘든 문제가 있어 삽질하다 알아냈다. :) [*] ssh 접속 from pwn import * p1 = ssh("계정명", "서버주소", port=포트, password="비밀번호") 다들 pwntools을 쓴다면 위와 같이 ssh로 서버에 접속이 가능하단 것을 알거임. [*] 접속 후 특정 바이너리 실행 from pwn import * p1 = ssh("계정명", "서버주소", port=포트, password="비밀번호") p = p1.process("실행할 바이너리 절대경로") 그리고 이어서 위와 같이 우리가 로컬에서 익스할때 자주 쓰던 process로 특정 바이너리를 실행 가능함. [*] 특정 바이너리에 argv 넣..
[*] Shellcraft란? pwntools에서 제공하는 엄청난 기능으로, 매우 간단하게 shellcode를 생성할 수 있도록 도와준다. 주로 pwntools의 asm함수와 같이 사용한다. 보통 CTF에서 seccomp를 우회하는 문제가 나왔을 때 사용한다. [*] 간단한 Shellcraft 사용법 기본적인 문법 : shellcraft.[환경].[OS].[syscall 함수](함수 인자) [!] 주의 : 함수 인자에는 '주소'를 입력할 때, 꼭 레지스터를 사용해야 한다. [linux 64bit 환경 예시] 1 2 3 4 sc = shellcraft.amd64.linux.open('./flag') # open으로 ./flag라는 이름의 파일을 연다. sc += shellcraft.amd64.linux.r..