보안/ctf 풀이
[리버싱] picoCTF unpackme.py
물보라를일으킬래
2022. 12. 28. 21:44
이번엔 python으로 되어있는 문제를 풀어볼 것이다
실행하면 이런 형태이다. 아마 패스워드를 찾아서 입력하면 플래그를 딱 띄워줄 것이다
실행코드가 아니니, 파이썬 코드만 분석해보기로 한다
위 사진은 파이썬 코드를 가져와보았다
인코딩과디코딩 문제같다
선행 지식:
python 문법
선행 다운로드:
/bin에 파이썬 다운되어있는지 확인
코드 분석
import base64
base64 인코딩기법과 관련된 문제란 것을 알아차림
from cryptography.fernet import Fernet
payload = b'gAAAAABiMD04m0Z6CohVV7ozdwHqtgc2__CuAFGG8rWhZBTL0lhfzp-mhu9LYNMnMQMGO-7tEwy3DJ2Y8yjogvzyojFETwN9YEIPXTnO9F1QnkPypWTgjISGve4gcSerJMs694oKcIdKHuVaSxOg1MMNs5k9iPaBIPU7xOKQqCyhnf_f4yUvLdMcer38BqRptocJNvKlyWN8h7ikoWL0zlssxd8OJyPujMz78HZaefvUouvq6LDtPVqRBJFPgSJYf1nHpHKFa1O0zJ6UpTe6ba3PPAxCVXutNg=='
key_str = 'correctstaplecorrectstaplecorrec'
key_base64 = base64.b64encode(key_str.encode())
f = Fernet(key_base64)
plain = f.decrypt(payload)
exec(plain.decode())
아직 못 풂
사실 누가 푼 것 보고 풀었는데 코드분석을 해야함