#Description

tarfile module -> tarinfo에서 "../" 와 같은 경로 문자를 검증하지 않아서 발생함.

 

 

exploit

 

#1. 파일에 "../"문자열을 이어붙여 .tar 파일을 만드는 스크립트 (make.py)

 - make.py를 실행하면 "exploit.tar" 이름의 .tar 파일이 생성됨.

  이 때, 안의 hackfile.txt는 "../hackfile.txt" 로 바뀌게 된다.

 

 

#2. .tar 파일을 압축해제하는 스크립트 (unlock.py)

 

 - unlock.py 스크립트를 실행하면 "../hackfile.txt"가 압축해제 되면서 바로위의 경로에 해당 파일이 생기게 된다.

 

 

 

#tarfile module - extractall 함수에서 받아온 인자에 "."나 "/" 기호가 포함되어 있으면

 "warring"경고를 출력하고 작동을 중지하게 모듈을 수정하였다.

 

 - 다시 실행 후

 - 경고 출력과 함께 파일이 생성되지 않았다.

 

 

 

 

참고 : https://www.trellix.com/en-us/about/newsroom/stories/threat-labs/tarfile-exploiting-the-world.html

 

feat. https://shinobu.tistory.com/

+ Recent posts