百家姓 baijiaxing.txt
百家姓解码:http://anhao.tlrkl.top/
16.txt
十六进制转字符串:https://www.sojson.com/hexadecimal.html
str.txt
17insanity 打开就有flag
17sanity 打开就有flag
签到 提示平台就是题目,打开源码
149行发现base64
两次base64解码得到flag
八卦迷宫
1 2 cazy{战长恙长战恙河长山山安战疫疫战疫安疫长安恙} cazy{zhanchangyangchangzhanyanghechangshanshananzhanyiyizhanyianyichanganyang}
Bear 熊曰:http://hi.pcmoe.net/
领悟熊所言奥秘
西安加油 导出全部的http对象
把hint.txt base32解码
把secret.txt base64解码
还原压缩包文件
flag: cazy{make_XiAN_great_Again}
xcel破解
flag:flag{office_easy_cracked}
FireFox Forensics logins.json文件:将用户所有登录信息(包括URL,用户名,密码和其他元数据)存储为JSON。值得注意的是,这些文件中的用户名和密码均经过3DES加密,然后经过ASN.1编码,最后写入base64编码的文件中,用一个测试登录信息如下所示,其中encryptedUsername和encryptedPassword就是被加密的用户名和密码
题目提示是火狐的登陆凭证,推荐使用破解。将key4.db、logins.json复制到firepwd目录下,用firepwd.py破解。 **
1 python firepwd.py logins.json
1 GKCTF{9cf21dda-34be-4f6c-a629-9c4647981ad7}
Game index.html
中发现一串base32
suctf{hAHaha_Fak3_F1ag} 不是真的flag
图片的LSB发现base64
1 U2FsdGVkX1+zHjSBeYPtWQVSwXzcVFZLu6Qm0To/KeuHg8vKAxFrVQ==
解码后头部是Salted
,应该是AES
或者3DES
https://www.sojson.com/encrypt_triple_des.html
密钥为之前的假flag:suctf{hAHaha_Fak3_F1ag}
好怪哦
16进制编辑器打开发现文件被倒转
编写脚本进行倒序,得到正常的zip
1 2 3 4 f=open('fuck.zip','rb').read() m=open('flag.zip','wb') m.write(f[::-1]) m.close()
解压得到flag.png,无法正常打开,发现缺少PNG文件头,补齐89 50 4E 47后可以打开,但缺少一半,修改图片高度得到flag
flag:DASCTF{f8b275b06baf4204fa62743eab5eca98}
caesar 1 2 3 4 题目:caesar 描述:gmbhjtdbftbs flag格式:XXX 明文 提交:直接提交明文 (小写)
凯撒解密
flag:flag{flagiscaesar}
just_a_rar 爆破得到密码
图片放到十六进制编辑器里面查看得到flag
flag:flag{Wadf_123}
Top1 密文:Top1.txt
15次base64解密之后得到flag
flag:qsnctf{35ff2b53-2e50-4ea5-9554-3cdce083a096}
Attack (28条消息) BUUCTF:[安洵杯 2019]Attack_末初mochu7的博客-CSDN博客
easyrsa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from Crypto.Util.number import getPrime,bytes_to_long from sympy import Derivative from fractions import Fraction from secret import flag p=getPrime(1024) q=getPrime(1024) e=65537 n=p*q z=Fraction(1,Derivative(arctan(p),p))-Fraction(1,Derivative(arth(q),q)) m=bytes_to_long(flag) c=pow(m,e,n) print(c,z,n) ''' output: 7922547866857761459807491502654216283012776177789511549350672958101810281348402284098310147796549430689253803510994877420135537268549410652654479620858691324110367182025648788407041599943091386227543182157746202947099572389676084392706406084307657000104665696654409155006313203957292885743791715198781974205578654792123191584957665293208390453748369182333152809882312453359706147808198922916762773721726681588977103877454119043744889164529383188077499194932909643918696646876907327364751380953182517883134591810800848971719184808713694342985458103006676013451912221080252735948993692674899399826084848622145815461035 32115748677623209667471622872185275070257924766015020072805267359839059393284316595882933372289732127274076434587519333300142473010344694803885168557548801202495933226215437763329280242113556524498457559562872900811602056944423967403777623306961880757613246328729616643032628964072931272085866928045973799374711846825157781056965164178505232524245809179235607571567174228822561697888645968559343608375331988097157145264357626738141646556353500994924115875748198318036296898604097000938272195903056733565880150540275369239637793975923329598716003350308259321436752579291000355560431542229699759955141152914708362494482 15310745161336895413406690009324766200789179248896951942047235448901612351128459309145825547569298479821101249094161867207686537607047447968708758990950136380924747359052570549594098569970632854351825950729752563502284849263730127586382522703959893392329333760927637353052250274195821469023401443841395096410231843592101426591882573405934188675124326997277775238287928403743324297705151732524641213516306585297722190780088180705070359469719869343939106529204798285957516860774384001892777525916167743272419958572055332232056095979448155082465977781482598371994798871917514767508394730447974770329967681767625495394441 '''
c,e,n已知,求出p,q即可 题目中关于p,q的线索在变量z,分析z,推导公式如下:
其中Derivative()是求导函数,Fraction(a,b)相等于a/b,经过计算可知z = p^2 + q^2 又因为n = p * q,所以
1 2 3 p + q = sqrt(z + 2 * n) p - q = sqrt(z - 2 * n) 连立方程组即可解出p,q
exp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 import gmpy2 from Crypto.Util.number import * c = 7922547866857761459807491502654216283012776177789511549350672958101810281348402284098310147796549430689253803510994877420135537268549410652654479620858691324110367182025648788407041599943091386227543182157746202947099572389676084392706406084307657000104665696654409155006313203957292885743791715198781974205578654792123191584957665293208390453748369182333152809882312453359706147808198922916762773721726681588977103877454119043744889164529383188077499194932909643918696646876907327364751380953182517883134591810800848971719184808713694342985458103006676013451912221080252735948993692674899399826084848622145815461035 z = 32115748677623209667471622872185275070257924766015020072805267359839059393284316595882933372289732127274076434587519333300142473010344694803885168557548801202495933226215437763329280242113556524498457559562872900811602056944423967403777623306961880757613246328729616643032628964072931272085866928045973799374711846825157781056965164178505232524245809179235607571567174228822561697888645968559343608375331988097157145264357626738141646556353500994924115875748198318036296898604097000938272195903056733565880150540275369239637793975923329598716003350308259321436752579291000355560431542229699759955141152914708362494482 n = 15310745161336895413406690009324766200789179248896951942047235448901612351128459309145825547569298479821101249094161867207686537607047447968708758990950136380924747359052570549594098569970632854351825950729752563502284849263730127586382522703959893392329333760927637353052250274195821469023401443841395096410231843592101426591882573405934188675124326997277775238287928403743324297705151732524641213516306585297722190780088180705070359469719869343939106529204798285957516860774384001892777525916167743272419958572055332232056095979448155082465977781482598371994798871917514767508394730447974770329967681767625495394441 x = gmpy2.iroot(z + 2 * n, 2)[0] y = gmpy2.iroot(z - 2 * n, 2)[0] e = 65537 p = (x + y) // 2 q = x - p d = gmpy2.invert(e, (p - 1) * (q - 1)) print(long_to_bytes(pow(c, d, n))) ) * (q - 1)) print(long_to_bytes(pow(c, d, n)))
从尾看到头 16进制编辑器打开发现文件被倒转
编写脚本进行倒序,得到正常的zip
1 2 3 4 f=open('fuck.zip','rb').read() m=open('flag.zip','wb') m.write(f[::-1]) m.close()
galf.zip再次进行倒叙解压需要密码
扫吧.7z有32个二维码,python脚本解一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding: utf-8-*- from PIL import Image import pyzbar.pyzbar as pyzbar def QRcode_message(image): img = Image.open(image) # 因为一张图片可能是一张二维码,也可能里面有许多二维码 barcodes = pyzbar.decode(img) for barcode in barcodes: barcodeData = barcode.data.decode("utf-8") print(barcodeData,end='') with open('./1.txt','a')as f: f.write(barcodeData) f.close() if __name__ == '__main__': for i in range(1,32): QRcode_message(str(i)+'.png')
base64解出来就是galf.zip的密码
再用base64解一下就是flag
base64:https://icyberchef.com
119sanity 打开就是flag
上号 文件->导出对象->http对象
使用steghide工具
1 steghide extract -sf shanghao.jpg -p qsnctf
BASE64隐写 base64隐写
,利用脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 def get_base64_diff_value(s1, s2): base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' res = 0 for i in xrange(len(s2)): if s1[i] != s2[i]: return abs(base64chars.index(s1[i]) - base64chars.index(s2[i])) return res def solve_stego(): with open('ComeOn!.txt', 'rb') as f: file_lines = f.readlines() bin_str = '' for line in file_lines: steg_line = line.replace('\n', '') norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '') diff = get_base64_diff_value(steg_line, norm_line) print diff pads_num = steg_line.count('=') if diff: bin_str += bin(diff)[2:].zfill(pads_num * 2) else: bin_str += '0' * pads_num * 2 print goflag(bin_str) def goflag(bin_str): res_str = '' for i in xrange(0, len(bin_str), 8): res_str += chr(int(bin_str[i:i + 8], 2)) return res_str if __name__ == '__main__': solve_stego()
ez-usb 3_2.zip
取 USB 信息
根据题目信息,直接获取键盘数据即可
在 Wireshark 上方输入过滤器 usb.src==”1.8.1” ,回车确认,点击 文件、导出特定分组 把这些数据导出
成功得到一个新的 pcapng 文件
提取信息
使用了 github 的脚本,其中使用了 tshark 来提取流量信息,如果在 Linux 下无法安装 tshark 可手动更改此脚本,先使用 Wireshark 自带的 tshark 提取信息再拿去处理
1 https://github.com/WangYihang/UsbKeyboardDataHacker
双击 exe 文件,输入密码即可得到 flag{y0u_Are_prettY_g@od}
excel骚操作 flag.xlsx
打开文件 除了第一行的文字再没发现其他东西 随便点点,发现有些单元格显示值为1,有些不显示。
第二步 将值为1 的单元格显示出来。 选中若干单元格,右击,单元格格式,如图所示。
第三步 看样子像是二维码一样的排列,将值为1的单元格涂黑。(明明excel这步怎么做是最重要的好多教程一笔带过,真是服了) 选中单元格,点击条件格式,突出显示单元格规则,等于,自定义格式为黑色。
得到图案稍微调整一下行高。设置行高27
第四步 扫码 看上去不像是二维码,用微信扫不出来 查资料发现是汉信码。 打开中国编码网下载对应app,扫码得到flag。
Flag:flag{9ee0cb62-f443-4a72-e9a3-43c0b910757e}
疑惑点:
这是哪个功能给隐藏的?网上查到了能达到题目中隐藏效果的操作。
数字——自定义——类型中输入;;;
gakki gakki.rar
图片分离得到rar
暴破得到压缩包的密码
大量无特征、无规律字符 python脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding:utf-8 -*- #Author: mochu7 alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]" strings = open('./flag.txt').read() result = {} for i in alphabet: counts = strings.count(i) i = '{0}'.format(i) result[i] = counts res = sorted(result.items(),key=lambda item:item[1],reverse=True) for data in res: print(data) for i in res: flag = str(i[0]) print(flag[0],end="")
flag:GXY{gaki_IsMyw1fe}
EZjoanDaemen EZjoanDaemen.zip
伪加密
1 2 3 50 4B 01 02 14 00 14 00 01 00 08 改为 50 4B 01 02 14 00 14 00 00 00 08
解压后得到一个 docx 文档
SNOW 隐写
复制 docx 最下面的字符进入空白的 txt 文件
得到:aes_key:welcome_to_misc!
DOCX 隐写
以压缩包格式打开 docx 文件,在目录 word/media/images
下得到以 new_ 开头的 166 张图片
LSB 隐写
使用任意工具查看图片的最低有效位的拼接数据,发现一串类似 base64 加密的数据,结合上文 AES 相关信息,解密得到字符 f
1 数据:0WRw/OqyTiaWX9ZN+AI+Ew==
批量处理
按顺序查看以下 3 张图片,结合第一张图片共得到 4 个字符 flag
脚本在 exp
文件夹内
1 2 $ python exp.py flag{Vm0xd1IyRXhTWGxUV0dST1ZsZG9VVll3V25kVU1WWjBZMGhLYkdKSFVucFdWM1JyWVVkR05sSnJiRlZXYlZFd1ZqRlZkMlZHVG5GVGJHaFRVbGQzTUZkVVFtdFNNV1JJVTJ0c2FsSnVRbkphVjNCQ1RsRTlQUT09}
多次 Base64 解密后得到最终答案
1 flag{Yah0oo0_we1c0me_to_miiisc}
原sher sher.zip
压缩包密码 qsnctf
修改图片高度得到flag
flag:qsnctf{c1f5e391-83dd-47e3-9f15-0e32eaafdc95}
三体
发现是兽音译者https://roar.iiilab.com/
解开后ATCR3mQzvYSfQFbZiSxXtvEna9zmTKGVsaqFo78tSECjNEkBWj5suc3mf6ZkHzuJ5wgNqzQwcuHWYhLq7RpmUCoDC5Ye1d7AZvPHjfVnsDFxs 然后base58解密 7476716677697b776b756868657267625f6c765f64715f6c717768756876776c716a5f6572726e7d 16进制转换字符 tvqfwi{wkuhhergb_lv_dq_lqwhuhvwlqj_errn}
凯撒解码
qsnctf{threebody_is_an_interesting_book}
剑拔弩张的小红 flag在群文件里面
flag:qsnctf{b01135af-a3ce-4f25-89d3-aff4670ad214}
取 USB 信息
根据题目信息,直接获取键盘数据即可
在 Wireshark 上方输入过滤器 usb.src==”1.8.1” ,回车确认,点击 文件、导出特定分组 把这些数据导出
成功得到一个新的 pcapng 文件
提取信息
使用了 github 的脚本,其中使用了 tshark 来提取流量信息,如果在 Linux 下无法安装 tshark 可手动更改此脚本,先使用 Wireshark 自带的 tshark 提取信息再拿去处理
1 https://github.com/WangYihang/UsbKeyboardDataHacker
双击 exe 文件,输入密码即可得到 flag{y0u_Are_prettY_g@od}
excel骚操作 flag.xlsx
打开文件 除了第一行的文字再没发现其他东西 随便点点,发现有些单元格显示值为1,有些不显示。
第二步 将值为1 的单元格显示出来。 选中若干单元格,右击,单元格格式,如图所示。
第三步 看样子像是二维码一样的排列,将值为1的单元格涂黑。(明明excel这步怎么做是最重要的好多教程一笔带过,真是服了) 选中单元格,点击条件格式,突出显示单元格规则,等于,自定义格式为黑色。
得到图案稍微调整一下行高。设置行高27
第四步 扫码 看上去不像是二维码,用微信扫不出来 查资料发现是汉信码。 打开中国编码网下载对应app,扫码得到flag。
Flag:flag{9ee0cb62-f443-4a72-e9a3-43c0b910757e}
疑惑点:
这是哪个功能给隐藏的?网上查到了能达到题目中隐藏效果的操作。
数字——自定义——类型中输入;;;
gakki gakki.rar
图片分离得到rar
暴破得到压缩包的密码
大量无特征、无规律字符 python脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding:utf-8 -*- #Author: mochu7 alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]" strings = open('./flag.txt').read() result = {} for i in alphabet: counts = strings.count(i) i = '{0}'.format(i) result[i] = counts res = sorted(result.items(),key=lambda item:item[1],reverse=True) for data in res: print(data) for i in res: flag = str(i[0]) print(flag[0],end="")
flag:GXY{gaki_IsMyw1fe}
EZjoanDaemen EZjoanDaemen.zip
伪加密
1 2 3 50 4B 01 02 14 00 14 00 01 00 08 改为 50 4B 01 02 14 00 14 00 00 00 08
解压后得到一个 docx 文档
SNOW 隐写
复制 docx 最下面的字符进入空白的 txt 文件
得到:aes_key:welcome_to_misc!
DOCX 隐写
以压缩包格式打开 docx 文件,在目录 word/media/images
下得到以 new_ 开头的 166 张图片
LSB 隐写
使用任意工具查看图片的最低有效位的拼接数据,发现一串类似 base64 加密的数据,结合上文 AES 相关信息,解密得到字符 f
1 数据:0WRw/OqyTiaWX9ZN+AI+Ew==
批量处理
按顺序查看以下 3 张图片,结合第一张图片共得到 4 个字符 flag
脚本在 exp
文件夹内
1 2 $ python exp.py flag{Vm0xd1IyRXhTWGxUV0dST1ZsZG9VVll3V25kVU1WWjBZMGhLYkdKSFVucFdWM1JyWVVkR05sSnJiRlZXYlZFd1ZqRlZkMlZHVG5GVGJHaFRVbGQzTUZkVVFtdFNNV1JJVTJ0c2FsSnVRbkphVjNCQ1RsRTlQUT09}
多次 Base64 解密后得到最终答案
1 flag{Yah0oo0_we1c0me_to_miiisc}
原sher sher.zip
压缩包密码 qsnctf
修改图片高度得到flag
flag:qsnctf{c1f5e391-83dd-47e3-9f15-0e32eaafdc95}
三体
发现是兽音译者https://roar.iiilab.com/
解开后ATCR3mQzvYSfQFbZiSxXtvEna9zmTKGVsaqFo78tSECjNEkBWj5suc3mf6ZkHzuJ5wgNqzQwcuHWYhLq7RpmUCoDC5Ye1d7AZvPHjfVnsDFxs 然后base58解密 7476716677697b776b756868657267625f6c765f64715f6c717768756876776c716a5f6572726e7d 16进制转换字符 tvqfwi{wkuhhergb_lv_dq_lqwhuhvwlqj_errn}
凯撒解码
qsnctf{threebody_is_an_interesting_book}
剑拔弩张的小红 flag在群文件里面
flag:qsnctf{b01135af-a3ce-4f25-89d3-aff4670ad214}
欢迎 welcome.zip
考点:拼图
折磨!!!!直接放原图(某次群聊打电话的截图):
tcp流量分析
追踪HTTP流得到flag
我看他是喜欢套娃! 1、开始是一个压缩包伪加密,把他扔到010Editor里面,把50 4B 01 02 1F 00 14 00 09 00中的09改为00即可 2、拿到题目,先用ASCII转字符串,得到摩斯密码(福尔摩斯,提示为摩斯密码) —– —– .—- .—- .—-/.—- .—- —– .—- .—-/—– .—- .—- —– .—-/.—- .—- —– —– —–/.—- .—- —– .—- .—-/.—- —– .—- —– —–/.—- —– .—- .—- .—-/.—- —– .—- —– .—-/.—- .—- —– .—- .—-/—– .—- .—- —– .—-/.—- —– .—- .—- .—-/—– .—- .—- —– —– 3、接着摩斯密码解码 00111 11011 01101 11000 11011 10100 10111 10101 11011 01101 10111 01100 4、五个一组,可以推测是培根密码(描述中也有提示是培根密码),于是将1转换为A,将0转换为B,得到 BBAAA AABAA BAABA AABBB AABAA ABABB ABAAA ABABA AABAA BAABA ABAAA BAABB 5、培根密码解码后,得到yeshelikesit,就是flag
flag: qsnctf{yeshelikesit}
babyflash (13条消息) BUUCTF:[*CTF2019]babyflash_末初mochu7的博客-CSDN博客
七七的礼物 1解压缩发现密码
2暴力破解得到密码12138
3.解压之后发现一张图片、一个txt文本和一个压缩包
在winhex里放进小明的数学作业得到key
感觉像AES加密先放着
然后看小明的图片
使用Foremost工具进行分解发现存在压缩包文件,将压缩包解压后发现其中还有很多个压缩包里面全是图片。在搜索框中输入“*.jpg”,将所有jpg文件全部选中保存在另外一个文件夹中
把一下白块删除还剩下300张图然后合成
然后用gaps拼成
得到key
然后之前找到的14#AbbQ%C解压小明喜欢边吃奶酪边看故事边学单词
将两张图片置入 ps,使用橡皮擦工具抠除奶酪的洞,只有live和ed是完整的,
所以解出后发现字符串lived
将拼图字符串scumbagtree和奶酪字符串lived合并得到scumbagtreelived ,得到真正key将密文放入解密网站解密得到一个网址
打开网站好多加密最后在兽语中找到
转为摩斯
打开网址
图片保存下来在SilentEye里解出了一半flag
将被加密的部分进行A1z26密码进行解密得到部分flag,
flag{happybirthdayg
然后去扫描蛋糕上的二维码
将密文放入Quoted-printable解码得到字符串准银河编码解密
对照表解密
得到reentree
最后拼接得到flag
Flag:flag{happybirthdaygreentree}
表情包
qsnctf{5cab6ff8-0684-4adc-95c3-89283607073e}
Can_You_Find_Me
ZXSCTF{Wei_jia_mi_so_easy}
Flag走失了
qsnctf{c587e711-236d-46ca-a0d1-a94b51272808}
罗小黑的秘密 用zsteg工具得到
kali 安装方法 gem install zsteg
qsnctf{6acb3024-2ea8-4662-acbd-a820a1c8c583}
StegoTXT 1 2 3 4 5 6 7 8 9 10 11 原文 网络安全是一个全球性的问题,它不仅影响着我们的个人生活,也影响着我们的社会发展。因此,网络安全的发展发挥着至关重要的作用。 首先,政府应该采取有效的措施来加强网络安全管理,并制定相应的法律法规来保护网络空间的安全。同时,政府也应该建立一个监管机构来负责网络安全的监督管理,以便及时发现和处理网络安全问题。 其次,企业也应该加强网络安全管理,提高网络安全意识,定期对网络系统进行安全检查,实施网络安全策略,加强网络安全培训,建立网络安全框架,以最大程度地保护网络空间的安全。 此外,个人也应该加强网络安全意识,不要在网络上发布个人隐私信息,不要使用不安全的网络,不要轻信网络谣言,不要使用不安全的软件,不要下载不安全的文件,以免受到网络攻击。 总之,网络安全是一个复杂的系统工程,需要政府、企业和个人共同努力,才能确保网络安全的发展。
Unicode Steganography with Zero-Width Characters (mzy0.com)
qsnctf{n1ha0,th1s is zerowidth}
应急食品 1 2 3 4 5 6 7 8 9 10 import base64f= open ('F:\Ctf-Files\ctf-file\\food.txt' ,'rb' ).read () decode_file = base64.b64decode (f) flag = open ('F:\Ctf-Files\ctf-file\\flag.png' ,'ab' ) for i in range (len (decode_file)): l= decode_file[i]<<4 &255 w= decode_file[i]>>4 data=(l+w).to_bytes (1 ,'little' ) flag.write (data)
使用zsteg提取出图片中隐藏信息。
第一张火车票