포너블/FTZ
FTZ level 12풀이
삼전동해커
2020. 8. 14. 19:51
level12를 풀어보장.
처음이 어렵지 이해하면 level12는 별루 어렵지 않다.
문제를 보자.
똑같이 attackme와 hint가 있다.
hint먼저 보장.
11번이랑 비슷한데 11번은 입력을 받고 실행했다면 12번은 실행 후에 입력을 받는다.
이 점을 잘 생각해야 한다.
main문을 보장.
main+3,main+9에서 똑같이 0x108과0x8만큼 sub했다.
스택이 264만큼 확장되었다.
main+49에서 lea 0xfffffef8(%ebp),%eax 명령어가 있다.
이건 ebp-264의 값을 eax에 넣었다는 의미이다.
main+55에서 push eax한 걸 보니 ebp-264가 str배열의 위치인 것 같다.
사실 11번 문제와 풀이법은 똑같다.
256만큼 str배열이고 8만큼 dummy,4만큼 sfp 총 268만큼 값을 넣어준 후 ret에 쉘코드를 넣어주는 문제이다.
근데 입력법이 다르다.
위에서 말했든 프로그램이 실행된 후 입력을 받기 때문에 프로그램을 실행 시킨 후 입력을 해야한다.
이렇게 입력하면 된다.
;cat으로 앞의 python~~명령 실행 후에 cat명령으로 이 내용을 보여준다. 이후 | attackme실행 후에 cat의 내용을 전달해 준다.
이렇게 해주면 된다.