Pwnable/FTZ

FTZ - level3 [Command]

2019. 11. 10. 22:51
목차
  1. LEVEL 3

LEVEL 3

 

[level3] passcode : can you fly?

(NO DRAG, NO PASSCODE)

 

 


역시 hint가 존재한다. hint를 뜯어보자.

C언어로 작성된 코드가 있다. 또한 동시에 여러 명령어를 사용하는 방법과 문자열 형태로 명령어를 전달하는 방법을 알고 있으면 문제를 풀 수 있을 것 같다. 먼저 코드를 살펴보자.

 

 

여기서 autodig를 실행할 때 문자열 형태로 인자를 전달하여 주고 만약 autodig에 SetUID가 설정되어있다면 전달받은 문자열 형태의 인자가, 즉 명령어가 root의 권한으로 실행된다.

 

또한 

 

1. 동시에 여러 명령어를 사용하는 방법은 명령어와 명령어 사k이에 semicolon(;)을 넣어주는 것

2. 문자열 형태로 명령어를 전달하는 방법은 명령어를 "명령어" 형태로 전달하여 주는 것

 

이 두 가지를 알아두자.

역시나 autodig에만 SetUID가 설정되어있다.

 

먼저 autodig에 인자를 하나만 넘겨주었을 때, 즉 argc = 1일 때의 경우를 살펴보자.

프로그램을 실행할 때 argv[0]은 프로그램의 이름이기 때문에 항상 argc >= 1 이다. 역시 프로그램을 다른 인자 없이 실행시키면 코드의 조건문과 같이 

 

Auto Digger Version 0.9

Usage : /bin/autodig host

 

라고 출력되며 프로그램(함수)를 종료한다.

 

이번에는 argc = 2 가 되도록 문자열 형태로 인자를 전달해보자

코드속의 system 명령어가 cmd에 들어있는 값을 읽으면서 실행시켜줄 것이기 때문에 문자열 형태로 명령어를 전달해주면 그 명령어가 실행될 것이다. 따라서

 

"/bin/bash;my-pass"

 

즉 level4의 권한을 가진 상태에서 쉘로 이동한 다음 my-pass 명령어로 level4의 passcode를 얻는 것이다.

 

먼저 dig 명령어가 실행되고 @뒤에 ip가 아닌 문자열을 전달해주었으므로 dig에 대한 오류 메시지가 뜨고 몇초후에 level4의 passcode가 출력되는 것을 볼 수 있다.

 

[level4] : suck my brain

 

저작자표시 (새창열림)

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

FTZ - level5 [Symbolic Link / Race Condition]  (0) 2019.12.23
FTZ - Level4 [Backdoor]  (0) 2019.12.01
FTZ - level2 [Editor]  (0) 2019.11.10
FTZ - level1 [SetUID]  (0) 2019.11.10
Trainer 6 ~ 10  (0) 2019.10.09
  1. LEVEL 3
'Pwnable/FTZ' 카테고리의 다른 글
  • FTZ - level5 [Symbolic Link / Race Condition]
  • FTZ - Level4 [Backdoor]
  • FTZ - level2 [Editor]
  • FTZ - level1 [SetUID]
Lucvs
Lucvs
Department of Computer Science and Engineering, 21th, Sungkyunkwan University
Lucvs
Lucvs
Lucvs
전체
오늘
어제
  • 분류 전체보기
    • Lucvs
      • 훈련소 일기
      • 寿司
      • 영국 여행기
    • Pwnable
      • Techniques
      • FTZ
      • LOB
      • HackCTF
      • Dreamhack
      • pwnable.kr
      • CTF
    • Web Hacking
      • Techniques
      • Webhacking.kr
      • HackCTF
      • Dreamhack
      • LOS
    • Reversing
      • Dreamhack
    • Cryptography
      • Modern Cryptography
      • Algorithm
      • Differential Attack (차분 공격)
      • Linear Attack (선형 공격)
    • Forensic
      • Dreamhack
    • Programming
      • C
      • Python
      • Java
    • Deep Learning
    • Network
    • Project
    • Hardware
      • Raspberry Pi
      • Arduino

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 훈련소 일기
  • lord of sql injection
  • blind sql injection
  • SQL INJECTION
  • 일기
  • 잉글랜드
  • rev-basic
  • 공군
  • Differential Attack
  • 군대
  • 드림핵
  • Lord of SQL Injeciton
  • 런던
  • 군대 일기
  • Error-Based SQL Injection
  • 차분 공격
  • dreamhack.io
  • J
  • 기훈단
  • 효전화
  • 웹해킹
  • 공군 훈련소
  • 훈련소
  • Los
  • dreamhack
  • Web Hacking
  • 기본군사훈련단
  • 여행기
  • 영국
  • 차분 분석

최근 댓글

최근 글

hELLO · Designed By 정상우.
Lucvs
FTZ - level3 [Command]
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.