워게임/Root Me

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

SecurityMan 2024. 1. 22. 11:00

 

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 <아무값>" 으로 입력하면 된다.

 

이렇게 입력하면 ${1}에 해당값이 들어가서

 

test $PASS -eq 0 -o <아무값> 으로 되어버려

 

조건문을 통과하게 된다.

 

그렇게 출력되는 플래그를 입력하면 문제를 풀 수 있다.

반응형