HanJeouk의 개인공부 블로그

Protostar Heap1

Wargame/Protostar2017. 12. 31. 23:23

먼저 문제 코드를 보면

구조체를 보면 priority와 name 이라는 변수들을 선언한다.

그리고 priority 에 1과 2라는 값을 넣어주고 포인터 변수인 name 을 이용하여 할당을 해준다.

그리고 strcpy로 name에 할당한 곳에 입력한 값을 복사한다. 

11은 사이즈 1과 2는 priority 변수에 넣어준 값 1,2 그리고 그 옆에는 name으로 malloc한 주소다.

그리고 aaaa(0x41414141) bbbb(0x42424242) 는 내가 넣은 값이다. 그런데 보면 0x41414141(AAAA) 부분을 보면 overwrite 해서

0x0804b038 를 overwrite해서 다른 주소로 조작할 수 있을 것 같다. 나는 GOT overwrite를 할 것이다. 

puts 함수의 got를 알아와서 그 인자로 winner 함수의 주소를 넣어서 공격할 생각이다.

puts_got 와 winner의 주소를 알아냈다.

성공!

'Wargame > Protostar' 카테고리의 다른 글

Protostar Heap3  (0) 2018.01.02
Protostar Heap2  (0) 2018.01.01
Protostar Heap0  (0) 2017.12.31
Protostar Stack7  (0) 2017.04.06
Protostar Stack6  (0) 2017.04.05