728x90
반응형
이번에는 easy rsa 문제를 풀어 보겠다.
n = 1763350599372172240188600248087473321738860115540927328389207609428163138985769311
e = 65537
c = 33475248111421194902497742876885935310304862428980875522333303840565113662943528
이렇게 되어있다.
일단 n을 http://factordb.com/ 에 돌려보자.
이렇게 위처럼 나오는데 밑에 있는 두 값을 python으로 값을 만들어서 RSA를 decode하면 된다.
from Crypto.Util.number import inverse
n = 1763350599372172240188600248087473321738860115540927328389207609428163138985769311
e = 65537
c = 33475248111421194902497742876885935310304862428980875522333303840565113662943528
p=31415926535897932384626433832795028841
q=56129192858827520816193436882886842322337671
ph = (p-1)* (q-1)
d = inverse(e,ph)
flag_hex = hex(pow( c, d, n))[2:]
print(flag_hex)
위처럼 코드를 짤수있다.(위 모듈이 없는 경우,"pip install pycrypto" 명령어로 설치받는다.)
하지만 위 결과는 "7368656c6c7b737769746368696e5f746f5f6173796d6d65747269637d" 처럼 hex형식으로 되어 있다.
그래서 이 값을 텍스트로 변환해야한다.
echo "7368656c6c7b737769746368696e5f746f5f6173796d6d65747269637d" | xxd -p -r
위 명령어를 터미널에 입력하면 flag가 나온다.
flag : shell{switchin_to_asymmetric}
728x90
반응형
'CTFs' 카테고리의 다른 글
redpwnCTF - beginner-generic-pwn-number-0 (0) | 2021.07.25 |
---|---|
S.H.E.L.L ctf - under Development (0) | 2021.06.07 |
S.H.E.L.L CTF - haxxor (0) | 2021.06.06 |
S.H.E.L.L ctf - encoder (0) | 2021.06.05 |
Shakti CTF - Write up(HHJ) (0) | 2020.12.07 |