2022年暑期集训记录--6月29日

1.[XMAN2018排位赛]AutoKey

1.得到USB流量,首先了解AutoKey是什么

https://blog.csdn.net/weixin_47024013/article/details/118712504

2.使用UsbKeyboardDataHacker.py 工具

https://github.com/WangYihang/UsbKeyboardDataHacker/blob/master/UsbKeyboardDataHacker.py

获得流量,来获取密文

image

2.去掉”CAP"和"DEL",使用网站解密

https://www.wishingstarmoye.com/ctf/autokey

3.没成功,看了一下大佬的WP,使用breakautokey工具破解,并且在删除DEL时,其前面的字母也要删除,则完整的密文是:

mplrvffczeyoujfjkybxgzvdgqaurkxzolkolvtufblrnjesqitwahxnsijxpnmplshcjbtyhzealogviaaissplfhlfswfehjncrwhtinsmambvexpziz

4.由于网上找不到breakautokey工具的py了,我就先用的网站,当key为FLAGHERE时,可以得到flag

image

2.[QCTF2018]X-man-Keyword

1.得到一张png,binwalk和pngcheck都没有明确的信息,用cloacked-pixel-master(pyhon2的调了好久),使用命令:python lsb.py extract 1.png 001.txt lovekfc,得到txt

image

2.显然不是flag,是关键字密码,需要key,根据图片内容提示,猜测是将26个英文字母中的lovekfc提前,作为密钥

lovekfcabdghijmnpqrstuwxyz

使用脚本,关键字密码:https://blog.csdn.net/weixin_47024013/article/details/118521935

3.得到flag

image

3.一路到底

1.得到一个好大的zip,直接点开我的电脑卡住了(tcl)得先解压一下,得到一堆txt

image

2.随便点开一个,发现内容如此下,是由一个txt指向另外一个txt

image

3.猜测是按照它的顺序将前面的数字连在一起会得到新的zip或者png等,看到了一个名为start的txt

image

4.作为十六进制转换一下,20555,转化为hex是504B,猜测是zip,用脚本

import binascii

hexdata = ''
with open('./files/start.txt') as f:
cont = f.read()
nexttxt = cont[-36:]
hexdata += '{:04x}'.format(int(cont[0:cont.find(':')-1]))
while True:
    path = './files/' + nexttxt
    try:
        with open(path) as f:
            cont = f.read()
            nexttxt = cont[-36:]
            hexdata += '{:04x}'.format(int(cont[0:cont.find(':')-1]))
    except:
        break

with open('flag.zip','wb') as f:
f.write(binascii.unhexlify(hexdata))

5.得到含有加密png的zip

image

6.没有找到关于密码的提示,暴力破解小写字母加数字,共六位(刚开始试的纯数字和纯字母,不对)

image

7.显示文件格式错误

image

8.010打开,末尾是FFD9,开头是89504E47,把开头改了,改为FFD8FFE0

image

9.在png上有flag

image

4.[BSidesSF2019]thekey

1.得到USB流量,直接用UsbKeyboardDataHacker.py

image

2。得到flag,但是提交时需要大写(在研究为什么,明白了回来补充)

flag{MY_FAVOURITE_EDITOR_IS_VIM}

5.[SUCTF2019]protocol

1.USB流量,用UsbKeyboardDataHacker.py 没有发现

image

2.用foremost分离试一下,得到一些png

image

3.可以看出每张图片上的东西都是镜像的,那么就是要排顺序,参考了一下大佬的WP

image

4.返回wireshark中,排长度,从大小为7845开始,提取信息,前十五个(因为图片中前十五个有字)是

04 03 02 01 00 09 08 07 06 05 0e 0d 0c 0b 0a

image

5.再从第十六个开始向后数十个(因为有十张黑图)

06 07 0e 04 01 0d 00 02 0b 09

image

6.然后就可以发现规律,则有字的图片的对应大小就是

04 03 02 01 00 09 08 07 06 05 0e 0d 0c 0b 0a

以此类推

7.对照有字的图的数据,找出与黑色图片相同数据的位置,即可以找到黑色图片对应的字

例如,第一张是06,那么在有字的图片数据中是第九个,所以对应的就是s(需要镜像)
image

8.以此类推,就可以得到flag,flag是suctf

6.ezsql

校赛的方法还在研究,请教别人是找的规律

image

f对应的ASCII是102,l对应的是108,然后以此类推,用了一个脚本

s = '1021089710312356565057100515048455652575545525050994556985510245571014953102101985756574849125'
temp = ''

while len(s):
	if int(s[:3]) < 127:
    	temp += chr(int(s[:3]))
   	 	s = s[3:]
	else:
    	temp += chr(int(s[:2]))
    	s = s[2:]
print(temp)
posted @ 2022-06-29 18:27  CPYQY_orz  阅读(74)  评论(0编辑  收藏  举报