반응형
바로 시작해 보자.
level3의 힌트는 아래와 같다.
소스코드를 유심히 보자.
조건문에 인자가 2개가 아니라면 프로그램이 종료 됨을 확인할 수 있다.
만약 2개의 인자가 들어오게 된다면, 첫 번째 인자는 프로그램의 실행 프로그램명을 의미할테고,
두번째 들어오는 놈을 cmd char형 배열에 붙여 넣는다.
마지막에 system 함수로 실행하게 된다.
cmd를 확인해 보면 "dig@ 입력되는놈 version.bind chaos txt"
이란 명령이 system 함수에 들어간다.
다음 힌트를 보면 동시에 여러 명령어를 사용하려면? 문자열 형태로 명령어를 전달하려면?
이란 힌트가 있다.
system 함수에 명령이 하나가 아닌 두개가 들어가서 실행이 된다면?
그럼 password를 바로 알 수 있지 않을까?
한번 시도해 보자.
autodig 파일을 찾았다. /bin/경로에 존재 하고 있다.
system 함수에서 실행 하는 dig란 놈은 도메인의 IP 주소를 확인하는 프로그램이라고 생각하면 된다.
여기서는 그놈이 문제가 아니다. 저기 들어가는 명령어가 문제일 뿐!!
저 파일을 공격해 보자.
system 함수는 문자열로 명령을 받아 들일 수 있다. 문제는 동시에 여러개 명령을 받아 들인다는 취약점을 공략하는 것.
아래와 같이 큰 따옴표 안에 | 를 이용하여 원하는 명령어를 집어 넣으면
두개 모두 실행된다는 것을 확인할 수 있다.
저 명령어를 입력 하면 아래와 같은 비밀번호가 나타난다.
반응형
'ETC > Security' 카테고리의 다른 글
Level 6 (0) | 2013.10.31 |
---|---|
Level 5 - Race Condition or Symbolic link (0) | 2013.10.30 |
level4 (0) | 2013.10.11 |
Level 2 (0) | 2013.10.01 |
Level1 (0) | 2013.09.24 |