cmd1보다 filter이 더 까다로워졌다. 

또, delete_env()를 사용해 환경변수도 막는다.


cmd1처럼 $[환경변수] 를 사용해서 풀 수는 없을 것이다.



또, PATH를 날려버리니 cat 도 쓸 수 없다. 아니, /bin 에 있는 프로그램, /usr/bin 에 있는 프로그램이 전부 사용 불가하다.


내가 아는 출력 명령어가 cat과 echo밖에 없어서 echo를 좀 더 알아봤는데 echo는 파일을 출력할 수는 없는 것 같았다. 


대신, [ https://www.thinkit.or.kr/linux/entry/echo-%EB%82%B4%EB%B6%80%EB%AA%85%EB%A0%B9%EC%96%B4 ]이 사이트에서 


이 표를 볼 수 있었다.


이 중에 내 눈을 끈 것은 14번인데, \nnn을 통해 ASCII코드를 8진수로 넣어줄 수 있었다.


혹시나 이를 사용해서 넣어주면 filter에 걸리지 않지 않을까 싶어서 /를 echo로 출력해 보았다.


cmd1에서 사용했던 대로

$(변수) 를 사용했는데


이 경우에는


$(echo "\57") 이다. (/는 ASCII코드 OCT로 57이다)


따라서 페이로드는 $(echo "\57")bin$(echo "\57")sh

였다.



쉘이 따졌는데 PATH가 없어서 그런지 명령어들이 잘 실행되지 않아서 절대경로로 넣어주니 제대로 실행 되는걸 확인했다.

'pwnable > Toddler's Bottle' 카테고리의 다른 글

[Toddler's Bottle] asm  (0) 2018.09.12
[Toddler's Bottle] uaf  (0) 2018.05.31
[Toddler's Bottle] cmd1  (0) 2018.05.29
[Toddler's Bottle] lotto  (0) 2018.05.29
[Toddler's Bottle] blackjack  (0) 2018.05.29
블로그 이미지

천재보다는 범재

,