第二届newctf部分WP
上周带学弟参加了一个民间比赛,本来比赛介绍是“萌新“赛,我就准备让学弟试试手,结果呀我就 不该相信CTF的萌新字眼,学弟看到题目一脸懵逼,于是我也注册账号参加比赛,结果看到题目确实是非常”萌新“,让我自己都感觉自己还是一个萌新,明明是萌新赛结果大佬云集,肝到最后才一百多名,虽然群主说本次比赛有一千多人参加,一百多名属于前列了,但还是感觉自己是一个小菜鸡(PS:如果自己做题快的话,可能我就有贴纸了😢),下面小菜鸡就把做出的题目的WP写下来记录一下吧!
Crypto
签到题
下载flag.txt,打开看到下列字符,%3D换成=,就可以很简单看出这是一串base64字符
1 | NTQ1NjcwNTg1MjMwNGU2MTRkN2E0ZTUwNTQ2YzU2NTg1NDdhNGU1NDRlMzAzNTQ3NTc0NTU5MzI0ZTQ2NTI0YjU0NTQ1NjU2NTM0NTZiMzM1MzU0MzAzZA%3D%3D |
将base64解密,是一串十六进制字符串,将十六进制转换为ascii码之后
1 | 5456705852304e614d7a4e50546c5658547a4e544e303547574559324e46524b5454565653456b335354303d |
1 | TVpXR0NaMzNPTlVXTzNTN05GWEY2NFRKTTVVSEk3ST0= |
再进行一次base64解码和一次base32结果得到flag(PS:套神的WP写起来都这么套😒)
1 | flag{sign_in_right} |
rsa256
这题是i春秋欢乐赛原题,直接贴链接
(15条消息) i春秋第二届春秋欢乐赛RSA256writeup_hanjinrui15的博客-CSDN博客
Misc
very-ez-dump
下载下来是一个明叫mem.raw的文件这里使用kali来解决问题需要用到的工具是volatility工具
先吧镜像移动到kali里边,然后打开volatility,执行命令查看镜像系统
1 | volatility -f '/root/桌面/mem.raw' imageinfo |
可以看到我们要看的系统是 win7SP1x64
然后执行
1 | volatility -f '/root/桌面/mem.raw' --profile=Win7SP1x64 cmdscan |
来查看cmd命令使用的情况
可以看到#7的是密码然后扫描这个镜像里面的文件执行
1 | volatility -f '/root/桌面/mem.raw' --profile=Win7SP1x64 filescan | grep zip |
,可以看到一个后缀是zip的flag文件
提取这个文件执行
1 | volatility -f '/root/桌面/mem.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000003e4b2070 --dump-dir=./ |
可以提取到桌面上, 把压缩包移动到Windows上解压,密码就是 (ljmmz)ovo就可以看到一个txt打开就可以看到flag
!了反都,了反
下载下来是一个piz,flag文件,根据题目描述我们将文件名字倒过来,就是flag.zip打开压缩包看到一个流量包文件,使用wireshark打开,进行流量分析,可以看到这个流量包捕获的流量是访问网站的流量,我们进行http过滤
根据题目描述进行字符串搜索,多次尝试后发现下载了一个后缀为piz的文件,我们将其数据导出来,发现无法解压,根据题目描述和十六进制信息,发现需要将十六进制信息前后顺序颠倒,直接用代码(PS:赛后看官方WP其实有更简单的脚本)
1 | import re |
修改后的压缩包存放着flag.txt但是存在密码,压缩包提示当中注释解压密码是登录账号,查看流量包发现登录成功的密码是passwd123
解压后的文件是很多行的base64数据,这里想到base64解密,上脚本
\
1 | # base64隐写 |
flag
1 | flag{cfcd208495d565ef66e7dff9f98764da} |
web
easy_web
通过这些代码我们获取到的信息是
1.POST传参2.强类型
满足这些内容我们就可以进行下一步了
{e10adc3949ba59abbe56e057f20f883e}
通过代码我们可以看出这串字符是运用了MD5进行加密处理,我们运用MD5进行解码得到{123456} 代码中可以看出array是溢出+1我们通过查询得出溢出值
9223372036854775807
那么我所用到的数是9223372036854775807-1
就是``9223372036854775806
POST传参我们运用到一款工具HackBar
首先题目告诉我们
1 | md5($a) === md5($b) `&& ``$a ``!== ``$b` |
我们上传md5($a)和md5($b)的值相等但是$a``不等于``$b
那么我们可以
根据题目描述hint:这个图片真好看呀,没啥隐藏的东西吧以及给出的背景图片我们下载背景图,使用binwalk分离出一个压缩包,根据web题解出的压缩包密码,解压得到flag
1 | newsctf{this_1s_veryveryveryeasyweb} |