이제 Wolfman을 잡으러 갑시다!
이런 코드네요.
일단 이전 문제처럼 환경변수를 사용할 수는 없고
buffer 영역 또한 사용할 수 없다고하네요?
근데 이렇게 되면 이전 문제에서 사용한 방법이랑 똑같이 사용해도 될 것 같습니다.
이전 문제에서도 buffer 영역을 사용하지 않고 ret 다음 영역을 사용했기 때문이죠.
물론 댓글에 buffer에도 집어넣을 수 있다고는 말해놨지만, 그게 이전 문제의 의도였나 보네요..ㅎ
아무튼 똑같은 방식으로 해결해보겠습니다.
더미는 없습니다.(buffer[40] +int[4])
A 44개 + \xbf 4개 + C 100개를 넣어봤습니다.
잘 들어가는군요
0xbffffb04
대충 이 주소를 ret에 넣어서 작성해봅시다.
넣어서 작성했더니 illegal instruction이 나오네요.
그래서 nop 개수를 바꿨더니 segmentation fault가 나오고... 짜증납니다.
그래서 다시 찾아줬습니다.
이젠 잘 되네요... 아깐 뭐가 문제였는지...
찾아보니까 gdb로 디버깅하면 어딘가에 한번 복사되어 들어가기 때문에 동적으로 돌아가는 실제 프로세스의 주소와 차이가 있다고 합니다. 아마도 이 문제가 아니었을지 생각해봅니다.
뭐 다시해서 성공했으니까 잘못 푼건 아니겠죠? ㅎㅎ
여기까지 포스팅하겠습니다!
'Hacking-기초 > [PWN] LOB' 카테고리의 다른 글
Lord Of BufferOverflow (7) Darkelf→Orge (0) | 2020.04.21 |
---|---|
Lord Of BufferOverflow (6) Wolfman→Darkelf (0) | 2020.04.21 |
Lord Of BufferOverflow (4) Goblin→Orc (1) | 2020.04.16 |
Lord Of BufferOverflow (3) Cobolt→Goblin (0) | 2020.04.16 |
Lord Of BufferOverflow (2) Gremlin→Cobolt (0) | 2020.04.16 |