作者:
好基友一輩子
·
2015/11/03 10:25
最近ctf做的比較多,順便整理一下做個筆記,大概有加密篇、隱寫篇、逆向破解和web方向的幾篇文章,整理出來之後會陸續發出來。
0x01 Base64
Base64: ZXZhbCgkX1BPU1RbcDRuOV96MV96aDNuOV9qMXVfU2gxX0oxM10pNTU2NJC3ODHHYWJIZ3P4ZWY=
Base64編碼要求把3個8位位元組(3*8=24)轉化為4個6位的位元組(4*6=24),之後在6位的前面補兩個0,形成8位一個位元組的形式。 如果剩下的字元不足3個位元組,則用0填充,輸出字元使用'=',因此編碼後輸出的文字末尾可能會出現1或2個'='
Base32: Base32和Base64相比只有一個區別就是,用32個字元表示256個ASC字元,也就是說5個ASC字元一組可以生成8個Base字元,反之亦然。
線上編解碼:http://base64.xpcha.com/
0x02 希爾密碼
希爾密碼:密文: 22,09,00,12,03,01,10,03,04,08,01,17
(明文:wjamdbkdeibr
)
解題思路:使用的矩陣是 1 2 3 4 5 6 7 8 10
原文連結:http://bobao.360.cn/ctf/learning/136.html
百度百科:http://baike.baidu.com/link?url=R6oWhCdKvzlG8hB4hdIdUT1cZPbFOCrpU6lJAkTtdiKodD7eRTbASpd_YVfi4LMl7N8yFyhVNOz5ki6TC7_5eq
0x03 柵欄密碼
柵欄密碼:把要加密的明文分成N個一組,然後把每組的第1個字連起來,形成一段無規律的話。
密文樣例:tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.
解密程式:
char s[]= "tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.";
char t[86]= "";
int i,j,k;
k=0;
for (i=0;i<17;i++)
{
for(j=0;j<5;j++)
{
t[k++]= ch[j*17+i];
}
}
for(i=0;i<85;i++)
{
printf("%c",t[i]);
}
原文連結:http://blog.csdn.net/shinukami/article/details/45980629
0x04 凱撒密碼
凱撒密碼:透過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移後被替換成密文。
密文樣例:U8Y]:8KdJHTXRI>XU#?!K_ecJH]kJG*bRH7YJH7YSH]*=93dVZ3^S8*$:8"&:9U]RH;g=8Y!U92'=j*$KH]ZSj&[S#!gU#*dK9\.
解題思路:得知是凱撒加密之後,嘗試進行127次輪轉爆破:
#!python
lstr="""U8Y]:8KdJHTXRI>XU#?!K_ecJH]kJG*bRH7YJH7YSH]*=93dVZ3^S8*$:8"&:9U]RH;g=8Y!U92'=j*$KH]ZSj&[S#!gU#*dK9\."""
for p in range(127):
str1 = ''
for i in lstr:
temp = chr((ord(i)+p)%127)
if 32<ord(temp)<127 :
str1 = str1 + temp
feel = 1
else:
feel = 0
break
if feel == 1:
print(str1)
原文連結:http://blog.csdn.net/shinukami/article/details/46369765
0x05 Unicode
密文樣例:\u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01\u8bdd\u8bf4\u5fae\u535a\u7c89\u4e1d\u8fc7\
線上解密:tool.chinaz.com/Tools/Unicode.aspx
0x06 brainfuck
型別:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
利用BFVM.exe直接解密
用法 loadtxt 1.txt
線上解密:http://www.splitbrain.org/services/ook
0x07 摩斯密碼
密文樣例:-- --- .-. ... .
0x08 jsfuck
密文中 ()[]{}!+
線上解密:
0x09 培根密碼
培根所用的密碼是一種本質上用二進位制數設計的。不過,他沒有用通常的0和1來表示,而是採用a和b。
百科:http://baike.baidu.com/link?url=acaeI3babB7MogPQFh98rDAVSwHfPwh-HnEFTb9cx7DZ5Nz4MkMA14H4SDjBNnOdBsJpliNYa1vnfikQGqvA7K
0x0A 豬圈密碼又稱共濟會密碼
百度百科:http://baike.baidu.com/link?url=yN39kWG2pGd9XHo3RjeUAbd7xs0QlnJ2uHzCJfxC03V-fJcQUdfcJ-WuGoAkKGFVE0AxFK4-98wa4FtzvxRA0_
0x0B CRC32
密文樣例:4D1FAE0B
#!python
import zlib
def crc32(st):
crc = zlib.crc32(st)
if crc > 0:
return "%x" % (crc)
else:
return "%x" % (~crc ^ 0xffffffff)
原文連結:http://blog.csdn.net/ab748998806/article/details/46382017
對於其他一些未知密文,可嘗試到下列幾個網站轉換試試,看看運氣
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!