32비트 환경이다
다른 보호기법들은 아직 안 배워서 잘 모르겠다 (찾아보니까 NX는 쉘코드를 실행 못하게 하는 보호기법인듯)
문제 코드이다
buf를 gets함수로 입력 받는 부분에서 BOF가 발생할 수 있기 때문에 이를 이용해서 read_flag함수의 주소로 덮어 씌우면 된다
필요한 정보 buf위치, read_flag 주소값
buf위치 : ebp-0x80
read_flag 주소값 : 0x080485b9
페이로드
: "A" * 132 + "read_flag주소값"
read_flag도 payload변수에 더해서 전달하려하면 바이트값이라 오류 나는데 원래 안되는건가.. 다른 분들 잘 하시던데
끝
* alarm함수는 해당 시간이 지나면 SIGALRM 신호를 발생시키면서 프로그램에 전달한다
signal함수는 지정 신호를 감지하면 원하는 동작을 하는 함수를 실행시킨다
basic_exploitation_000 보다 쉬워서 바로 풀었다
'System Hacking' 카테고리의 다른 글
[드림핵] ssp_001 풀이 - 티스토리 (0) | 2023.07.16 |
---|---|
[드림핵] Return to Shellcode 풀이 - 티스토리 (0) | 2023.07.12 |
[드림핵] baic_exploitation_000 풀이 - 티스토리 (0) | 2023.07.10 |
[드림핵] Return Address Overwrite 풀이 - 티스토리 (0) | 2023.07.09 |
[드림핵] shell_basic 풀이 - 티스토리 (0) | 2023.07.07 |