CISCN2022 初赛WP
咕了有点久了,来发一下
CISCN2022初赛WP
一、 战队信息
战队名称:flag虽不能至,然心向往之
战队排名:第130名
Crypto
签到电台
根据题目的提示从公众号获取两个hint:
在“标准电码表”找“弼时安全到达了”所对应的7个电码,再跟“密码本”的前7*4个数字分别逐位进行“模十算法”(加不进位、减不借位),所得到的就是要发送的电码。发送电码前先发送“s”启动,即按3个“.”,这个发送电报的过程可以使用抓包软件进行抓取,可方便输入电报。
“弼时安全到达了”所对应的7个电码:1732 2514 1344 0356 0451 6671 0055。模十算法示例:1732与6378得到7000,发包示例:/send?msg=s
然后访问/secret看到密码,取前28个做模10运算,再用hint2的发包方式发送得到flag。
基于挑战码的双向认证
这题给了 ssh
,有权限就想着先连一下,连上去之后试试 find / | grep "flag.txt"
找到一个类似 flag
的东西,但是不是 flag
,此时又看到两个题目是连着的,所以就猜测应该是 flag1.txt
和 flag2.txt
。寻找之后发现 /root/cube-shell/instance/flag_server/
目录下存在,然后就直接拿到两个题目的 flag
了。
基于挑战码的双向认证3
有了前两道题目的铺垫之后,又试了试查看该目录下的 flag
发现权限不够,然后就尝试提权,直接试试看默认密码,随便输了几个试到了 toor
直接就提权了,然后拿下flag。
ISO9798
链接靶机,有pow,爆破即可
1 | from hashlib import * |
然后输入32个0过第二步
返回一长串字符串
4993ad5ec5dfd5147003438c0e6afd696b026f48fb9676d625dbb6e2b1536b803c4d2e0a001b998f0d6afcb063e71fd8
根据提示分成ra,rb,k
ra=4993ad5ec5dfd5147003438c0e6afd69
rb=6b026f48fb9676d625dbb6e2b1536b80
K=3c4d2e0a001b998f0d6afcb063e71fd8
然后组合一下rb+ra为
6b026f48fb9676d625dbb6e2b1536b804993ad5ec5dfd5147003438c0e6afd69
打入出flag
Pwn
漏洞点在选项2,选项2用 mmap
开辟了一个可读可写可执行的内存,并可以往上面写东西,并且执行过去,那么就确定要在上面写 shellcode
,但是之前有三个check,后两个经过交叉引用可知在选项 1
中给 ro0t
可以将它置为1,于是我们就先用选项 1
置为1,再用选项 2
去写 shellcode
,但是每个字节都有 isprint
的 check
,那好办,就直接写 alphanumeric shellcode
。
在下面这个文章中找到用的shellcode
1 | https://blog.csdn.net/Y_peak/article/details/115307573 |
然后写出exp
1 | #coding=utf-8 |
web
TP的新链子,具体漏洞分析在这:
1 | https://www.freebuf.com/vuls/321546.html |
下图可见在/index.php/Index/test POST传序列化字符串给a即可
POC在此,ls一下再读下flag即可。
1 |
|
Reverse
baby_tree
直接看ast,assign_expr是赋值语句,binary_expr里面decl=后面是运算符,argument_list里的两个argument参与运算,分析一下主要逻辑,写出对应的解密脚本。
脚本:
1 |
|
运行上面的程序拿到flag
MISC
everlasting_night
本来以为不是lsb隐写(因为隐藏字母太小太犄角旮旯了没看见),查看属性无信息获取
拉入010editor中查看png的文件头和文件尾,发现文件尾后面有一段多出来的字符,不知道是做什么的,先放着
题目提示含lsb隐写后,拉入Stegsolve查看,终于在Alpha2处发现右下角有猫腻
但是分析并没有得出信息,坚信信息就隐藏在这里,查阅字典发现row译为中文是行,column是柱,猜测可能是因为右下角的信息是一列的,而我刚开始查看是以行查看,修改成功数据后发现隐藏文本
拿到这串数字后第一反应使用lsb的工具
拿到一个文本文件,拉入010查看发现是压缩包文件头,果断修改后缀名为rar
但是解压需要密码,猜测开头在文件尾后的那一串是密码,但是输入后发现不是,猜测可能是某种加密,广泛尝试后发现是md5隐写
解压后得到一个没有后缀的flag文件拉入010发现是PNG文件,本来想通过改后缀名拿到答案,后来发现还是太天真
使用ps和画图打开无果,想到gimp,将文件后缀名改为data后用gimp打开
发现图片有些怪怪的,本来想拼图找一下flag,但是实在考验眼力,于是尝试修改各种数值,发现猫腻出在宽度上
拿到答案,提交
ez_usb
使用 wireshark 打开发现是 usb 键盘流量
有两个不同的 usb.addr 发送数据,分别将其保存到两个不同的流量包
用键盘流量分析工具对其提取数据:https://github.com/WangYihang/UsbKeyboardDataHacker
发现有一个 rar
文件,一个 35c535765e50074a
,打开rar文件发现需要密码,应该另一串字符就是密码,输入成功拿到 flag
文件
问卷调查
填个问卷而已