ssoL2 TISTORY

[FTZ] LEVEL 3 풀이 본문

challenge/pwn

[FTZ] LEVEL 3 풀이

ssoL2 2020. 11. 15. 02:36

login and ls

 

hint

1. 인자는 2개여야 함

2. dig @argv [1] version.bind chaos txt가 실행됨

 

 

dig는 서버로부터 dns 정상 점검용

 

server 지정안해주면 자동으로 /etc/resolv.conf에 등록된 네임서버로 지정됨

 

지정안하면 자동으로 nameserver 저기로 지정된다는 거 ㅇㅇ

 

 

최종적으로 dig @argv[1] version.bind chaos txt 실행될 때

argv[1] 즉, 두 번째 인자로 넣는 게 서버가 될 텐데.............. 갑자기 무슨 서버? 흠;;

일단 more hint에서

동시에 여러 명령어 가능하고, 문자열 형태로 명령어를 전달한다고 하는 것 보니

argv [1]로 dig가 아닌 다른 명령어를 넣는 것 같다. 이를 문자열 형태로 넣고 ㅇㅇ

 

 

 

일단 level4 setuid 권한 있는 파일 찾자 => autodig

 

실행 시켜보니 저리 나옴. 사실 당연한거임 앞에서 인자는 2개 필요하다 했으니까.

 

 

<linux 다중 명령어>

 

A;B 이면 A 실행 후 B 실행 (A의 실행 성공 여부 상관X)

 

A&&B 이면 A 실행 성공 후에만 B 실행

 

 

그렇군

 

 

dig @argv [1] version.bind chaos txt

여기서 dig @는 실행되고 나서 argv [1]이 입력 되잖음

이때 ;로 끊고 새로운 명령어를 넣으면 실행될 것이다 이거임

 

대신 argv [1] 자체가 쉘에서 친 문자열 그대로 들어가야 하므로 큰 따옴표로 전체해줘야 함

 

 

예를 들어 이렇게 하면, dig @;id; version.bind chaos txt 이렇게 들어가는 거임. 즉, dig @만 실행되고 서버이름을 쓰지 않았으니 두번째 줄 처럼 couldn't find server나오는 거고, 다음 명령어인 id 실행되니 세번째 줄 처럼 id정보 나오고, 마지막으로 version.bind chaos txt는 dig의 옵션 같은 존재이므로 애초에 실행될 수가 없으므로 command not found가 되는 것임.

이런 원리로 ";ㅁ;" 이렇게 ㅁ에 /bin/sh 하면 쉘 들어가기 가능일 듯

 

 

version.bind 와 chaos 와 txt 는 옵션인 듯 하네

 

실행 하니 앞부분 dig @는 실행오류되고 이후 /bin/sh로 쉘 들어옴

 

sh-2.05b$는 /bin/sh 쉘 실행 중인 것임

 

쉘에서 my-pass하면 level4 비번 나옴 샤샷

 

 

쉘에서 종료하려면 exit

 

 

 

출처

v0nsch3lling.tistory.com/15

 

해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초

해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초 What every applicant for the hacker should know about the foundation of buffer overflow attacks dalgona@wowhacker.com zinwon@gmail.com 2005.9...

v0nsch3lling.tistory.com

ludere.tistory.com/36

 

[FTZ] FTZ level3 문제 풀이 ( write up )

FTZ level3 문제를 풀어보도록 하겠습니다. 힌트 체크 level3로 로그인하여 ls -l 리스트 명령어를 입력하니, 이번에도 hint 파일이 있습니다. 이번 hint는 autodig의 소스코드와 두가지 힌트가 더 있습니

ludere.tistory.com

brownbears.tistory.com/205

 

[Linux] 다중명령어(세미콜론, 파이프, &&, ||) 차이점

세미콜론(;) 하나의 명령어 라인에서 여러 개의 명령을 실행(하나의 명령어 다음에 추가) 첫 번째 명령이 실패하여도 두 번째 명령은 반드시 실행이 됨. $ printf "first command\n"; printf "second command\n" f

brownbears.tistory.com

 

'challenge > pwn' 카테고리의 다른 글

[FTZ] LEVEL 5 풀이  (0) 2021.01.28
[FTZ] LEVEL 4 완벽 분석  (0) 2020.11.16
[FTZ] LEVEL 2 풀이  (0) 2020.11.14
[FTZ] LEVEL 1 풀이  (0) 2020.11.14
pwnable.kr [flag]  (0) 2019.07.09
Comments