第十一届全国大学生信息安全竞赛WriteUp

今年来自兰大的1nv0k3r团队在第十一届全国大学生信息安全竞赛中取得了好成绩,让我们来围观一下他们的解题思路。

0x00 easyweb

一开始看到 以为是 JWT 的问题,结果并不是。以 为用户名,密码为空登陆即可。

得到 的 ,在 页面可拿到 FLAG:

FLAG:ciscn

0x01 flaginyour_hand

首先打开 HTML,要求输入正确的 ,正确拿到 。 源码如下:

主要判断 这个变量。到 文件中找到相关代码。

就是需要的 ,写得脚本。

0x02 picture

给出一张图片 用 binwalk 看一下

发现有 zlib 压缩的数据,提取并解压

发现是 Base64 加密过了,解密

文件头两个字节颠倒了,修复为"PK",是一个加密 zip 压缩包文件。其中密码提示如下:

提示 ,除数为 0 的错误,在 Python 中输入 1/0 ,得到 为:

解压得到 code 内容如下

经搜索,发现这是 Uuencode 编码,解之得到 FLAG

FLAG:CISCN

0x03 RE

IDA 载入 F5 反编译动态调试发现

1.输入前6个字符

2.要求有两个"_",并且将字符串分割为3部分

能够进入第 1 个 check (sub_4012DE)

sub400876 sub4008A0 这两个函数得出 0123456789ABCDEFFEDCBA9876543210 连续字节存放 是 MD5 的特征数字

sub40108B sub401170 sub_401285 得出一个十六进制字符串,经检验是输入字符串的 MD5

接下来是对 MD5 的转换,当字符为 ABCDEF 时,当前字符 + 位置 % 10

已知结果为 9F925J9341B490FKJ3J4C4ED3G0J1NF2 倒推为 9E925E9341B490BFD3B4C4CA3B0C1EF2 经查是 this

第 2 个 check (sub_401411) 在原有基础上,先对 MD5 xor 运算 F21D98BCCC71A1391F1F11E2917CA270,再转换,已知结果为 9F925J9341B490FKJ3J4C4ED3G0J1NF2,倒推得6C8FC62F8DC53186CCABD528AA70BC82 经查是 f1rs

第 3 个 check (sub_401562) 对 MD5 进行 xor 运算,再转换,已知结果为 9DC8JK49IK15130HGM3660234I5JM13E,倒推为 6EB567F56764B235B02971C1DC20434D,经查爆破无解,理论上最后一个 check 过了就结束,但下面多出来输出一个 "flag" 文件

是简单的 xor 加密,提取并解密后,得到一张 jpg,写着 "Zer0woRdThyes@T",加上 "}",得到 MD5 符合,拼接 FLAG

FLAG: CISCN

0x04 sm

观察 发现 ps 每项后有 0 到 511 个 0,可还原 choose

mark2 就是 choose,解密

得到 FLAG:

FLAG:flag

0x05 note-service2

开启了如下保护措施

值得注意的是 Partial RelRo 和 PIE,但是没有开启 NX

该程序只实现了两个功能,注意 ,而且没有对边界做校验,存在数据越界读写的可能。

其中 的实现如下:

我们注意到,尽管开启了 PIE, 段的 和 表的相对地址不变,我们可以制定出如下的方案

操作 ptrs[i] 的指针指向 free_got 的地址

malloc 到 ptrs[i],即 free_got

在 malloc 分配的内容中填写入我们的 shellcode(只能在 8 字节以内)

那么我们调用 del 的时候,触发 free(ptr) 操作,则会使得 rdi = ptr 并执行到我们的 shellcode

最终的 exp 如下:

运行结果如下:

0x06 验证码

输入队伍 token 与验证码即可

FLAG:ciscn

ABOUT

开源社区安全组致力于信息安全领域的研究、合作与分享,并在多次竞赛中取得优异的成绩,欢迎各位有兴趣、有理想的同学们加入我们!

附本年度竞赛成绩

“海丰杯”高校网络安全技能大赛特等奖、一等奖

“西普杯”信息安全铁人三项赛第三赛区冠军

“强网杯”全国网络安全挑战赛大学生线上初赛赛区前五

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180511G1581600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券