MISC

[MRCTF2020]摇滚DJ(建议大声播放

这个音频听起来就知道是什么了,无线电,用RX-SSTV工具,不知道怎么用的可以去看我的上一篇博客,BUUCTF-刷题记录-7

[INSHack2018]Self Congratulation

左上角存在一些有像是二维码的黑白块

但是并不是二维码,把白色块转成0,黑色转成1,得到

00110001001
10010001100
11001101000
01101010011
01100011011
10011100000

将其转为字符串得到12345678,也就是flag

key不在这里

扫码得到

https://cn.bing.com/search?q=key%E4%B8%8D%E5%9C%A8%E8%BF%99%E9%87%8C&m=10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568&qs=n&form=QBRE&sp=-1&sc=0-38&sk=&cvid=2CE15329C18147CBA4C1CA97C8E1BB8C

容易发现10210897103就是16进制的flag,转成字符串即可,脚本如下

from urllib import parses = "10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568"
flag = ""
i = 0while(i <= len(s)):if int(s[i:i+3]) < 127:flag += chr(int(s[i:i+3]))i += 3else:flag += chr(int(s[i:i+2]))i += 2print(parse.unquote(flag))
# flag{5d45fa256372224f48746c6fb8e33b32}

[CFI-CTF 2018]webLogon capture

一个登陆的流量包,密码即为flag

很好的色彩呃?

可以发现其实6个灰色条的RGB的最后一位还是有点不一样的(QQ截图识色即可发现),将其转为字符即可得到flag

[SCTF2019]Ready_Player_One

开着飞机,一直往上冲就可以拿到flag了

[HDCTF2019]信号分析

观察它的波形,发现了这么一段很有规律的东西,每个周期的东西都是一样的

搜索到这么一篇帖子,里面说到一个编码规则

一长一短:F
两短:0
两场:1



然后进行翻译一下图中的波形图,得到

FFFFFFFF0001

这个也就是flag了,提交即可

[INSHack2019]gflag

搜索得到文件中的内容是G语言,放到在线网站跑一下即可得到flag:flag{3d_pr1nt3d_fl49}

[MRCTF2020]寻找xxx

打开音频,一股浓厚的电话音迎面而来,不过似乎有点杂音?用dtmf2num工具识别一下

得到

18688422216D09

但是有杂音识别的不太准,对比频谱图

修复为

18684221609

18684221609发送到天璇Merak公众号得到flag

[QCTF2018]X-man-Keyword

图片的内容给了个密码lovekfc,于是想着往有密码的图片隐写方向走,用Stegsolve工具进行通道分析的时候发现了点东西

想到使用lsb的一个有密码的隐写,即为cloacked-pixel-lsb工具,跑一下得到一个文件

内容为

PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}

不过这个规律也是很奇怪

然后看到这个比赛叫做QCTF,不过也是很奇怪

做不出来了,后来搜索出来是叫做Nihilist密码,用脚本跑一下即可

import stringenc = 'PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}'
grid = 'LOVEKFC'+'ABDGHIJMNPQRSTUWXY'
flag = ''for i in enc:if i in string.ascii_lowercase:index = grid.lower().index(i)flag += string.ascii_lowercase[index]continueif i in string.ascii_uppercase:index = grid.upper().index(i)flag += string.ascii_uppercase[index]continueflag += i
print(flag)
# QCTF{cCgeLdnrIBCX9G1g13KFfeLNsnMRdOwf}

Beautiful_Side

foremost分离出来半张二维码

来这个网站上面手撸一份然后扫码即可,最后得到flag{OQWIC_4DS1A_S034S}

[XMAN2018排位赛]AutoKey

usb的流量包,使用如下命令提取出来数据

tshark -r usb.pcapng -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

然后给其加上冒号,脚本如下

f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:a=f.readline().strip()if a:if len(a)==16:out=''for i in range(0,len(a),2):if i+2 != len(a):out+=a[i]+a[i+1]+":"else:out+=a[i]+a[i+1]fi.write(out)fi.write('\n')else:breakfi.close()

然后解一下,脚本如下

mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }nums = []
keys = open('out.txt')
for line in keys:if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':continuenums.append(int(line[6:8],16))keys.close()output = ""
for n in nums:if n == 0 :continueif n in mappings:output += mappings[n]else:output += '[unknown]'print('output :\n' + output)

得到

[unknown]A[unknown]UTOKEY''.DECIPHER'[unknown]MPLRVFFCZEYOUJFJKYBXGZVDGQAURKXZOLKOLVTUFBLRNJESQITWAHXNSIJXPNMPLSHCJBTYHZEALOGVIAAISSPLFHLFSWFEHJNCRWHTINSMAMBVEXO[DEL]PZE[DEL]IZ'

也就是

MPLRVFFCZEYOUJFJKYBXGZVDGQAURKXZOLKOLVTUFBLRNJESQITWAHXNSIJXPNMPLSHCJBTYHZEALOGVIAAISSPLFHLFSWFEHJNCRWHTINSMAMBVEXPZIZ

也就是这个密码,链接,用上面的脚本跑一下,也就是这样子

# from ngram_score import ngram_score
from math import log10
from pycipher import Autokey
import re
from itertools import permutationsclass ngram_score(object):def __init__(self,ngramfile,sep=' '):''' load a file containing ngrams and counts, calculate log probabilities '''self.ngrams = {}for line in file(ngramfile):key,count = line.split(sep) self.ngrams[key] = int(count)self.L = len(key)self.N = sum(self.ngrams.itervalues())#calculate log probabilitiesfor key in self.ngrams.keys():self.ngrams[key] = log10(float(self.ngrams[key])/self.N)self.floor = log10(0.01/self.N)def score(self,text):''' compute the score of text '''score = 0ngrams = self.ngrams.__getitem__for i in xrange(len(text)-self.L+1):if text[i:i+self.L] in self.ngrams: score += ngrams(text[i:i+self.L])else: score += self.floor          return scoreqgram = ngram_score('quadgrams.txt')
trigram = ngram_score('trigrams.txt')
ctext = 'MPLRVFFCZEYOUJFJKYBXGZVDGQAURKXZOLKOLVTUFBLRNJESQITWAHXNSIJXPNMPLSHCJBTYHZEALOGVIAAISSPLFHLFSWFEHJNCRWHTINSMAMBVEXPZIZ'
ctext = re.sub(r'[^A-Z]','',ctext.upper())# keep a list of the N best things we have seen, discard anything else
class nbest(object):def __init__(self,N=1000):self.store = []self.N = Ndef add(self,item):self.store.append(item)self.store.sort(reverse=True)self.store = self.store[:self.N]def __getitem__(self,k):return self.store[k]def __len__(self):return len(self.store)#init
N=100
for KLEN in range(3,20):rec = nbest(N)for i in permutations('ABCDEFGHIJKLMNOPQRSTUVWXYZ',3):key = ''.join(i) + 'A'*(KLEN-len(i))pt = Autokey(key).decipher(ctext)score = 0for j in range(0,len(ctext),KLEN):score += trigram.score(pt[j:j+3])rec.add((score,''.join(i),pt[:30]))next_rec = nbest(N)for i in range(0,KLEN-3):for k in xrange(N):for c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':key = rec[k][1] + cfullkey = key + 'A'*(KLEN-len(key))pt = Autokey(fullkey).decipher(ctext)score = 0for j in range(0,len(ctext),KLEN):score += qgram.score(pt[j:j+len(key)])next_rec.add((score,key,pt[:30]))rec = next_recnext_rec = nbest(N)bestkey = rec[0][1]pt = Autokey(bestkey).decipher(ctext)bestscore = qgram.score(pt)for i in range(N):pt = Autokey(rec[i][1]).decipher(ctext)score = qgram.score(pt)if score > bestscore:bestkey = rec[i][1]bestscore = score       print bestscore,'autokey, klen',KLEN,':"'+bestkey+'",',Autokey(bestkey).decipher(ctext)

发现flag

HELLOBOYSANDGIRLSYOUARESOSMARTTHATYOUCANFINDTHEFLAGTHATIHIDEINTHEKEYBOARDPACKAGEFLAGISJHAWLZKEWXHNCDHSLWBAQJTUQZDXZQPF

flag即为最后一段字符串

JHAWLZKEWXHNCDHSLWBAQJTUQZDXZQPF

[网鼎杯 2020 青龙组]虚幻2

一张png,很多个像素点,发现每一个像素点的RGB值不是255就是0,而且宽度是32,高度是12,高乘上个3也就是36了,然后255换成1,0换成0,再转个黑白块看看,可能是个二维码,脚本如下

from PIL import Imagex1 = 36
y1 = 12
x2 = 36
y2 = 36
s = ""im1 = Image.open('file.png')
im2 = Image.new("RGB", (x2,y2))for i in range(0,x1):for j in range(0,y1):rgb = im1.getpixel((i,j))if rgb[0] == 255:s += '1'else:s += '0'if rgb[1] == 255:s += '1'else:s += '0'if rgb[2] == 255:s += '1'else:s += '0'for i in range(0,x2):for j in range(0,y2):if s[i*36+j] == '0':im2.putpixel((i,j),(0,0,0))else:im2.putpixel((i,j),(255,255,255))im2.save('1.png')

然后通过简单的旋转以及翻转,得到一个汉信码,这里的旋转和翻转也可以通过py来完成,代码如下

im2 = im2.transpose(Image.FLIP_LEFT_RIGHT)
im2 = im2.transpose(Image.ROTATE_90)


然后通过扫一扫软件进行扫码,得到flag{eed70c7d-e530-49ba-ad45-80fdb7872e0a} ,这个软件可能有点难找,给大家分享一下,链接,密码为a66b

[INSHack2017]hiding-in-plain-sight

foremost分离出来一张jpg,也就是flag

[MRCTF2020]小O的考研复试

跑一下即可

[NPUCTF2020]碰上彩虹,吃定彩虹!

解压文件出来的时候有警告信息,熟悉的NTFS隐写流,扫一下,得到

词频分析得到

ZW5jcnlwdG8=

base64解码得到

encrypto

第一个文件下面存在一些空格和制表符

转为莫斯即为

.- ..- - --- -.- . -.--

也就是

autokey

用autokey密码对上面这段内容进行一个爆破

得到一个密码,暂时不知道有什么用
vim查看maybehint.txt可以很容易判断出来这是0宽度字符隐写,跑一下,得到

注意勾上这个,然后发现这么一段话

不过这个NTFS咱们早就发现了:(,浪费了一个线索,然后去百度搜索encrypto,得知这是一个加密软件,同时将secret文件后缀修改为.crypto,用上面得到的密码IANTHEPASSWD进行解密,但是不对,在linux下使用strings命令查看文件发现这个

去010中将其删去,再次进行解密,得到一张彩虹的图片

发现其黄色的RGB最后一位有所不同,将其转为字符串得到p?ssWd,同时foremost分离出来一个带有密码的压缩包,而密码尝试这个不对,所以中间的?应该是要咱们爆破的,爆破一下即可,得到密码p@sswd,这里使用工具爆破无果,我是手动爆破的。
下面有一些隐藏字符,不过没什么用

将上面一大段的字母钟的大写字母提取出来,也就是ALPHUCK,百度得到一个在线解密网址,删去几个大写字母进行解密得到flag

BUUCTF-刷题记录-8相关推荐

  1. BUUCTF刷题记录(7)

    文章目录 web [NPUCTF2020]ezinclude [NPUCTF2020]ReadlezPHP [GXYCTF2019]BabysqliV3.0 非预期1 非预期2 预期 [NCTF201 ...

  2. BUUCTF刷题记录(2)

    文章目录 web [De1CTF 2019]SSRF Me(未完成) [极客大挑战 2019]PHP [极客大挑战 2019]Knife [极客大挑战 2019]LoveSQL [RoarCTF 20 ...

  3. buuctf刷题记录(6)

    [MRCTF2020]Xor 查壳: 拖入IDA中: 跟进,但是我们无法对关键函数sub_401090查看伪代码: 然后我们就直接看: 再函数中可以看到v0和byte_4212c0按位异或,最后得到b ...

  4. 【BUUCTF刷题记录】[极客大挑战 2019] Http

    1. 打开靶场,看起来给的不是一个完整的地址,复制一下访问 http://node4.buuoj.cn:26551/ 显示一个页面,找了一下没有用于输入的框. 右击查看源代码,发现一个名为Secret ...

  5. BUUCTF刷题记录 Pokémon

    [GKCTF2020]Pokémon 下载安装包 进入游戏 来到天元镇 接着做任务 经过101道路 道吉镇 到103道路 发现flag

  6. buuctf刷题记录21 [网鼎杯 2020 青龙组]jocker

    今天挑战一下,结果最后还是看了别人的wp才写出来的 无壳,ida查看发现不能f5,原因堆栈不平衡 进行栈指针修改 修改出错的地方的栈指针偏移,快捷键alt+k,值改为0 然后就能f5了, 逻辑也不难, ...

  7. [buuctf]刷题记录web

    文章目录 反序列化 pingpingping [极客大挑战]http [极客大挑战 2019]PHP [极客大挑战 2019]Knife [极客大挑战 2019]Secret File [ACTF20 ...

  8. BUUCTF刷题记录 Ping Ping Ping

    [GXYCTF2019]Ping Ping Ping 进入页面 然后/?ip=127.0.0.1|ls 进入 读取flag.php 再cat$IFS$1indnx.php 再变量拼接 ?ip=127. ...

  9. buuctf rsa刷题记录(记几种类型的RSA攻击二)

    前言 最近学习了点儿rsa这里总结以下我的buctf rsa部分刷题记录 dp,dp泄露 场景描述: 假设题目仅给出p,q,dp,dq,c,即不给公钥e 这种参数是为了让解密的时候更快速产生的 dp= ...

  10. BUUCTF-2020寒假刷题记录

    BUUCTF-2020寒假刷题记录 Web [RoarCTF 2019]Easy Calc 打开源码,看到calc.php,打开看到源码. 在 num 前面加个空格即可绕过 ? num=phpinfo ...

最新文章

  1. Android-Binder(一)
  2. Docker镜像与容器命令
  3. 【论文解读】IPM2020 | 长短期兴趣建模的图神经网络新闻推荐系统
  4. .Net Core3.0依赖注入DI
  5. Cassandra集群配置
  6. LeetCode-3. 无重复字符的最长子串
  7. 油猴脚本管理器的超详细下载安装使用教程—— 个性化浏览器
  8. CANOPEN 学习(一) CANFestival 字典工具 环境搭建
  9. 我在华为的十年----徐家俊
  10. DTOJ#5208. 蓝buff一吃就起飞
  11. Opencv访问图像像素的三种方法
  12. 2019.11.20 LS-Dyna与MSC.Dytran特点
  13. 【动手学深度学习】李沐——循环神经网络
  14. java实现计算器_Java 实现简单计算器
  15. 查看电脑已连接过的账号密码
  16. Android四大组件生命周期
  17. 英特尔® Distribution of OpenVINO™ toolkit 2021 版的发布说明
  18. 了解 什么是 22 端口
  19. linux如何解压.z文件,linux文件解压缩命令(史上最全教程)
  20. 时间管理的基础是精力管理

热门文章

  1. Android Studio导入工程项目一直处于gradle....而且一直卡在这个页面
  2. ZK指纹机二次开发中控F18
  3. java eav_entity-framework-4 – 实体框架4和ddd中的EAV
  4. 11台计算机的英语,世界第一台计算机英文缩写名为
  5. 计算机组成原理中的直接映像,计算机组成原理--cache存储器的直接映像与变换...
  6. bug:ValueError: multi_class must be in (‘ovo‘, ‘ovr‘)
  7. 为您的DC/DC 转换器选择最佳开关频率
  8. html5立体照片墙效果,HTML5特效可以 14种jQuery超酷3D网格照片墙动画特效源码
  9. 带货直播源码,浅谈直播实现过程和技术
  10. 计算机主机不通电,电脑主机不通电无法开机怎么解决