CTF之沒見過的密碼

0x01


這玩意叫做brainfuck。。。。。。

0x02

┼攠數(shù)畣整爠煥敵瑳∨燈捲≤┩>

這是一句話加密,可以ANSI --->unicode解碼,把代碼保存到記事本另存為右下角有unicode編碼,保存后用winhex打開就能看到正常的字符了

0x03

o____o_

oo__o_o

oo_o__o

oo_o_o_

oo_o__o

oo_ooo_

oo__ooo

_o_ooo_

上面的磁帶片段解碼為:Beijing.

-----------------------------------------------------------------------------------------------------------------

o_o_ooo

oo_o___

oo__o_o

ooo__o_

oo__o_o

_o_____

ooo_o__

oo_o___

oo__o_o

ooo__o_

oo__o_o

_o_____

oo_o__o

ooo__oo

_o_____

oo____o

_o_____

ooo_ooo

oo_o__o

oo_oo__

oo_oo__

_o_oo__

ooo_o__

oo_o___

oo__o_o

ooo__o_

oo__o_o

_o_____

oo_o__o

ooo__oo

_o_____

oo____o

_o_____

ooo_ooo

oo____o

oooo__o

_o_ooo_

那么,現(xiàn)在該你解碼了......

這個竟然看出來是二進制,o代表1,下劃線代表0

0x03

Fair-Play密碼

密鑰:The quick brown fox jumps over the lazy dog!

ihxo{smzdodcikmodcismzd}

在線解密http://rumkin.com/tools/cipher/playfair.php


0x04轉盤密碼


密鑰: 2,5,1,3,6,4,9,7,8,14,10,13,11,12

密文:HCBTSXWCRQGLES

flag格式 flag{你解密的內容}

比如第一個密鑰:2? 密文:H

把轉盤第二行單獨提出來 ,從H的地方一直剪切,把剪切的內容放在最前面,變成2: <HGVSFUWIKPBELNACZDTRXMJQOY <

依次類推把14行都按這樣的方式整一遍就得到這個:


flag在倒數(shù)第六列。flag{XSXSBUGKUADMIN}

0x05替換密碼


簡單的替換字母,枚舉法,在線替換網(wǎng)站 ? http://quipqiup.com/

0x06AES密碼

密碼學里應該挺常見,可是我不認得。。。

U2FsdGVkX1+qtU8KEGmMJwGgKcPUK3XBTdM+KhNRLHSCQL2nSXaW8++yBUkSylRp

要不是有+我鐵定死扣base64 ? 不過確實和base64挺像。。。。

在線解密http://tool.oschina.net/encrypt

0x06說是base64

GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===

python解一下很顯然不是,或許是base32呢

解出來是這個

504354467b4a7573745f743373745f683476335f66346e7d

又base64解一下

\xe7N7\xe7\x8e:\xed\xbe\x1a\xef\x9e\xf7\xef\x8e_\xef\x8d\xf7\xef~\xf8\xe5\xfe\xbc\xdf\x8e\xfa\xdf~_\xeb\xad\xf8\xe9\xee\xdd

變成了這樣。。。。什么鬼。。。。

大神只用了這樣一句話:base64.b32decode().decode('hex')

原來504354467b4a7573745f743373745f683476335f66346e7d
這個只十六進制編碼。。。。。哪有base64.。。。。

0x07?? 2015廣強杯的經(jīng)典的凱撒

lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}

既然知道是凱撒了解密吧,好像事情并不是那么簡單,

只有在6和20的地方拼接起來才是flag,原來是ascii碼是偶數(shù)時就加20或-6,是奇數(shù)時就-20或+6.。。。。。。。mmp,來個腳本

s='lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}'

g=open("flag.txt","w")

for i in s:

if(i=='}' or i=='{' or i=='-' or (i>='0' and i<='9')):

g.write(i)

if(i>='a' and i <='z'):

if(ord(i)%2==0):

if(i<='f'):

g.write(chr(ord(i)+20))

else:

g.write(chr(ord(i)-6))

if(ord(i)%2!=0):

if(i>='u'):

g.write(chr(ord(i)-20))

else:

g.write(chr(ord(i)+6))

得到flag

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容