CTFshow-Crypto(1-5)

machacha發表於2024-05-31

1密碼學簽到

自己倒序
線上網站倒序

文字倒序工具,線上文字倒序 (qqxiuzi.cn)

image-20240530220149146

python指令碼
a = '}wohs.ftc{galf'
print(a[::-1], end="")#end=""表示每一次print後都不換行

2crypto2

下載附件並解壓

image-20240530220301184

JSFuck編碼

查資料是這個編碼

30餘種加密編碼型別的密文特徵分析(建議收藏)-騰訊雲開發者社群-騰訊雲 (tencent.com)

特徵:只用! + ( ) [ ] 這六個字元就能完成對任意字串的編碼。也可在F12中解密執行

隨波逐流解密

image-20240530221614987

線上網站解密

CTF線上工具-線上JSfuck加密|線上JSfuck解密|JSfuck|JSfuck原理|JSfuck演算法 (hiencode.com)

瀏覽器開發者模式控制檯解密

image-20240530221916152

3crypto3

顏文字

30餘種加密編碼型別的密文特徵分析(建議收藏)-騰訊雲開發者社群-騰訊雲 (tencent.com)

image-20240530222714272

特徵:一堆顏文字構成的js程式碼,在F12中可直接解密執行

線上網站解密

AAEncode加密/解密 - 一個工具箱 - 好用的線上工具都在這裡! (atoolbox.net)

image-20240530223014239

瀏覽器控制檯解密

image-20240530223111859

4crypto4

image-20240530223203326

RSA

很明顯是簡單的RSA演算法

p=447685307 q=2037 e=17,求d

python指令碼
import gmpy2
e = 17
p = 447685307
q = 2037
phi = (p-1)*(q-1)#計算φ(n) = (p - 1) * (q - 1) 
d = gmpy2.invert(e,phi) #計算e關於模φ(n)的乘法逆元d
print(d)
gmpy2.invert()
模逆運算:a = gmpy2.invert(b,c)#對b,求a,使得a*b=1(mod c)
工具RSATool

加解密工具RSATool的使用-CSDN部落格

image-20240530230541447

5crypto5

image-20240530224517056

RSA

一道簡單RSA

p=447685307 q=2037 e=17 c=704796792,求m

工具RSATool+Big Integer Calculator

image-20240530234028175

用RSATool求出n和d

用Big Integer Calculator求出m

m=(c^d)mod n=904332399012

python指令碼
import gmpy2
e = 17
p = 447685307
q = 2037
c = 704796792
n = p*q
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = pow(c,d,n)
print(m)
pow()
pow(x, y, z)       //x的y次方再對z取模

相關文章