LOB - 14. bugbear-> giant

2018. 7. 30. 12:30WarGame/LOB

이번문제 엄청 어려웠어요..ㅠㅠ

다른분들의 글을 보고도 상당히 많이 어리버리깠습니다 ㅎ.


ㅠㅠㅠ 로그인부터합니다.



소스코드 확인!



와우...........엄청긴데요 ㅠ

fd를 쓰는걸보아 다른파일을 열어오나?? 추측도 했었어요 그런데 아니더라고요 ㅋㅋ


파일에 있는 글을 보니 "You must use execve!"

execve를 쓰라고만 되어있네요!


execve함수는 뭐지?

인자값으로 파일명, 인수, 환경설정, 반환값을 정하네요.




그럼 각각 execve위치, system위치, exit위치, /bin/sh위치, NULL값 을 구하면 되겠네요!



파일을 복사시키고 디버깅을통해서 execve, system, exit를 찾았습니다.



그리고 프로그램을 돌려서"/bin/sh"의 위치를 찾았습니다.



항상 값이 NULL인 부분의 위치는 0xbffffffc이므로 이부분을 가져다 쓰도록 하겠습니다.


그럼 이 순서대로 쓰래기값*44 + execve + system +/bin/sh + null 을 하면 exploit이 가능할 것으로 예상이 됩니다.



풀리긴풀렸는데 좀 찜찜하네요 ㅎㅎ


`python 시작부분과 끝부분을 ""으로 묶어 줘야만 한다고들 하시는데 이에 정확한 이유는 아직 잘 모르겠습니다 ㅠ 더 조사해보겠지만 아시는분이 계신다면 댓글 남겨주시면 감사하겠습니다 ㅠ

'WarGame > LOB' 카테고리의 다른 글

LOB - 16. assassin -> zombie_asssassin  (264) 2018.07.30
LOB - 15. giant -> assassin  (283) 2018.07.30
LOB - 13. darkknight-> bugbear  (256) 2018.07.30
LOB - 12. golem -> darkknight  (277) 2018.07.30
LOB - 11. skeleton -> golem  (268) 2018.07.29