클래스 목록들을 보면 key와 db를 볼 수 있다.
우선 key부터 보자
밑에 소스가 많지만 필요없고 이부분만 보면된다.
AES암호를 사용했고 CBC 모드로 했었다.
그럼 밑에 BALID_LICENCE가 암호화한 결과 일테고
암호를 하기 위해선 key값과 IV값을 가지고 있어야하는데 db에 있을거다. 안그럼 db를 준 이유가없다.
예상대로 들어있었고
IV값은 16자리 이니깐 e번 값이 IV값이 되겠다.
1 2 3 4 5 6 7 8 9 10 | from Crypto.Cipher import AES key = "37eaae0141f1a3adf8a1dee655853714".decode('hex') iv = "a5efdbd57b84ca36" pw = "29a002d9340fc4bd54492f327269f3e051619b889dc8da723e135ce486965d84".decode('hex') cipher = AES.new(key, AES.MODE_CBC, iv) print cipher.decrypt(pw) | cs |
이런식으로 플래그를 얻을 수 있었다.
'CTF > Write-up' 카테고리의 다른 글
BSidesSF 2020 CTF Chameleon (0) | 2020.02.28 |
---|---|
Codegate CTF 2018 후기 (1) | 2018.02.05 |
TrendMicroCTF - VirusClicker (1) | 2017.06.30 |
0ctf 2015 vezel (0) | 2017.06.29 |
hust 2017 참가 후기 & 풀이 (1) | 2017.05.28 |