보안/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())

아직 못 풂

사실 누가 푼 것 보고 풀었는데 코드분석을 해야함