Notice
Recent Posts
Recent Comments
- Today
- Total
Phantom
FTZ Level9 본문
반응형
먼저 level10소유의 파일을 먼저 찾는다
디버깅을 하려했지만 권한이 없다 어차피 소스코드가 있으니 컴파일하고 디버깅한다
이번 문제는 다른 내용들은 크게 중요하지 않다
먼저 스택 프레임, 즉, 프로그램이 로딩될 때 얼마의 용량을 차지하는지에 대한 부분을 볼것이다
0x28, 40바이트가 할당된다 소스코드를 보면
char buf2[10];
char buf[10]; 이렇게 총 20바이트가 할당된다 더미가 들어간다는 것이다 그럼 더미가 어디에, 얼마나 들어가는지 알아보자
저 부분을 보면 ebp-40에 fget함수를 사용하고 0x10을 정리한다 즉 ebp-40부터 10만큼을 사용하는 것이다
그리고 ebp-24를 strcmp에 사용하면서 0x10을 정리한다 ebp-24부터 10만큼 사용하는 것이다
소스코드를 보면
fgets(buf,40,stdin);
if ( strncmp(buf2, "go", 2) == 0 )
이다 즉 ebp-40부터 10만큼 사용하는곳은 buf가 되고 ebp-24부터 10만큼사용하는 것은 buf2가 된다 스택을 그려보면
buf[10] | dummy(6) | buf2[10] | dummy(14)
이렇게 되지 않을까 생각한다
답을 넣어보자
펄로 ax16, go를 넣어보려 했는데 good skill!!이라고만뜨고 setreuid가 실행되질않는다
어쨌든 level9를 클리어했다
반응형
'Pwnable > [Wargame] FTZ' 카테고리의 다른 글
FTZ Level11 (0) | 2016.03.18 |
---|---|
FTZ Level10 (0) | 2016.03.18 |
FTZ Level8 (0) | 2016.03.18 |
FTZ Level7 (0) | 2016.03.18 |
FTZ Level6 (0) | 2016.03.18 |
Comments