-
[LOB] succubus > nightmareWargame/Lord of Buffer Overflow 2021. 7. 16. 10:59
[LOB] succubus > nightmare
PLT
Return Address에 strcpy가 들어가야 한다.
그리고 27번 줄에서 Return Address다음 4Byte를 A로 바꾸는데 RTL Chaning을 방지하는 것 같다.
Return Address에 strcpy를 넣고 이를 통해 A로 바뀐 4Byte를 원하는 주소로 바꿔서 RTL Chaning을 할 수 있다.
gdb로 메인 함수를 살펴보면 이렇게 친절하게 strcpy의 PLT가 보인다.
0x8048410
이제 core dumped를 일으켜 strcpy의 Return Address의 주소와 쉘 코드가 들어갈 주소를 찾아보자
A가 들어간 0xbffffad0가 strcpy의 첫 번째 인자가 되고
두 번째 인자인 다음 4Byte(0xbffffad4)에 쉘 코드의 주소를 넣으면
strcpy함수가 끝날 때 쉘코드로 이동해 쉘이 실행된다.
주소가 바뀌었다.
nightmare / beg for me
'Wargame > Lord of Buffer Overflow' 카테고리의 다른 글
[LOB] xavius > death_knight (0) 2021.08.18 [LOB] nightmare > xavius (0) 2021.07.16 [LOB] zombie_assassin > succubus (0) 2021.07.15 [LOB] assassin > zombie_assassin (0) 2021.07.15 [LOB] giant > assassin (0) 2021.07.15