본문 바로가기

Wargame/Pwnable.kr

Pwnable.kr cmd1-1pt

  main() 함수를 먼저 보면 putenv() 함수로 PATH 환경 변수를 임의로 설정한다. 또한 argv[1]을 매개 변수로 한 filter() 함수를 호출하는데 filter() 함수를 보면 전달받은 매개 변수에(문자열) "flag", "sh", "tmp" 가 포함되면 안된다. 


  즉, argv[1]에 "flag", "sh", "tmp"가 들어가지 않도록 전달해서 system() 함수를 이용해 flag 파일을 출력해 내야 한다. 





  작성한 파이썬 스크립트이다. PATH 환경 변수의 영향을 받기 때문에 각 명령어와 파일의 경로는 '/'부터 시작하는 절대 경로로 써야 한다. 그리고 문자열 검사를 회피하기 위해 마지막 "flag" 대신 와일드 카드를 이용해 "fla?"로 표기한다.





  위와 같이 flag를 출력했다.

'Wargame > Pwnable.kr' 카테고리의 다른 글

Pwnable.kr asm-6pt  (0) 2017.04.23
Pwnable.kr cmd2-9pt  (0) 2017.04.19
Pwnable.kr shellshock-1pt  (0) 2017.04.17
Pwnable.kr lotto-2pt  (0) 2017.04.17
Pwnable.kr passcode-10pt  (0) 2017.04.15