Protostar Heap0 [구조체활용]
2017. 6. 14. 14:59ㆍSystemHacking/Protostar
Protostar Heap0번 문제입니다
[ 그림1 ]
힙에서의 메모리 구조는 스택의 구조와는 반대로 생각하시면 됩니다( First-in-Frist-out )
임의로 인자를 주어 파일을 실행시켜보면 포인터 d와 f의 주소가 나와있습니다
이를 이용해 메모리 구조를 그려보자면 다음과 같습니다
[ 높은 주소 ]
[ Stack ]
[ f ]
[ dummy (6byte) ]
[ d ]
[ 낮은 주소 ]
[ 그림2 ]
포인터 d가 가리키고 있는 구조체 data의 name변수를 버퍼 오버 플로우 시키고 나머지 dummy값도 버퍼오버플로우시킵니다
그리고 objdump명령어를 사용하여 알아낸 winner()함수의 주소를 포인터f의 값으로 덮어 씌우면 공격성공입니다
'SystemHacking > Protostar' 카테고리의 다른 글
Protostar Heap3 [ Double Free Bug ] (18) | 2017.06.14 |
---|---|
Protostar Heap2 [ Heap Overflow ] (0) | 2017.06.14 |
Protostar Format4 [ FSB / PLT / GOT ] (0) | 2017.06.13 |
Protostar Format3 [ FSB / objdump ] (0) | 2017.06.13 |
Protostar Format2 [ FSB / objdump ] (0) | 2017.06.13 |