/tmp 디렉터리에서 버퍼 오버플로우 공격을 하면 segmentation fault (core dump)가 발생하는데, 이때 생성되는 core 파일을 분석해보면 좀 더 정확한 주소를 얻을 수 있습니다.만약 /tmp에서 버퍼 오버플로우 공격을 했는데, core 파일이 생
read로 0x100 바이트 크기의 입력을 받고 있어서 페이로드 길이도 최대 0x100 바이트 여야 합니다.하지만 Return to Csu 기법으로 익스플로잇 코드를 짜면 페이로드가 길어질 수 있다는 거를 몰라서0x148 길이의 페이로드를 입력했고 그 결과 SIGSEG
워게임을 풀다 보면 라이브러리 버전을 찾아야 할 때가 있는데, Dreamhack의 rop 문제를 통해 라이브러리 버전을 찾아보겠습니다. setvbuf, printf, read, puts처럼 문제 코드에서 사용된 함수들의 주소를 통해 라이브러리를 찾을 수 있습니다.
해당 함수의 어셈블리어 출력화면 지우기 단축키aslr 확인 명령어argv\[] InputSTDIN Inputcananry 정보 출력 명령어보호 기법 확인 명령어특정 주소의 메모리 값과 메모리가 참조하고 있는 주소를 재귀적으로 보여주는 명령어플래그 수정 명령어ELF Bi
익스플로잇 코드를 실행시켜보면SIGSEGV 에러가 발생합니다. 에러를 잡기 위해 지금부터 디버깅을 해보겠습니다.exploit code에 gdb.attach(p) 추가exploit code를 실행하면 gdb 창이 뜹니다.여기서 source \[path]/gef.py를 입
PIE 방어 기법은 코드 영역을 ASLR 처럼 랜덤화 시키는 방어기법이기 때문에, 이와 관련된 요소들에 모두 pie_base 값을 더해줘야 합니다.Ex) plt, got, 코드 주소, 가젯 주소
offset = 0x30 + 0x8 = 56offset = 56
출처 : https://www.youtube.com/watch?v=0rl5145aEMk&ab_channel=AgileDevArt
shellcode 기본 쉘 코드 scanf 우회 쉘 코드 setreuid( geteuid( ), getreuid( ) ) 포함 쉘 코드 \x2f가 없는 쉘 코드 64bit 쉘 코드 64 bit 쉘 코드 2
미러 서버 변경 터미널 zsh 설치 oh my zsh 설치 ZSH_THEME를 agnoster로 변경 powerline fonts 설치 hyper terminal 설치 hostname 지우기 Auto Suggestions Syntax Highlighti
해당 git 디렉터리에서 git_prompt 기능 끄기
pwntools를 설치했는데도 checksec가 안될 때.bashrc 또는 .zshrc에 아래 코드 추가checksec 명령어를 입력해보면 정상 작동
페이로드 전송 전에 pause() 로 잠시 멈춥니다.디버거를 엽니다.ret 에 break point를 겁니다.
함수명이 깨지지 않고 잘 나옵니다.
en_US.UTF-8 선택