2021GoogleCTF部分赛题writeup及赛后复现
这次比赛时做出两道题,分别是
filestore
cpp
最终排名193位做出题就算成功。
因为前一段时间比较忙还有自己瞎安排时间,导致屯着几场比赛的wp写了一半,这几天会整理好陆续放出。
Misc
filestore
这题的解题关键是理解程序中的“去冗余”算法得到爆破flag的思路。
附件给了源代码文件和nc地址,先nc过去看下程序的交互逻辑
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647[root@centos ~]# nc filestore.2021.ctfcompetition.com 1337== proof-of-work: disabled ==Welcome to our file storage solution.Menu:- load- store- status- exitstatusUser: ctfplayerTime: Mon Jul 19 10:14:26 2021Quota: 0.026 ...
2021年巅峰极客网络安全技能挑战赛部分题目writeup及赛后复现
这次比赛时就做出签到和baby_maze两道题,排名为93名。赛后10分钟做出MedicalImage,看了一下排名,要是能赛时交上这道就恰好和清华一支队伍平分,而那个分数又只有他一支队伍也就是说差点就可以玩梗清华以下就是南科了哭哭。
Misc
签到
emoji-aes解密即可。
给了一串emoji和一个提示字符串"GAME",因为之前了解有emoji-aes加密所以马上想到了它。用在线工具解密,密钥即GAME,拿到flag。
Re
baby_maze
写搜索算法跑出到迷宫终点的路径即可。
拿到elf可执行文件。先拖进ida无脑F5看看,直接看比较懵,随便跑一下,大概明白程序是玩家在一个迷宫中,整个迷宫地图对于玩家是不可见的,玩家通过键盘输入决定移动方向(WSAD),根据玩家当前所在的位置和选择的方向,程序返回相应的输出信息,如果这个方向能走,玩家就移动到新的位置。
下面是一些输出信息,输入的方向信息没有回显。
回到ida调出字符串窗口,里面给出了所有的可能输出的字符串(除了一个Wuhu,详见脚本注释),包括到达终点后的输出,告诉我们flag是我们走到终点的最短路 ...
CTFShow平台2021年Baby杯writeup及赛后复现
大概算是第二次比较正式的参加比赛,这次赛时做出了3道题,题目质量体感还不错。
解出来的三道题是:
五子棋
美丽的小姐姐
天书奇谭PLUS-misc·又一个签到题
这篇文章是笔者对自己在baby杯中学习经验的总结,包括赛时以及赛后照wp解题过程中的经验总结。
WEB
baby_captcha
比赛的时候一开始想着python实现ai语音识别得到验证码,然后爆破密码,没找到现成脚本,放弃;然后想着根据音频特征分析验证码,就先把mp3音频的Data URL转成了mp3文件,audacity提示音频文件异常打不开,用mp3check带-e参数没查出来,总之比赛时没解出来。
赛后看了官方给的非预期解,也尝试指定cookies里的seesion值爆破了一下,发现爆不出来,然后注意到验证失败返回的/login页面响应中set的session值一直是同一个,但是验证码是换了的,这就我理解下来就是和非预期解说的不一样了。但是我在群里问是不是改了题又说没有。总之目前笔者没有成功复现非预期解。
最后笔者的解法是直接对base64编码的Data URL数据进行特征分析,分析方法非常简陋,就是8位验证码的音 ...
Windows环境下Git bash配置现有的私钥用于进行ssh连接认证
一开始在中文语境下就这个问题搜索相关文章,找到的都是在介绍用git bash生成密钥对用于ssh连接,例如下面的命令可以生成一组rsa密钥对:
1$ ssh-keygen -t rsa
我个人在配置git环境时希望实现可以自由地选择将某个私钥导入git环境,用于ssh连接,这样配置公私钥时也更有灵活性,比如我在一台主机上使用git bash生成了一对密钥,在这台主机上自动导入了私钥用于连接,但如果我想在另一台主机上使用同一个私钥进行连接,而不是再生成并配置一对密钥对,就需要换一种方法。
图为由于我的git服务器设置了仅允许密钥登录,未配置私钥时,尝试git clone克隆仓库到本地,拒绝连接。
这里先提供我自己的方法,我们在windows环境下安装git bash后,安装目录下会有一个ssh配置文件../etc/ssh/ssh_config,向文件中添加一行,指明我们要导入的私钥即可。
其中..指的是git bash安装的根目录,这个目录位置看起来应该很熟悉,linux环境下也是以/etc/ssh/ssh_config文件作为ssh客户端的配置文件。
这里提供一个示例具体说明一下:
...