# FTZ

38개의 포스트
post-thumbnail

FTZ level7

Free Training Zone Level 7

2021년 8월 12일
·
0개의 댓글
post-thumbnail

FTZ level6

Free Training Zone Level 6

2021년 8월 12일
·
0개의 댓글
post-thumbnail

FTZ level5

Free Training Zone Level 5

2021년 8월 12일
·
0개의 댓글
post-thumbnail

FTZ level4

Free Training Zone Level 4

2021년 8월 12일
·
0개의 댓글
post-thumbnail

FTZ level3

Free Training Zone Level 3

2021년 8월 12일
·
0개의 댓글
post-thumbnail

FTZ level2

Free Training Zone Level 2

2021년 8월 11일
·
0개의 댓글

[완결] 후기

Level 8 정도까지는 OS 사용에 대한 문제가 나와서 쉬웠지만 그 이후로 어셈블리어를 통한 버퍼 오버플로우 문제가 나와서 처음에는 이해가 힘들었다.그러나 스택이 어떻게 형성되는지만 이해하면 살짝씩만 바꿔 놓은 문제들은 쉽게 공격법을 파악할 수 있었다.Red Hat

2021년 8월 10일
·
0개의 댓글

FTZ Level 20

대망의 마지막 문제다.hint는 다음과 같다.fgets를 이용한 표준 입력을 받고 있다. 그러나 이번에는 길이 제한이 bleh보다 작기 때문에 버퍼 오버플로우가 일어나지 않는다.하지만 printf를 보니 포맷 스트링 버그가 발생하는 부분이 있다.포맷 스트링 버그에 대해

2021년 8월 10일
·
0개의 댓글

FTZ Level 19

hint는 정말 짧다.Level 18에서 엄청나게 긴 코드를 주더니 이번 문제에서는 달랑 5줄이다.gets 함수를 사용하므로 문자열 길이를 체크하지 않고, 버퍼 오버플로우가 발생할 수 있다.그러나 이전 문제와는 다르게 setreuid 함수조차 없다. 그러므로 setre

2021년 8월 10일
·
0개의 댓글

FTZ Level 18

hint의 코드가 상당히 길고 어려워서 아래에 따로 옮기고 주석을 붙였다.해석이 어렵지만, 초반의 변수 선언 부분을 보면 이전까지와는 다르게 check가 string보다 나중에 선언되고 있기 때문에 check를 일반적인 방법으로 변조할 수 없다. 그러나 switch문의

2021년 8월 10일
·
0개의 댓글
post-thumbnail

FTZ level1

Free Training Zone Level 1

2021년 8월 10일
·
0개의 댓글
post-thumbnail

FTZ Intro

Free Training Zone

2021년 8월 10일
·
0개의 댓글

FTZ Level 17

hint는 다음과 같다.Level 16의 소스 코드와 비슷하지만, 이번에는 shell 함수가 없고 setreuid 함수가 main 함수 안에서 호출되고 있다. system 함수를 통한 쉘 실행이 없기 때문에 쉘코드를 사용해야 한다.printit 함수의 시작 주소가 ca

2021년 8월 10일
·
0개의 댓글

FTZ Level 16

hint는 다음과 같다.이번에는 함수가 3개다. main 함수를 보면 call이라는 void형 포인터에 printit 함수의 주소를 넣고, fgets 함수가 실행된 이후에 호출하는 것을 볼 수 있다.20바이트의 buf에 48바이트만큼의 입력을 허용하고 있기 때문에 버퍼

2021년 8월 10일
·
0개의 댓글

FTZ Level 15

hint는 다음과 같다.이번에는 check 변수가 포인터로 선언되었다.포인터가 가지는 값은 특정한 주소가 가리키는 값이기 때문에 0xdeadbeef를 직접 넣으면 0xdeadbeef가 가리키는 값을 찾아가게 된다. 이 문제에서는 포인터에 들어간 주소가 가리키는 값이 0

2021년 8월 10일
·
0개의 댓글

FTZ Level 14

hint는 다음과 같다.이번에는 실행 인자가 아니라 fgets로 입력을 받는다.Level 9와 비슷하게 길이 제한이 buf보다 25바이트나 크기 때문에 버퍼 오버플로우가 발생할 수 있다.그리고 Level 13과 비슷한 check라는 변수가 있는데, 변수의 값이 0xde

2021년 8월 10일
·
0개의 댓글

FTZ Level 13

hint는 다음과 같다.이번에는 버퍼 오버플로우를 방지하기 위한 장치가 있는 것을 볼 수 있다.i가 변조될 경우 버퍼 오버플로우로 인식해 프로그램을 강제로 종료한다.argc가 1보다 클 때 strcpy 함수가 실행되기 때문에 이번 문제는 실행 인자를 통해 입력을 받는다

2021년 8월 10일
·
0개의 댓글

FTZ Level 12

hint는 다음과 같다.문자열을 프로그램 실행 인자에서 가져오던 것이 gets 함수로 바뀐 것을 빼면 Level 11과 별다른 점이 없다.소스 코드를 다시 컴파일하고 gdb로 뜯어 보았다.<main+0>, <main+1>에서 스택의 기본 프레임을 만들고 &l

2021년 8월 10일
·
0개의 댓글

FTZ Level 11

hint는 다음과 같은 소스 코드다.attackme의 소스 코드인 것 같다.attackme는 level12 권한으로 setuid가 걸려 있다.attackme에 대한 권한이 없으므로 힌트에 나온 소스 코드를 gcc로 새로 컴파일 후 gdb로 역어셈블한다.<main+

2021년 8월 8일
·
0개의 댓글

[FTZ] level5

cat hint를 해서 이번 문제의 힌트를 봅시다. '/usr/bin/level5 프로그램은 /tmp 디렉토리에level5.tmp 라는 이름의 임시파일을 생성한다.이를 이용하여 level6의 권한을 얻어라.'라고 적혀있군요.level5.tmp파일을 생성하기 위해서 /u

2021년 8월 8일
·
0개의 댓글