System/FTZ
[FTZ school] level 14
BadSchool
2019. 3. 19. 05:42
▲레벨14 이후로는 mainsource의 문제를 그대로 가져왔습니다. 버퍼 오버플로우, 포맷스트링을 학습하는데는 이 문제들이 최고의 효과를 가져다줍니다. 라고 하네요. 일단 디스어셈블 해보겠습니다.
▲ 버퍼의 크기는 56(=0x38) 해당 프로그램은 check변수가 0xdeadbeef라면 권한을 주는 프로그램이네요. 딱히 사이에 다른 공간이 없으므로 귀찮게 deadbeef체크 부분을 찾지 않고 그냥 deadbeef로 덮어버렸습니다.
▲ 원래는 사이 거리까지 구해야하지만 ㅎㅎ... 별로 어려운 것이 아니기에 그냥 풀었습니다.
(python -c 'print "\xef\xbe\xad\xde"*56';cat) | ./attackme