NSSCTF平台:https://www.nssctf.cn/
CTF_2019SXMgdGhpcyBiYXNlPw_5">[GXYCTF 2019]SXMgdGhpcyBiYXNlPw==
考点:Base64
隐写
直接看大佬 wp就好 我写不来 要是有python2 运行不然报错的!
# base64隐写
import base64
def get_diff(s1, s2):
base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
res = 0
for i in range(len(s2)):
if s1[i] != s2[i]:
return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
return res
def b64_stego_decode():
file = open("flag.txt", "rb")
x = '' # x即bin_str
lines = file.readlines()
for line in lines:
l = str(line, encoding="utf-8")
stego = l.replace('\n', '')
realtext = base64.b64decode(l)
realtext = str(base64.b64encode(realtext), encoding="utf-8")
diff = get_diff(stego, realtext) # diff为隐写字串与实际字串的二进制差值
n = stego.count('=')
if diff:
x += bin(diff)[2:].zfill(n * 2)
else:
x += '0' * n * 2
i = 0
flag = ''
while i < len(x):
if int(x[i:i + 8], 2):
flag += chr(int(x[i:i + 8], 2))
i += 8
print(flag)
if __name__ == '__main__':
b64_stego_decode()
NSSCTF{fazhazhenhaoting}
CTF_2019_55">[GXYCTF 2019]佛系青年
图片放入010
发现存在伪加密09
改为00
在线与禅论佛:https://ctf.bugku.com/tool/todousharp
NSSCTF{w0_fo_ci_Be1}
[suctf 2019]签到题
在线Base64
转图片:https://tool.jisuapi.com/base642pic.html
NSSCTF{fffffffffT4nk}
[安洵杯 2019]吹着贝斯扫二维码
发现很多文件没后缀放入010
发现都是jpg
文件 ren
批量加后缀 ren * *.jpg
我只能说很神奇!!
别忘了把flag.jpg
改回zip
因为这个命令是改全部的 找个脚本拼一下 不然要累死你
import os
from PIL import Image
#目录路径
dir_name = r"./"
#获取目录下文件名列表
dir_list = os.listdir('./')
#print(dir_list)
#从列表中依次读取文件
for file in dir_list:
if '.jpg' in file:
f=open(file ,'rb')
n1 = str(f.read())
n2 = n1[-3:]
#经过测试发现这里要读取最后3个字节,因为最后还有一个多余的字节,不知道是不是转字符串的原因导致在末尾多了一个字符
#print(file) #输出文件内容
#print(n2)
f.close() #先关闭文件才能重命名,否则会报`文件被占用`错误
os.rename(file,n2+'.jpg') #重命名文件
85->64->85->13->16->32
扫码得到的信息 base
全家桶呗 直接随波一下
最终密码为:ThisIsSecret!233
打开压缩包 ok
得到flag。
NSSCTF{Qr_Is_MeAn1nGfuL}
CTF_2019Evil_Cuteness_122">[watevrCTF 2019]Evil Cuteness
直接binwalk -e
分离 打开就是flag
送分题
NSSCTF{7h475_4c7u4lly_r34lly_cu73_7h0u6h}
CTF_20196_134">[RoarCTF 2019]黄金6年
mp4文件 直接010看其实里面有二维码肉眼可以看 就是麻烦
在线Base64
:https://base64.us/
发现是rar
特征 直接脚本转为rar
文件 然后是加密的
import base64
code="UmFyIRoHAQAzkrXlCgEFBgAFAQGAgADh7ek5VQIDPLAABKEAIEvsUpGAAwAIZmxhZy50eHQwAQADDx43HyOdLMGWfCE9WEsBZprAJQoBSVlWkJNS9TP5du2kyJ275JzsNo29BnSZCgMC3h+UFV9p1QEfJkBPPR6MrYwXmsMCMz67DN/k5u1NYw9ga53a83/B/t2G9FkG/IITuR+9gIvr/LEdd1ZRAwUEAA=="
r=base64.b64decode(code)
test_file=open("test.rar","wb")
test_file.write(r)
test_file.close()
密码爆破了没结果 这里学习个新工具Kinovea将二维码全部提取 QR
扫
以此类推最后拼接:iwantplayctf