코드가 level18에 비해 휑하다

코드가 휑하다 못해 setreuid나 /bin/sh가사라졌다.

그래서 직접 문서를 보며 쉘코드를 만들거나 41바이트 쉘코드를 사용해야 한다.

이렇게 환경변수에 등록 후 넉넉히 넣어주면 오버플로우가 된다.




Flag : we are just regular guys

'IT > FTZ' 카테고리의 다른 글

[FTZ] level20  (0) 2016.07.10
[FTZ] level18  (0) 2016.07.10
[FTZ] level17  (0) 2016.07.10
[FTZ] level16  (0) 2016.07.10
[FTZ] level15  (0) 2016.07.10


코드가 엄청나게 길다.

문제를 보면 string에 값을 넣고, check와 deadbeef가 같다면 shellout 함수를 실행시킬수 있다.

하지만 스택구조상으로는 string으로 check를 건들수는 없다

왜냐하면 스택에는 string배열 먼저 쌓이고, 그 위에 check가 쌓이게 된다

- - - - | check | stirng | sfp | ret |

로 쌓이게 된다.

하지만 코트를 자세히 보면 0x08일때 count가 --된다. 그렇다면 4번 0x08일때는 stirng[-4] 인 즉 check의 주소가 된다.

그러므로 이렇게 할 수있다.

Flag : swimming in pink

'IT > FTZ' 카테고리의 다른 글

[FTZ] level20  (0) 2016.07.10
[FTZ] level19  (0) 2016.07.10
[FTZ] level17  (0) 2016.07.10
[FTZ] level16  (0) 2016.07.10
[FTZ] level15  (0) 2016.07.10

코드를 보면 shell 함수가 빠지고 setreuid가 main 안으로 이동했다.

또한 /bin/sh가 빠졌으므로 직접 쉘코드를 메모리에 넣어야 한다.    

전 문제들과 같은 방법을 사용해 환경변수를 이용해서 넣어주면 된다.


Flag : why did you do it


'IT > FTZ' 카테고리의 다른 글

[FTZ] level19  (0) 2016.07.10
[FTZ] level18  (0) 2016.07.10
[FTZ] level16  (0) 2016.07.10
[FTZ] level15  (0) 2016.07.10
[FTZ] level14  (0) 2016.07.10

+ Recent posts