반응형
[pwnable.kr] Toddler’s Bottle – cmd1
환경 변수를 이용하는 문제인 것 같다. system에 사용자의 입력을 인자로 전달해서 실행하는데, flag, sh, tmp가 있으면 안 됩니다.
일단 환경 변수 PATH가 바뀌었으니 절대 경로로 입력해야 합니다. flag도 우회해야 하는데, 그냥 환경 변수에 “/bin/cat /home/cmd1/flag” 문자열을 넣고 환경 변수를 인자로 전달하면 될 것 같습니다.
좋습니다. 환경 변수에 문자열이 저장되었으니, 이제 전달해야 합니다.
백 쿼터로 묶으면, 실행한 후 출력 값을 넣기 때문에 원하는 결과가 나오지 않습니다.
싱글 쿼터로 묶으면, 문자열 자체가 들어가기 때문에 flag가 출력됩니다.
그리고 쉘의 와일드카드로 쉽게 flag를 출력할 수도 있습니다. 필터링은 flag, sh, tmp만 하기 때문에, ‘fla? -> fla로 시작하고 마지막에 한 자리 다른 문자(공백도 O)가 있음’과 같은 표현식으로 flag라는 문자열을 우회해서 풀 수 있습니다.
반응형
'System&Write up > Pwnable.kr' 카테고리의 다른 글
[pwnable.kr] Toddler's Bottle - shellshock (0) | 2017.12.17 |
---|---|
[pwnable.kr] Toddler's Bottle - mistake (0) | 2017.12.17 |
[pwnable.kr] Toddler's Bottle - lotto (1) | 2017.12.15 |
[pwnable.kr] Toddler's Bottle - blackjack (0) | 2017.12.15 |
[pwnable.kr] Toddler's Bottle - random (0) | 2017.11.28 |