본문 바로가기
CTF/INCOGNITO 2021

[INCOGNITO CTF] Calculator

by L3m0n S0ju 2021. 8. 28.

 

시스템해킹

 

문제 서버에 접속하면 위와 같이 입력창에 수학에 사용되는 함수를 입력할 수 있습니다. 예를 들어 sin을 입력하면 <built-in-fuction sin> 이라는 문구가 출력되는데 built-in-function은 내장함수를 의미하고 이를 통해 서버는 파이썬으로 작성되었음을 알 수 있다. 따라서 파이썬에서 쉘 스크립트를 작동하기 위해서는 os 모듈의 system이라는 함수를 사용한다. 

 

 

 


서버 프로그램에는 os 모듈이 import되어있지 않을 가능성이 높으므로 "__import__('os').system('ls')" 입력하면 위와 같이 system 함수는 사용할 수 없다고 출력됩니다. 따라서 파이썬에서 쉘 스크립트를 실행할 수 있는 방법이 하나 더 있는데 subprocess를 이용하는 것입니다.

 

 

 

 

 


이번에는 subprocess 모듈을 이용하여 쉘 스크립트를 실행하겠습니다. 명령어는 다음과 같습니다. __import__('subprocess').call(['/bin/sh', '-s']) 

 

플래그가 출력됩니다.

댓글