2020. 4. 23. 02:58ㆍHackctf
일단 이 글을 쓰기전에 앞서서 너무 감격스러운 순간이다.
나처럼 뭐든지 처음 해보고 미숙한 사람들을 위하여 이글을 작성한다.
나는 vmware 15버전을 사용중이고 ubuntu 18.04 버전을 사용중이다.

가장 기초적인 BOF 문제이다.
하지만 맨 처음 bof_basic 이라는 파일은 elf 파일로 구성되어있는데 윈도우에는 exe파일이 있다면
리눅스는 elf파일이 있다고 생각하면 된다.
하지만 18.04버전에서 elf파일을 실행하려고하면 32비트 프로그램을 실행할 수 있는 라이브러리가 없어서
sudo apt-get install libc6-i386 를 설치해주면 간단하게 해결할 수 있다.(이거때메 2일을 삽질했다)

그래서 보기 편하게 바탕화면으로 bof_basic을 옮겨준 후에 chmod u+x bof_basic을 하여 유저에게 excute권한을 준다
그리고 ./bof_basic을 누른 뒤에 AAAAAAAAAAAAAAAAAAAAAAAAA를 연타하니
You are on the right way! 라는 구문이 보인다.
이제 아이다를 까보자

아이다로 까서 main으로 들어간다. main으로 들어가서 f5를 누르면 저렇게 코드를 쉽게 볼수가 있다.
사진을 보면 3735928559 와 그밑에 DEADBEEF 가 보일것이다.
두개는 같다고 보면 된다 H를 눌러주면 3735928559가 DEADBEEF로 변하는 마술을 볼 수 있을것이다.
여기서 v5가 0xDEADBEEF가 되면 우리는 성공할수 있을것입니다.
s와 v5의 거리는 40byte 이고 fgets함수로 s에 45를 입력받으니
40바이트 외 나머지를 0xDEADBEEF로 채워주면될것입니다.

작성한 익스플로잇 코드....그리고 이코드를 실행 시켜주면

무려 2일동안 리눅스 설치와 apt-get들과 싸워서 얻은 결과이다. 넘 행복행^~^
'Hackctf' 카테고리의 다른 글
| Hackctf Forensic 1번 (0) | 2021.03.27 |
|---|---|
| x64 Buffer Overflow150 (0) | 2020.05.28 |
| Hackctf 내 버퍼가 흘러넘친다 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! (0) | 2020.05.21 |
| Hackctf basic_bof #2 (0) | 2020.05.21 |
| hackctf basic_bof (0) | 2020.05.21 |