반응형

Bash 4

[Root Me] Bash - unquoted expression injection - 포너블

Root Me 에서 제공하는 간단한 시스템 해킹 문제 이번 문제는 Bash 쉡 스크립트에서 unquoted expression injection 을 하는 문제이다. 아래쪽에 있는 WebSSH 버튼을 눌러 접속할 수 있다. 들어가서 ls -al 해보면 ch16.sh 스크립트가 있고, wrapper 파일이 있다. wrapper 를 실행시키면 ch16.sh 가 실행된다. ch16.sh 파일의 내용은 문제 설명에서 나왔던 스크립트와 동일하다. .passwd 파일의 내용을 가져와서 PASS 에 저장하고, 사용자의 입력값은 ${1} 에 담아서 $PASS 와 ${1} 이 같은지 비교하는 것이다. 이제 ${1} 부분에 인젝션을 하면 된다. 하는 방법은 아주 간단하다. "0 -o " 으로 입력하면 된다. 이렇게 입력하면..

워게임/Root Me 2024.01.22

[Root Me] Bash - System 1 - 포너블

Root Me 에서 제공하는 간단한 시스템해킹 문제 주어지는 소스코드에서 취약점을 찾아 .passwd 파일의 내용을 읽으면 된다. 아래에 있는 WebSSH 버튼을 누르면 온라인으로 문제를 풀 수 있다. 접속해서 ls -al 을 해본다. 로그인된 계정은 app-script-ch11 인데 .passwd 파일은 app-script-ch11-cracked 계정에만 read 권한이 있어 내용을 읽을 수 없다. 주어진 소스코드로 만들어진 바이너리인 ch11 을 실행시켜 본다. 소스코드 자체에서 ls 명령어를 수행하도록 되어있기 때문에 ls 명령어 수행결과가 출력될 뿐, .passwd 파일의 내용을 읽을수는 없다. 우선 /tmp 디렉토리로 이동한다. mkdir 을 통해 임의의 디렉토리를 하나 생성해준다. 파일의 내용..

워게임/Root Me 2024.01.04

[EZCTF] Mario bros! - 포너블 / Bash / Pipe

이번 대회는 대회 이름(EZCTF) 처럼 아주 쉬운 문제들로 구성된 대회였다. 그중 가장 쉬웠던 포너블 문제 슈퍼마리오 컨셉으로 만들어진 문제였다. 바이너리 파일은 따로 주어지지 않고 서버에 원격 접속할 수 있는 주소와 포트만 주어져 있다. 리눅스 환경에서 nc 명령어를 이용해서 원격 접속을 할 수 있다. 원격으로 접속하면 Are you root? 라고 물어보는데 시험삼아 yes 라고 입력했더니 내가 입력한 yes를 그대로 다시 echo 해주고, lol ur not root! 라는 문자열을 출력시킨다. 어떻게 풀어야 하나 고민하다가, 문제 제목을 보고 느낌이 팍 왔다. 슈퍼마리오를 한번이라도 플레이해본 사람은 이게 뭔지 알거다. 슈퍼마리오가 맵을 이동할 때 쓰는 파이프인데, 리눅스에서도 똑같이 파이프가 ..

CTF/포너블 2022.05.16

[UMDCTF] Question - MISC / Bash Jail Escape

MISC 문제 플래그를 읽을 수 있느냐 없느냐.. 그것이 문제로다. 재밌는 Bash Jail Escape 문제였다. Netcat(nc) 명령어를 이용해서 문제 페이지에 접속 할 수 있다. 접속하면 가장먼저 The flag.txt is here. Try to read it! 이라는 문구가 나온다. 그리고 사용자 입력을 받는데 flag.txt 파일을 읽으라고 했으므로 cat flag.txt 라고 입력해봤다. 그랬더니 밑에 Nope! 라는 문구가 출력이 된다. 이렇게 리눅스 쉘같은게 주어진 상태에서 각종 제약조건을 우회해 원하는 목표를 달성시키는 유형의 문제를 Jail Escape 라고 한다. 지난번에 풀어봤던 Pyjail 문제의 Bash 버전이다. (https://hackingstudypad.tistory...

CTF/MISC 2022.05.05
반응형