워게임/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 <아무값> 으로 되어버려
조건문을 통과하게 된다.
그렇게 출력되는 플래그를 입력하면 문제를 풀 수 있다.
반응형