System Hacking
[pwnable.kr] cmd1
BIGFROG
2020. 1. 9. 17:59
환경변수 설정 방법에 대한 문제.
공격1. 와일드카드(*)를 이용한 우회
공격2. 환경변수 설정
export x=/home/cmd1/flag
./cmd1 "/bin/cat \$x"
처음 풀 때는 \$x가 아니라
$x로 썼는데,
이러면 필터함수에 걸린다.
$같은경우에는 문자그대로 $를 표시하기 위해서는 \$를 써야 하고,
$x로 쓰면 환경변수를 불러오기 때문에..
프로그램을 돌리는 순간 이미 /bin/cat /home/cmd1/flag
로 바뀔 것이다. 그래서 필터 함수에 걸리는 거고..
근데 \$x로 쓰게 되면 문자 그대로의 $x가 나오기 때문에
필터 함수의 인자로는 /bin/cat $x가 들어가고,
필터함수가 끝나고
시스템함수에는 /bin/cat $x가 인자로 들어가게 되는데
이는 실행하면
/bin/cat /home/cmd1/flag가 된다.
따라서 필터 함수를 우회하여 system함수로 실행할 수 있게 된 것이다.
flag:
mommy now I get what PATH environment is for :)