728x90 해커스쿨ftz4 Hackerschool FTZ: Level 9 문제 풀이 [level9@ftz level9]$ cat hint /usr/bin/bof의 소스코드를 보여주고 있다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 이걸 이용해서 level10의 권한을 얻으면 된다. 일단 C언어 코드인 것 같고.. 변수는 buf2, buf 이렇게 두개다. printf("It can be overflow :")라고 적혀있고.. .. 2023. 3. 9. Hackerschool FTZ: Level 8 문제 풀이 level9의 shadow 파일이 서버 어딘가에 숨어있다고 한다. 유일한 단서는 용량이 2700이라는 것.. 이런식으로 찾아봤다. size는 find 명령어의 옵션이고, 2700c에 c는 바이트를 의미함. 근데 -가 붙으면 이하라는 소리고, +가 붙으면 이상이라는건데.. 아래 출력된 것들은 2700byte 이하지 2700 byte는 아니다. 그러고보니.. 위치 설정을 안해줬다. 최상위 폴더 기준으로 해야하기 때문에 다시 명령어를 입력해보았다. find / -size 2700c 2>null 이렇게 4개의 2700byte 파일이 출력되었다. 하나씩 읽어봤는데, /etc/rc.d/found.txt가 shadow 파일이었다. 보니까 salt 값도 함께 들어가있다. $1는 id로 어떤 암호화가 적용되었는지를 의미.. 2023. 3. 2. Hackerschool FTZ: Level 7 문제 풀이 /bin/level7 명령을 실행하면, 패스워드 입력을 요청한다. 1. 패스워드는 가까운곳에.. 2. 상상력을 총동원하라 3. 2진수를 10진수로 바꿀 수 있는가? 4. 계산기 설정을 공학용으로 바꾸어라. /bin/level7 을 실행해봤더니, Insert The Password 라고 뜨면서 비밀번호를 입력하라고 한다. 그냥 level7 비밀번호를 입력했는데 cat: /bin/wrong.txt: No such file or directory 라고 뜬다. 저 /bin/wrong.txt이 뭔가..! wrong.txt 파일을 만들어보려고 했는데 그것도 안됨. 일단 setuid가 걸려있는걸 확인했다. 진짜 며칠을 봐도 이해가 안돼서 결국 검색을 했는데, 'FTZ 서버를 로컬에서 구축한 사람의 경우 /bin/wr.. 2023. 3. 1. Hackerschool FTZ: Level 3 문제 풀이 level3에 접속했다. ls 명령어 입력 후 hint 파일 발견 C언어인거 같다.. more hints를 보면 동시에 여러 명령어를 사용하는법, 그리고 문자열 형태로 명령어를 전달하는 법에 대해도 알아야 한다고 나와있다. 아직은 무슨말인지 잘 모르겠어서 autodig 파일이 어딨는지 찾아봤다. 이것도 Setuid가 걸려있다. Auto Digger Version 0.9 Usage : /bin/autodig host 이렇게 뜨는게 아까 argc가 2가 아닐 때를 의미하는데, argc는 명령행 옵션의 개수가 저장되는 것이고, argv는 그 명령 옵션들이 저장되는 곳이다. 그니까 명령행 옵션이 2개이면..? 문제가 풀리는거 같다. ... 참고로 strcpy()는 스트링 복사, string2를 string1로 .. 2023. 1. 15. 이전 1 다음 728x90