[NPUCTF2020]碰上彩虹,吃定彩虹!
題目給了3個文件
分別來分析一下
lookatme.txt
1、全選
全選一下,發現下面隱藏了東西
2、 莫爾斯
放到sublime中可以看得更清楚
莫爾斯解碼得到autoket
3、break_autokey
下載腳本
python break_autokey.py
klen 14 :"YOUHAVEFOUNDME", CONGRATULATIONSONFINDINGMYSECRETNOWIWILLGIVEYOUTHEPASSWORDITISIAMTHEPASSWD
CONGRATULATION SON FINDING MY SECRET NOW I WILL GIVE YOU THE PASSWORD IT IS IAMTHEPASSWD
maybehint.txt
1、寬字節隱寫
vim里面看一下
在線解出隱藏字符串:do u know NTFS?
2、NTFS 隱藏數據流
導出out.txt
=wwZlZ=8W=cndwljcdcG8wdj8W8Z8dZllGjZc=8lWjnlWd8WwZ5j=l8ccWZcZGjd5ZwZ5WZ8d=Zcwjwl5Gnn=WdwcwlnWd5lGnZWlnnwdnjnw8ndnc58d5cndl=njZl=WddjwWWwZllj5c5jGwZnZ5W=cZljdwd8c=85ndGGljcl5ccwd=W=l8w=5lwWn8WnwnWlGZwdcnGGl5G=8W==cnnWZnWjZ=wWcGwZcWc8ncWW=5jnWwcZl8W=8cdwWldlnwW5ddwlnlwncWlcwGZddj5djZWc5jcWdn5jdjwnj85GWGjnjwGd=jZGj5j==jwjlw8dlwWj5Wjn5n8dwwdjZlc5lZwdWldZlnGwl85cWnjd=WcWlwj8WGdlGncnZWGGd5ZncW5d55nW5wl=Wj8jGWnWj8jwZ=ZwWZ88nWG5nn5WlWnGdWw5Zn8jdl=nGcnll8WncZjnGn=dlwn5W8wlWjlnl5ccnGWGnnnc58WnjlGnG55Zwdn5cZdjdZZ5WljG5G5wcldd=Wlc8Z=8nGj=jWd8w8Wd=w8nccc8wZdjcnGdljZnnj5ww8885=lcWW8W8j5dG8jZZwG55GjnwZ=W5Z8G5ZlGc5ZZncZ5cd8j85GW5nj=WWncn55Gj5nj5nwnW58jG8GcnjZdWcl8wj8n=cj=8l8cn5jjcjn8lldn=Gjw8=cjcdWWjGddZljdjdZnG8djnZccZldlWllw5ZZ8wj5Gn==5w8Z=j55n=ZZ5wdww8lndwd8Wlj8WGjnl=nncZ=W8ZZWZnjjlwWGZZlZc5c==d8Zl855wZn=W=w8wWjZ85cGc==5Z8ccjdw5GnZWnGjcdGGnZ5wwwWGG5d=W5ldjwGZZdZwdG5cGGnZGlGc=W5ccWZ8=cGljdGcdld=8cj8jwn=lj88ZZ5jn5lcZ=Gdw=Zl58WZZl5ccwccwG5d5w8Z5wllj5ddnn=5=w8588WwGj=l5G55dWG8cl=GcjWwlwG=lWWnZ=dZG85Gcjc5=wnw=j==Gndnddjwn5c=c5W5wwdWlG5nWZwnGw8=lcWldcwnG5Wcjj=cWlGZc8Gn58ZWjZ85ljlncZj5cc=dZWGjd=d8ncZ8www55=cw=GWZn5ZZlnWld=cWcnclWlZG5djGW=cl8=ZG8cZwwc8wl=88W5ZwZ=jwZGGlcWcWnZZ5Zj5w5ZdZclZZWnccGw==cG8W8ZWlc8wcZ555Z85ljWG5jZ=8=wllWjWjlZc5lG8cwWlnjlGlW=l5=n=lGwnjGGjGdwj85ddW5ZwZ=ddjWldj=cjljjGwndZjWWZGcdWcZW5cdldj8WZjGljlWncZ5=8jnZWjl8wjZG5Zwlcl5dd
3、詞頻統計
有很多重復的字符,統計一下詞頻,按高到低排一下
f = open("out.txt", "r") data = f.read() s='' l=len(data)
for x in range(0,l): if not data[x] in s: s += data[x] result = {d:0 for d in s} def sort_by_value(d): items = d.items() backitems = [[v[1],v[0]] for v in items] backitems.sort(reverse=True) return [ backitems[i][1] for i in range(0,len(backitems))] for d in data: for alpha in s: if d == alpha: result[alpha] = result[alpha] + 1 p = sort_by_value(result) for x in p: print(x,end="")
輸出:ZW5jcnlwdG8=
解碼:encrypto
secret
encrypto百度一下是一個文件加密的軟件,secret大概就是用了它
1、secret.crypto
把secret加一個.crypto后綴
用encrypto打開,將lookatme.txt里得到的密碼輸進去解一下,失敗。。
2、查看字節流
strings secret.crypto
發現有一個整齊的內容:(Oh! You caught me! But...)
刪除
3、encrypto解密
提示:小寫噢
用密碼 iamthepasswd 解出一張圖片
彩虹.png
4、binwalk
分離出一個zip加密文件
5、黃色
彩虹中的黃色都不一樣,在ps拾色,16進制只有最后兩位不同
得到:p@ssWd
6、弗拉格
解壓zip得到 弗拉格.docx
eeeeeeeeeepaeaeeeaeAeeeeeeaeeeeeeeeeeccccisaaaaeejeeeeeejiiiiiiLiiiiijeeeeeejeeeeeeeeeeeeeeeeeeeejcceeeeeeeeeeePeeeeeeeejaaiiiiiiijcciiiiiiiiiijaaijiiiiiiiiiiiiiiiiiiiijeeeeeeHeeeeeeeeeeeeeeeeejcceeeeeeeeeeeejaaiiiijeeeeeeejceeeeeeeeeeeeeeeeeeeeeeeeejceeeeeeeeeeeeeeeeejaeeeeeejciiUiiiiiiiiiiiiiiiiijaeeeejceeeeeeeeeCeeeeeeeeejajciiiiiiiiiiiiiiiiiiijaaiiiijiijeeeeeeeeeeejKcciiiiiiiiiiiiiiijaaij
中間還夾着幾個大寫字母
ALPHUCK
ALPHUCK 在線解密
去掉大寫字母
flag{1t's_v3ry_De1iCi0us~!}