西湖论剑misc复盘

写在前面:

这里是β-AS,打任何比赛都对自己是只菜鸡有更一步的认识[/哭.jpg]

本次西湖论剑也没有论动呜呜呜[/在爬了在爬了.jpg][/都给我哭.jpg]

顺便,日常膜盖乐希师傅

Yusayyds

https://mp.weixin.qq.com/s?__biz=MzU1MzE3Njg2Mw==&mid=100004204&idx=1&sn=6e9c24c8980ca2075c81721ad80df1c1&chksm=7bf78b1c4c80020aa762ff0dcf3c09674860d044c8374a8b56b938e4b8a3dfae89f835b845c6&mpshare=1&scene=23&srcid=1011xEwf3281kQ5h572pu2VW&sharer_sharetime=1602406642393&sharer_shareid=2c975ce868a6459ea81c6b1412be0427#rd

哭,这道题打比赛的时候根本没看出来,上方链接为官方给的解题思路,咱也看不懂,咱也不知道怎么问呜呜

下载得到一个流量包啦

在比赛中,我们用wireshark打开分析,发现好像是一个USB的流量,但是好像又不是一个单纯的USB23333比赛结束之后复盘才搞懂怎么做

由官方文档可知这是一个某手柄的流量,flag是手柄的震动次数,然后在流量包里有两次短时间的断电…

emmmm其实,我们只需要过滤2.15.2的信息就好,咱也不知道为什么

usb.addr == "2.15.2"

然后由根据手柄特性可知,震动一次四个包(抱jio.jpg)(不懂.jpg)
肉眼观察能得出数据

图片

它有很明显的时间断点,所以很好判断,所以数一数是1 1 4 5 1 4

然后我们再把这个数字md5加密一下就好啦~记得是小写的哟

这道题出题人脑洞真大

Yusapapa

开题一个链接,访问链接进入网站,f12访问网站源码后得到下列文字

<!-- Maybe these texts are really helpful for you
Biometric list is OK!
endow gremlin indulge bison flatfoot fallout goldfish bison hockey fracture fracture bison goggles jawbone bison flatfoot gremlin glucose glucose fracture flatfoot indoors gazelle gremlin goldfish bison guidance indulge keyboard keyboard glucose fracture hockey bison gazelle goldfish bison cement frighten gazelle goldfish indoors buzzard highchair fallout highchair bison fallout goldfish flytrap bison fallout goldfish gremlin indoors frighten fracture highchair bison cement fracture goldfish flatfoot gremlin flytrap fracture buzzard guidance goldfish freedom buzzard allow crowfoot jawbone bison indoors frighten fracture bison involve fallout jawbone Burbank indoors frighten fracture bison guidance gazelle flatfoot indoors indulge highchair fracture bison hockey frighten gremlin indulge flytrap bison flagpole fracture bison indulge hockey fracture flytrap bison allow blockade endow indulge hockey fallout blockade bison gazelle hockey bison inverse fracture highchair jawbone bison gazelle goggles guidance gremlin highchair indoors fallout goldfish indoors bison gazelle goldfish bison indoors frighten gazelle hockey bison flatfoot frighten fallout glucose glucose fracture goldfish freedom fracture blackjack blackjack-->

百度该段文字后发现是PGP词汇表
https://baike.baidu.com/item/PGP%E8%AF%8D%E6%B1%87%E8%A1%A8/22718129?fr=aladdin

对照该表解出十六进制后

59 6F 75 20 63 61 6E 20 73 65 65 20 6D 79 20 63 6F 6C 6C 65 63 74 69 6F 6E 20 70 75 7A 7A 6C 65 73 20 69 6E 20 2F 68 69 6E 74 2E 72 61 72 20 61 6E 64 20 61 6E 6F 74 68 65 72 20 2F 65 6E 63 6F 64 65 2E 70 6E 67 2E 0A 42 79 20 74 68 65 20 77 61 79 2C 74 68 65 20 70 69 63 74 75 72 65 20 73 68 6F 75 64 20 62 65 20 75 73 65 64 20 0A 22 59 75 73 61 22 20 69 73 20 76 65 72 79 20 69 6D 70 6F 72 74 61 6E 74 20 69 6E 20 74 68 69 73 20 63 68 61 6C 6C 65 6E 67 65 21 21

随便解码后为下文

You can see my collection puzzles in /hint.rar and another /encode.png.
By the way,the picture shoud be used 
"Yusa" is very important in this challenge!!

(小声bb,可以去github找项目解码(再次小声bb,我还没学会)
https://github.com/kronolynx/pgp-word-list-converter

我们通过提示可以看到在该网站链接下还有两个文件

一个hint.rar还有另一个encode.png,各自访问下载文件后发现压缩包需要密码

这时我们继续寻找,在网站源码中发现了encode.webp

对于webp我们会用到stegpy隐写,具体可以查看我的上篇博客23333

https://blog.csdn.net/Amherstieae/article/details/109010064

这个没有密码直接回车就好

图片

成功get到压缩包的密码:the_key_is:Yus@_yydsstegpy!!

(但是我还没有搞懂那个password是怎么用的(抱jio.jpg)

输入密码解开压缩包得到一张hint.jpg的图片

图片

根据平台放出的hint,

Yusapapa: Hint1 : Invisible

在网上搜到一个古老的工具:Invisible Secrets
https://invisible-secrets.software.informer.com/download/#downloading

下载安装之后,双击打开invsecr.exe,

点击unhide files

图片

加载刚刚得到的hint.jpg的图片,点击JPEG然后点击next

选择Blowfish,输入密钥Yusa,

图片

点击next,然后点击unhide保存文件就好啦

至此,我们得到了一个加密脚本encode.py

import os,random
from PIL import Image,ImageDrawp=Image.open('flag.png').convert('L')
flag = []
a,b = p.size
for x in range(a):
    for y in range(b):
        if p.getpixel((x,y)) == 255:
            flag.append(0)
        else:
            flag.append(1)key1stream = []
for _ in range(len(flag)):
    key1stream.append(random.randint(0,1))
random.seed(os.urandom(8))
key2stream = []
for _ in range(len(flag)):
    key2stream.append(random.randint(0,1))
enc = []
for i in range(len(flag)):
    enc.append(flag[i]^key1stream[i]^key2stream[i])hide=Image.open('source.png').convert('RGB')
R=[]
G=[]
B=[]
a,b = hide.size
for x in range(a):
    for y in range(b):
        R.append(bin(hide.getpixel((x,y))[0]).replace('0b','').zfill(8))
        G.append(bin(hide.getpixel((x, y))[1]).replace('0b','').zfill(8))
        B.append(bin(hide.getpixel((x, y))[2]).replace('0b','').zfill(8))
R1=[]
G1=[]
B1=[]
for i in range(len(key1stream)):
    if key1stream[i] == 1:
        R1.append(R[i][:7]+'1')
    else:
        R1.append(R[i][:7]+'0')for i in range(len(key2stream)):
    if key2stream[i] == 1:
        G1.append(G[i][:7]+'1')
    else:
        G1.append(G[i][:7]+'0')for i in range(len(enc)):
    if enc[i] == 1:
        B1.append(B[i][:7]+'1')
    else:
        B1.append(B[i][:7]+'0')for r in range(len(R)):
    R[r] = int(R1[r],2)for g in range(len(G)):
    G[g] = int(G1[g],2)for b in range(len(B)):
    B[b] = int(B1[b],2)a,b = hide.size
en_p = Image.new('RGB',(a,b),(255,255,255))
for x in range(a):
    for y in range(b):
        en_p.putpixel((x,y),(R[y+x*b],G[y+x*b],B[y+x*b]))en_p.save('encode.png')

根据这个脚本,我们可以分析出,得到的encode.png为获得flag的最终文件
写个exp

(exp来自盖乐希大佬23333http://www.ga1axy.top/index.php/archives/50/

(日常膜盖乐希师傅)

from PIL import Image,ImageDrawhide=Image.open('encode.png').convert('RGB')
R=[]
G=[]
B=[]
a,b = hide.size
for x in range(a):
    for y in range(b):
        R.append(hide.getpixel((x,y))[0] & 1)
        G.append(hide.getpixel((x,y))[1] & 1)
        B.append(hide.getpixel((x,y))[2] & 1)
flag = [r^g^b for r,g,b in zip(R,G,B)]
for i in range(len(flag)):
    if flag[i] == 1:
        flag[i] = 255
en_p = Image.new('L',(a,b),255)
for x in range(a):
    for y in range(b):
        en_p.putpixel((x,y),(flag[y+x*b]))
en_p.save('flag.png')

运行exp后得到一张图片即为flag
图片

Barbar

附件是一个二维码,手机扫码发现如下信息

图片

但是,emmmm好像没有啥东西

然后用QRcode扫码发现是有丶东西

图片

发现在qr复制出来全是问号????那我们就换个工具扫好啦~~

然后我们成功得到一串带有神秘色彩的字符

(啊这,石墨好像会修改零宽度字符,在石墨上复制的东西不能成功解码2333

当我们的光标在移动的时候,发现有明显的停顿感,于是想到了零宽度字符2333

积累的网站换着解码2333

发现是介个

https://yuanfux.github.io/zero-width-web/

图片

得到了一串字符串,然后我们接着来分析这个二维码,扔到010里看一看发现除了开始的png还有一个压缩包,我们把他弄出来后发现加密了,提示是32位的密码

正好是上方我们得到的信息

图片

解压得到一张png图片和一个doc

图片好像是一张缺点东西的二维码,doc打开没有flag呜呜

图片

然后emmmm众所周知doc是一个zip,修改后缀名,我们会发现惊喜里面有点东西2333

图片

看这应该是一串base64,根据经验开头一般是iV的一般是base64转图片

我们可以用脚本跑一下,得到一张AZTEC码图

图片

扫码得到如下信息

di`f{e1c64e14db14c6bb8faabab5bd7be1dc}

这个字符串已经很像 flag啦,可是在经历了各种凯撒和维吉尼亚之后都不对,惨惨
在经过膜盖乐希师傅之后得到了解法

这个是npiet(咱也不知道是啥23333

以下来自盖乐希师傅博客(http://www.ga1axy.top/)23333电脑打不开了,用手机截得图

图片

解码网址:https://www.bertnase.de/npiet/npiet-execute.php(记得科学上网+人机验证

点最后一个选项,上传那张彩色的图,在input里输入我们得到的那串字符即可成功获得flag~~~

 f? l? a? g? {? f? 2? d? 7? 6? g? 3? 6? f? d? 1? 6? c? ? ? bb6? ? ? ? ? ? abaaf8? ? ? ? db5? 7? cb? ? ? d1e? d? }? ?

图片

over搞定!

指鹿为马咕咕咕

靶机关了233333

未完待续~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值