USTC2017 writeup

news/2024/5/19 23:44:47 标签: USTC2017, CTF, writeup

0x00 前言

突然发现了这个比赛,作为校外同学参加了一下科大的第四届校内赛,题目质量挺不错的,发下wp做下记录(部分思路来自官方题解)

1.看不见的字

这道题挺有意思的,各种常规misc做法轮番轰炸,结果发现使用Adobe Reader的高级搜索功能就可以找到flag

2.科大学生家长的日常

入入入门级web题,查看源码可以发现注释中的flag

3.被入侵的云端

尴尬,云游戏(被入侵的云端下)会做,这道题反而做不出来。
看了下官方题解
解法一:利用计算机网络知识分析packet,可以从中找到ip和端口
这里写图片描述
分离出来一个zip,里面就是我们的云游戏(手动滑稽),那么第一个Zip数据是从0x2A开始的,而前面的数据是做什么的呢?
因为是分析发送ip和端口,那么我们可以猜测前面的数据就是包头。
使用WinHex打开packet,观察0x2A前的数据,并不能发现什么
我们可以尝试使用wireshark随便抓一个包进行比对分析
这里写图片描述
IP地址在这里
这里写图片描述
端口号在这里
那么我们这时候再分析一下我们的packet文件
这里写图片描述
可以得到IP地址0a 00 61 cc 端口号 1fbb(大端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端)
即10.0.97.204:8123

解法二 直接利用wireshark打开packet,因为很多时候数据都是以二进制形式进行传输的,因此再导入前我们需要对packet进行一些处理,将它转为16进制再导入
od -Ax -tx1 -v packet >> packet_h

4.真假flag

在一堆flag中找出只有数字和字母的flag,脚本跑

import re
x=open("123.txt").read()
print re.findall(r'flag{\w*}',x)

官方的脚本如下

list(filter(lambda s: bytes(s[1:-1], 'utf-8').isalnum(), \
requests.get("http://hack.lug.ustc.edu.cn/file/flag.txt").text.s
plit('flag')))

5.骚扰你的一位老学长

好吧这题没做出来….细心程度不够
还尝试发送了邮件给这个老学长,满心欢喜以为会get flag

官方题解

打开
http://www.chenweikeng.com/
发现底部有 jemdoc 的链接,打开后查看 jemdoc 官网的文档得知元信息位于
http://www.chenweikeng.com/index.jemdoc
打开在底部可以找到 flag.

6.云游戏

浏览代码发现有一些没啥用的奇怪运算

// try to gain reward, the constant part of the reward is 2.4657
676475
X -= 0.1* this.config.ACCELERATION * (4 * PARAM_A * X * X * X - 3
* PARAM_B * X * X);


//PARAM
ACCELERATION: 0.1
var PARAM_A = 0.943745363;
var PARAM_B = 2.895467371;
var X = 5.0;

作为一个高数差点挂科的家伙,我是不知道这个是梯度下降公式了,按照提示里的最优化算法,悄咪咪地搜索了一波才发现原来是梯度下降公式
这里写图片描述
所以梯度下降的公式也就是下面这个了
这里写图片描述
我们可以惊奇地发现,
X -= 0.1* this.config.ACCELERATION * (4 * PARAM_A * X * X * X - 3
* PARAM_B * X * X);
也就是公式中的J(θ)了
积分再加上提示中的常数得到
f(x) = PARAM_A * (x * 4) - PARAM_B (x ** 3) + 2.4657676475
之后注释掉小恐龙的游戏结束判断,得到稳定X值2.3010449782539832,代入计算即可得到
f(x) = -6.353530137073035
即flag{63535301}

7.被加密的实验报告

右键属性就可以看到flag了,小伙伴用解密器好像也能去掉密码,打开文档也可以得到flag

8.简单认证

抓包发现cookie是一个base64,解密为nobody
所以改成admin的base64结果即可

9.flag验证器

反汇编得到代码,进行算法分析可以简单出flag

10.黑客猜奇偶

前端对字符串进行了不能修改的限制,但可以通过抓包改,连续置空30次即可

11.熟悉的声音

电话拨号音
这里写图片描述
按这个进行翻译即可,发现使用#分割的ascii码值

16.永恒的东风

音频文件,用coolpro2软件打开就可以看到文件掺杂了额外的高频,简单出结果

剩下的题

剩下的题瞄了一眼
感觉都比较需要数学方面的分析,课程也比较紧,也就没有时间去尝试分析了


http://www.niftyadmin.cn/n/1352518.html

相关文章

第四届miac安全赛第一阶段writeup

0x00 web 1.签到题 简单的php sha1漏洞 2.七环 这道题是真的坑,提示写着777,把思维都往权限方向跑了。 其实一开始就留意到这个奇怪的cookie,但是也没有经验。 AGI-dAGMAdA-fAHsAQABiAGw-ueAEA-dAG8-nAEA-eduAEAAfQ- 尝试了各种常规手…

misc常用查询表(不定时更新)

0x00 ascii表 0x01 base64转化表 即经过计算后得出的值查表即可得到对应的base64编码字符 0x02 手机按键对应的双频 0x03 维吉尼亚密码

计算机网络复习笔记

说明 这个笔记是我在学习该课程时做的一个比较详细的笔记,一共有85页,由于是用word文档编写的,文档的图片不少,所以不想再仔细整理到博客上,所以下面发一个预览版(大概10页),供大家…

第四届miac安全赛第二阶段writeup

WEB 签到题 前端不能输入超过三位的数,抓包修改即可 简单的题 strcmp去比较password和flag,如果0的话,就给出flag 我们知道strcmp是不可以处理数组的,因此password[]即可 其实这里有个思路,如果基础不够&#xff…

解决fiddler抓不到包的问题

前言 如果你已经百度了n遍,各种方法无法解决问题,各种苦思冥想都不能抓到包,那么你可以试试下面这个方法,说不定就能解决你的问题。 ps:反正我是遇到这个问题两次了 解决方法 !!!!…

网络工程学习笔记

第一章 概论 1.集成:把各个独立部分组合成具有全新功能的、高效和统一的整体的过程 2.计算机网络工程:使用系统集成的方法,根据建设计算机网络的目标和网络设计原则将计算机网络的技术、功能、子系统集成在一起,为信息系统构建网…

近期的一些小比赛writeup

0x01 伪随机数 index.php.bak下载源码 对比用户输入的pwd和伪随机生成的pwd,再对比login和session产生的login,如果都满足则得到答案。 我们可以看到,这里的userLogin是在验证后设置的,因此login置空即可绕过 对于pwd&#…

OneNote2013快捷键

0x00 将微软官网的帮助手册搬运过来以便查看 一、记录笔记和设置笔记格式 键入和编辑笔记 操作 按键 打开一个新的 OneNote 窗口。 CtrlM 打开一个小的 OneNote 窗口以创建便笺。 CtrlShiftM 或WindowsAltN 固定 OneNote 窗口。 CtrlAltD 撤消最后一个操作。 Ctrl…