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

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
量子位
S
SegmentFault 最新的问题
博客园 - 聂微东
博客园 - 【当耐特】
J
Java Code Geeks
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
H
Help Net Security
V
V2EX
人人都是产品经理
人人都是产品经理
博客园 - Franky
罗磊的独立博客
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research

LanYunのBlog

优化macOS Dock栏的显示与隐藏 解决macOS全屏模式下某些情况显示原始鼠标指针的问题 Yarn从Classic迁移到Modern nginx自编译 用santa对二进制进行监控和授权 ESXI 8.0安装黑群晖DSM 7.x openwrt编译过程记录 编译monero For macOS ARM 自建busuanzi不蒜子平台统计平台 浅记博客更新日志 (机翻)Kubo配置文件 修改brew services中服务的启动参数 技术杂记📝 解决Surge模块不能同步问题 为Arch Linux配置邮件服务 自编译NutClient-ESXI,更改邮件逻辑 解决ESXI和群晖使用SSH密钥登录问题 为J4125软路由ESXI中群晖提供UPS服务 在arch linux上搭建rustdesk server 解决虚拟机扩容中GPT PMBR大小不符问题 搭建Tuic V5 优雅地为macOS提供python多版本的支持 修复root路径下文件权限问题 解决macOS 14上利用Whisky运行steam时有关问题 在macOS中用PhpStorm配置Xdebug调试 利用CloudFlare Workers快速自建一个IP获取器 如何自动续期证书? 从0开始速配VPS用于网站等 搭建一个基于ChatGPT的QQ机器人(Yunzai-Bot) For Mac 010 Editor For Mac 13.0.1 Crack 破解
国赛2022 WP
LanYun · 2022-06-02 · via LanYunのBlog

前言

记录📝一些自己复现的过程吧.

第15届全国大学生知识竞赛

比赛时间:5.29 11:00 - 5.29 19:00
比赛网址: https://ctf.ichunqiu.com/topic/2022dxs


misc

everlasting_night

everlasting_night.zip

照片文件尾多出了这个.

FB 3E FC E4 CE AC 2F 54 45 C7 AE 17 E3 E9 69 AB

image-20220602113605031

用md5解密看看,得到ohhWh04m1

image-20220602131624298

通过stegsolve照片隐写工具

发现alpha plane2通道有隐藏数据

image-20220602132038443

查看数据为f78dcd383f1b574b

image-20220602132218696

通过lsb隐写分离(工具🔧)之后用exiftool查看得知文件为zip压缩包(看文件📃头也可以)

image-20220603184220246

查看压缩包内容,如何检查压缩包是否有错误,没错误就解压带上密码参数-P ohhWh04m1

image-20220603184925001

查看文件类型,发现是PNG.

于是就先用pngcheck工具检查一下.

果然发现错误:invalid IHDR image dimensions (0x0)

我们知道是IHDR块存在问题,所以先去看看文件的十六进制转储 (Hex dump)

通过xxd命令并通过管道将其输入head,就一目了然了(通过010看也可以,这里方便演示)

image-20220603190451844

现在,我们来分解一下信息.

  • 89 50 4e 47 0d 0a 1a 0a:这可以识别为文件签名(文件头),这是 UNIX 系统用来识别文件类型的.
  • 00 00 00 0d:这是我们的 IHDR 长度.
  • 49 48 44 52:这是我们的块类型,在这种情况下指定 IHDR.
  • 00 00 00 00: 这是我们的宽度,显然这是无效的.
  • 00 00 00 00: 这是我们的身高,显然这也是无效的.
  • 08: 这是我们的位深度.
  • 06: 这是我们的颜色类型
  • 00: 这是我们的压缩类型.
  • 00:这是我们的过滤器类型.
  • 00: 这是我们的区间类型.
  • 00 00 00 00: 这是我们的 CRC 校验和,显然它也是无效的.

现在我们还知道了 图像尺寸 以及 CRC 校验和 无效.

关于CRC 校验和有疑问?那我简单介绍一下吧.

CRC 校验和是基于块数据计算的,如果 IHDR 块有效,那么它的 CRC 校验和 将匹配 hexdump 中提供的CRC.

既然CRC 校验和无效,那么我们不能通过暴力破解 IHDR 块中可能的图像尺寸来修复损坏的 png 图像

观察后面的数据,我们可以将51之后的数据另存后缀为data的文件,用gimp打开.

调整宽度为352,即可得到我们的flag.

image-20220603215119450

flag{607f41da-e849-4c0b-8867-1b3c74536cc4}

ez_usb

ez_usb.zip

用Wireshark打开,发现存在键盘流量.

image-20220603221835237

image-20220603232930277

图中显示的HID Data就是我们的键盘输入数据.

我们先看看Source为2.8.1这个键盘数据.

通过命令1⃣️tshark -r usb.pcapng -Y "usb.src == \"2.8.1\"" -T fields -e usbhid.data | sed '/^\s*$/d' > usbdata.txt
或者2⃣️ tshark -r usb.pcapng -T fields -e usbhid.data | sed '/^\s*$/d' > usbdata.txt
(若显示的是 Leftover Capture Data,则用命令tshark -r usb.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt#提取并去除空行)

注:-Y “usb.src == "2.8.1"“ 是过滤source为2.8.1的数据包
-T fields -e usbhid.data 是提取usbhid.data字段
-e usb.capdata 是提取usb.capdata字段

命令1⃣️可以过滤出Source为2.8.1的键盘输入数据.导出为usbdata.txt这个文件.

命令2⃣️则是将所有键盘输入数据导出来.

然后使用此脚本USB键盘流量.py.

image-20220603231337013

(注:pythonT是我的一个虚拟python的替换,你们用python即可)

显然,output中前面一串是rar文件头,并发现有密码,先将它们dump到本地.

image-20220603231618421

再看看Source为2.10.1这个键盘数据.

上述过程同理.得到 35c535765e50074a

image-20220603233256310

根据测试这个是压缩包的密码.

从而得到 flag{20de17cc-d2c1-4b61-bebd-41159ed7172d}

image-20220603234215147

不过除了这2个键盘流量,我还发现另外一个.

image-20220603234407817

但可惜的是,什么信息都没有.

image-20220603234437658

Crypto

签到电台

题目内容:豪密,是中国共产党和中国工农红军第一本无线电通讯密码的简称,由周恩来同志亲自编制,以周恩来党内化名“伍豪”命名,它是我党建立机要工作最早也是保密性能最强的一种密码,从二十世纪三十年代到全国解放,都始终未被破译。春秋GAME伽玛实验室团队通过对豪密的加密模式进行分析,并参考已有的文献资料,仿制豪密的加密方法,制作成一道题目,谨以此题致敬情报战线的先辈们。

请点击“下发赛题”,让我们一起穿越百年,追寻红色通信足迹。(关注“春秋伽玛”公众号,回复“签到电台”获取解题提示)

在“标准电码表”找“弼时安全到达了”所对应的7个电码,再跟“密码本”的前7*4个数字分别逐位进行“模十算法”(加不进位、减不借位),所得到的就是要发送的电码。

发送电码前先发送“s”启动,即按3个“.”,这个发送电报的过程可以使用抓包软件进行抓取,可方便输入电报。

(如果您还需要进一步的提示,可在本公众号输入“豪密剖析”获取。)

“弼时安全到达了”所对应的7个电码:

1732 2514 1344 0356 0451 6671 0055

28=7*4

模十算法示例:1732与6378得到7000

发包示例:/send?msg=s

你的任务

现在你拥有了一台模拟电报机,如果以标准电码表为底本,并结合给出的密码本,请使用该电报机通过豪密的加密方法与总部通讯,发送消息为“弼时安全到达了”。

通过以下脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import requests as req 

sess = req.session()

sess.get("http://???.cloudeci1.ichunqiu.com:8888/")

secret = sess.get("http://???.cloudeci1.ichunqiu.com:8888/secret").text
print(secret)

ans = ""
a = secret[:28]
b = "1732251413440356045166710055"

for i in range(28):
v = (int(a[i]) + int(b[i])) % 10
ans += str(v)

print(ans)

sess.get("http://???.cloudeci1.ichunqiu.com:8888/send?msg=s")
flag = sess.get("http://???.cloudeci1.ichunqiu.com:8888/send?msg={ans}").text

print(flag)

即可得到flag

基于挑战码的双向认证 1 && 2

说明文档:预赛可信计算赛题-双向认证挑战模式.docx

本题含有两个flag,请点击“下发赛题”,本题容器下发后的端口是ssh端口,ssh的账号密码均为:player;ssh登录上去可自行修改密码。请参考说明文档,获取flag,并在本题提交第一个获取到的flag。

通过find /| grep flag查找.

由于服务器上文件读取权限设置不当(755)
可以直接进入root目录下找到 cube-shell/instance/flag_server 下的 flag1.txt 和 flag2.txt

基于挑战码的双向认证 3

由于给出的服务器上,root用户使用了弱密码.

爆破root密码为toor,登录后找到flag在/root/cube-shell/instance/flag-server/flag2.txt

由于能力有限,暂写这么多吧.