惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

开发 - 无垠

使用通行密钥 PRF 扩展在浏览器中安全加密 - 无垠 谈谈 WebAuthn - 无垠 不止更亮:在 Web 中使用 HDR - 无垠 前端时间国际化 101 - 无垠 NLP 找门:用朴素贝叶斯进行文本分类 - 无垠 MDx 中增强页面可访问性的细节 - 无垠 GitHub 2019 统计无垠版 - 无垠 更新到下一代服务器架构 - 无垠 AOSP 使用报告 - 无垠 村通网之也谈 HTTPS - 无垠 新的个人页以及对 Nginx 启用 Brotli、TLS 1.3和 Server Push - 无垠 MDx:轻于形,悦于心 - 无垠 自动检查SSL证书到期情况 - 无垠 PJAX,真的好吗? - 无垠
Milkice 跨年红包解谜 Writeup 及无垠跨年红包解谜答案 - 无垠
Axton · 2020-01-02 · via 开发 - 无垠

又到了水文章的时间呢

先说明一下,这篇文章原本不是在计划中的,而原来说好的「在路上的两篇」文章绝对不会咕。我自己的红包答案本来打算直接塞在年度总结里的,结果发现稍微有些长,再加上我还花了一些时间解了奶冰的红包解谜游戏,就打算把两个解谜过程放在一起单独写一篇文章。真是个水文章的好理由(被打死

冰的红包

奶冰的红包题目比我的难多了,所以让我们先从难的开始吧。首先看一下题目

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-2.jpg

入口是 happy.2020.milkice.me,扔到浏览器里面表示找不到 IP,那么大概率就是 DNS 的 TXT 记录了,查一下得到 nb2hi4dthixs63ljnrvwsy3ffzwwkl3tivrvezluomxxg5dsmvqw2ltqmnqxa3th

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-3.jpg

第一眼没看出来是什么编码,直觉是 BaseXX 系列的编码,加上提示“不只有 Base64”,可以推断出是 Base32,转大写解码得到 https://milkice.me/sEcRets/stream.pcapng。是个 URL,下载得到一个 Wireshark 文件,打开一看是和某 USB 设备的通讯抓包。不会做,不做了。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-4.jpg

奶冰提示我“Google 上搜得到”,结合第二条提示搜索“wacom pcapng”找到了这篇文章这™就是答案啊)。看起来是一样的套路,即通过解析数据得到数位板上画的内容,于是按文章的思路筛选出数位板发给主机的数据,导出,然后再用 tshark 导出文本数据。本来我想直接用文章中的 POC 的,结果折腾半天因为源的蜜汁原因库没装上,于是按文章中给出的数据结构自己写了段代码,分别导出 X、Y 轴数据扔进 Excel 画散点图。(别问我为什么用 Excel,因为我手边没有更好的工具了

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-8.jpg

翻车现场之一

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-13.jpg

懵逼奶冰.webp

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-1.jpg

看得出有手写文字,不过是上下颠倒的,翻转图片得 https://milkice.me/2020/uso.zip。是个 zip,下载打开一看,有密码。不会解,不做了。 第一反应是暴力解密码,但是暴力跑了 15 分钟还是没有跑出来。暴力太不优雅了,肯定不是正确思路,但奶冰什么都不肯说了。不过在这时我终于发现第一个红包口令码就藏在压缩包的注释中,Get。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-15.jpg

然而题还没解完,回去看提示,看到提供了 osu 谱面下载,于是打算不管怎么样先下载来看看。然而 osu 谱面下载要登录,只好又花了几分钟找到第三方站点,成功下载。这时候可以注意到 uso.zip 里有个同名文件(432314 Mike Greene - Bill Nye the Science Guy Theme Song (Chinese Intro).osz),可以联想到是明文攻击。好吧,上 ARCHPR,十秒解出。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-5.jpg

现场还原.jpg

.osz 文件并不是明文,猜测是压缩包(和 .pptx 一个思路嘛),于是改后缀 .zip 顺利打开。然后红包口令码就藏在奶冰的 .osu 文件中了,由提示可知是明文,打开即可得到。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-14.jpg

我的红包

相比起来我的题目就简单很多了嘛...三天时间一共发出了 25 个红包,包括一位重复领取的🌚,比前几年还是多了一些的。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-16.jpg

这位同学以后请不要多次领取🌚

那么来看看答案吧。

第一阶段

=CE=B1=D1=85t=D0=BEn.=D1=96m/=D1=81=D0=BEd=D0=B5_=D0=BEf_2020_=E2=92=88m=CF=81=D0=B7

首先观察字符串,可以发现 . / _ 等一些 ASCII 字符原样留在了字符串中,而其他字符被由 = 和十六进制构成的某种编码所替代。如果你正好有所了解,你应该能认出这是 Quoted-printable 编码,这是一种常用于邮件中的编码,可以用这个页面解码。如果你不了解,你也应该可以发现这种编码和 URL 编码非常相似。如果你把 = 替换为 %,那么你就可以用各种方法顺利地把它按 URL 编码来进行解码,最后可以得到 αхtоn.іm/соdе_оf_2020_⒈mρз。这个字符串里大部分字符都不是 ASCII 字符,只是长得像而已。根据第一个提示“全是 ASCII 字符”,按样子把字符串用 ASCII 字符抄一遍,可以得到最终 URL 为 axton.im/code_of_2020_1.mp3

第二阶段

下载音频,可以听出音频是经过某种处理的白噪音。白噪音的特点是各频段的功率都均匀分布,在白噪音上做文章,很容易就可以联想到线索藏在频谱中。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-8-1.jpg

频谱被处理成了 24x3 的网格,结合第二条提示“24x3,横向读取”可以推断出是将频谱当作二进制读取,得到 01111001 01110010 01100011 00101110 01101101 01100101 00101111 00110010 00110000,转为 ASCII 字符可得 yrc.me/20

第三阶段

打开上一步得到的页面,提示要求输入十位数密码。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-10.jpg

如果你在上一步注意到了这个音频文件奇怪的属性,你可以反应过来这里的密码就是 2000202020

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-11.jpg

如果你没有注意到,查看页面代码可以看到一条注释 <!-- Tips: the attribute of the audio --> 将你引导向音频文件的属性。输入密码,解锁即可进入下一步。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-9.jpg

第四阶段

可以看到是一张图片,内容为“.JPG”和“.ZIP”。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/2020-1-scaled.jpg?imageView2/1/w/724/h/1024/interlace/1/q/90#

和去年一样的套路,下载图片,将后缀名改为 .zip 然后打开,可以看到 README.txt。

最后一步

查看 README.txt 的内容,可以了解到需要去 🤔.axton.cc 获取红包口令码。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-12.jpg

扔到浏览器里会出现奶冰同款找不到 IP,于是可以联想到 TXT 记录。唯一的问题是 🤔 这个 Emoji 需要如何处理。域名使用 Punycode 将 Unicode 字符转换为 ASCII 字符,特点是以 xn-- 开头。如果你把上面这个域名扔进浏览器,你会发现它变成了 xn--wp9h.axton.cc。然后查询 TXT 记录,即可得到红包口令码。

https://acdn.flyhigher.top/wp-content/uploads/2020/01/rp-7.jpg