Hacking/App.

CTF Python Jail tips 2

2018. 2. 16. 21:53

이 글은 해당 글의 확장판의 형식으로 작성된 글이다. 


파이썬은 import와 관련된 함수나 모듈이 생각보다 많다. 

위에 적혀있는 __import__가 대표적으로 알고 있는 import 관련 함수이다. 


importlib

importlib 이라는 모듈은 python.org에서 설명하기론, __import__() 함수의 연장선이라고 한다. 그래서 import 와 관련된 함수들이 많다. 


importlib.import_module()

 built-in function의 __import__ 함수와 사실상 같은 역할을 하는 함수이다. 하지만, import 키워드를 막은 경우가 많아서 못 쓸 것 같긴 하다.

importlib.sys

 sys 모듈과 동일하다!! 


sys 모듈의 modules 라는 dict 형의 변수를 이용하면, os를 import 하여 system command를 실행시킬 수 있다. 



imp 

 imp 모듈은 뭔가 다르다. module들을 검색하고, 정보를 얻는 함수들이 많은데 그 중에서도 module을 import할 수 있는 함수가 존재한다. 

imp.load_source()

 해당 함수는 module name과 path를 arg로 요구한다. 다음과 같은 형식으로 system command를 실행 시킬 수 있다. 



fileinput 

 해당 모듈은 파일에 입력하는 것에 특화된 모듈이다. 파일 읽고 쓰기는 언제나 그래왔듯, 더 시스템 친화적일 때가 많다. 그래서 dir() 명령으로 해당 모듈이 갖고 있는 것들을 보면.. 


개쩌는 것들이 있는 것이다... 


fileinput.os

 os module과 동일하다. 


fileinput.sys

 sys 모듈과 동일하다. 


fileinput.__builtins__

 __builtins__와 동일하다. 




'Hacking > App.' 카테고리의 다른 글

command injection 공백 우회  (0) 2018.08.17
CTF Python Jail tips - 3  (0) 2018.02.18
CTF Python Jail Tips  (0) 2018.02.08
System overall  (0) 2018.01.05
Android URL Spoofing cheat sheet  (0) 2017.10.28