第四届网鼎杯白虎组资格赛Writeup

admin 2025年1月6日09:35:13评论15 views字数 1431阅读4分46秒阅读模式
白虎组资格赛

第四届网鼎杯白虎组资格赛Writeup

图片来源于网鼎杯官网

Crypto01

第四届网鼎杯白虎组资格赛Writeup
P(x),S(x),P_inv(x)的运算都可以用矩阵表示。
S_inv 可视为GF(2) 空间内,矩阵方程求解过程。
解题只需要在sagemath下构造GF(2)上的结构求解即可。

完整解题脚本如下:

第四届网鼎杯白虎组资格赛Writeup
Sagemath运行:

第四届网鼎杯白虎组资格赛Writeup

Crypto02

第四届网鼎杯白虎组资格赛Writeup
读代码发现p-1,q-1共用了因子g,发现是共素数攻击,简单搜索发现有现成的exp如下链接:

https://lazzzaro.github.io/2021/09/12/match-

2021%E7%BE%8A%E5%9F%8E%E6%9D%

AF%E7%BD%91%E7%BB%9C%E5%AE%89

%E5%85%A8%E5%A4%A7%E8%B5%9B/index.html

第四届网鼎杯白虎组资格赛Writeup

运行脚本获取flag

第四届网鼎杯白虎组资格赛Writeup

Reverse02

第四届网鼎杯白虎组资格赛Writeup
存在跨目录读取文件漏洞

对../进行了替换/

第四届网鼎杯白虎组资格赛Writeup
exp:curl "ip:port//////..//..../..../..../flag"

第四届网鼎杯白虎组资格赛Writeup

Pwn01

第四届网鼎杯白虎组资格赛Writeup
分析过程

检查程序菜单,发现存在增删改查功能。

第四届网鼎杯白虎组资格赛Writeup
检查程序保护方式,发现是默认的全开保护。

第四届网鼎杯白虎组资格赛Writeup
main函数逻辑如下,可以根据输入的1-4进入不同菜单,输入5程序退出,其他无效输出则会让程序继续进行。

第四届网鼎杯白虎组资格赛Writeup
挨个函数分析,首先是add函数,add函数看起来比较正常,最大限制0x20个chunk,并且每个chunk的大小不小于144,且不大于4096,否则报错程序退出。
这里我们没办法控制写入的chunk位置,只能按照顺序一次从0~31写入,并且size会被保存在bss上。

第四届网鼎杯白虎组资格赛Writeup
然后是删除函数,删除函数删除的chunk,但是没有恢复chunk_index,也就是说我们最多只能申请创建32个chunk。
这里可以指定index进行删除,删除之后清空对应的ptr指针。

第四届网鼎杯白虎组资格赛Writeup
接下来是edit函数,edit函数由于全局变量a的限制,我们只能够调用一次

第四届网鼎杯白虎组资格赛Writeup
show函数比较常规,无限制的显示chunk内容。

第四届网鼎杯白虎组资格赛Writeup
经过一系列繁琐的操作过程,发现 Edit存在任意地址写入漏洞

完整 exp:

第四届网鼎杯白虎组资格赛Writeup
第四届网鼎杯白虎组资格赛Writeup

Misc01

第四届网鼎杯白虎组资格赛Writeup
使用tshark提取流量中所有的 teid

第四届网鼎杯白虎组资格赛Writeup
去重发现有两处teid报文比较异常

第四届网鼎杯白虎组资格赛Writeup
过滤这两个teid值

第四届网鼎杯白虎组资格赛Writeup
第四届网鼎杯白虎组资格赛Writeup
最后按时间先后顺序进行拼接0x001c883f和0x0e43be3f的十进制值

Misc02

第四届网鼎杯白虎组资格赛Writeup
附件encrypted.py,其作用是使用AES算法的ECB模式对指定的明文进行加密。经过尝试利用 TEID 作为密钥解密,发现可以解密流量加密数据。

编写脚本提取 UDP 数据包及其字节内容和地址,获取字节内容打印每个 UDP 数据包的信息。

完整解题脚本:

第四届网鼎杯白虎组资格赛Writeup
运行脚本获取flag

第四届网鼎杯白虎组资格赛Writeup

Misc03

第四届网鼎杯白虎组资格赛Writeup
分析流量包发现是侧信道攻击题

第四届网鼎杯白虎组资格赛Writeup
分两段代码解题

1、提取并存储 TCP 流数据,按 TCP 流重组数据,打印每个 TCP 流的信息并保存为json文件

提取TCP流信息脚本代码:

第四届网鼎杯白虎组资格赛Writeup
2、分析 josn 文件,识别Base64编码的字符串,打印出识别到的Base64编码字符串,最后Base64解码得到flag

完整脚本如下:

第四届网鼎杯白虎组资格赛Writeup
运行脚本获取flag

第四届网鼎杯白虎组资格赛Writeup

Misc04

第四届网鼎杯白虎组资格赛Writeup
合并1 2 3,cat 1 2 3 >all

binwalk提取合并后的文件,有两个压缩包

第四届网鼎杯白虎组资格赛Writeup
修复伪加密的压缩包并解压得到2.png,上下反转2.png,得到一半flag

第四届网鼎杯白虎组资格赛Writeup
掩码暴破!@#QQQ0010flag****后4位,解压11.zip 得到11.png

第四届网鼎杯白虎组资格赛Writeup
foremost分离png图片,修复高宽可得到前一半flag

第四届网鼎杯白虎组资格赛Writeup

End

 

原文始发于微信公众号(赛查查):第四届“网鼎杯”白虎组资格赛Writeup

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月6日09:35:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   第四届网鼎杯白虎组资格赛Writeuphttps://cn-sec.com/archives/3590373.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息