CTF-NEFU校赛-题解
Write by NEFUNSI:
ghosin
0ERROR
签到
signin
下载 signin.txt
打开得到一串 base64
,解码得到 flag{we1come_t0_NEFUCTF!}
。
Re_SignUp
下载 SignUp
,使用 010 Editor
打开发现是 Linux
可执行文件。用 ida64
打开可看到 main
函数处有字符串 xr yeI^r}.s{A)qAL/h{lM{AI.(rz?c
,根据 Hint
中的 xor
使用在线工具爆破可得到 fl>g{W@lc0me_7o_R1verSe_W06ld!}
。
MISC
untitle
下载压缩包,发现加密的 flag.txt
和没加密的 untitle.wav
。解压 untitle.wav
,发现是倒放。使用 Audacity
逆转后听歌识曲得到 Untitled
。
以 Untitled
作为密码,使用 WinRAR
解压 flag.txt
发现报错和 fakeflag 。
! G:\labs\nefuctf\misc\111flag111 (2).rar: 无法设置 C:\Users\ghosi\AppData\Local\Temp\Rar$DRb13916.37568\flag.txt 的安全数据
这个安全 ID 不能分配为此对象的所有者。
怀疑是 NTFS交换数据流隐写
,使用 NtfsStreamsEditor2
扫描得到 flag{M4ke_m1sc_gr3at_ag@in}
。
蛇图攻击
下载得到一个 zip 压缩包,解压得到 看到了吗flag就在那.zip
和 蛇图.jpg
,在 看到了吗flag就在那.zip
中看到要找的 flag.txt
和已有明文的 蛇图.jpg
,使用 ZIP已知明文攻击
即可得到 flag.txt
,内容为 flag{congratulation~~}
。这里注意在压缩 蛇图.jpg
的时候要使用 Bandizip
,使用其他压缩软件可能会使 AZPR
类软件出现类似 No matching files in selected archives
的错误。
别人家的孩子
下载附件打开听一下,发现左右声道不同。拖进 Audacity
,去掉左声道的歌曲,右声道前半部分为莫斯电码,记录下内容为 ..-./.-../.-/--./-/-----/-.../...--
,可解出内容为 flagt0b3
,后半部分为 dtmf
,使用 dtmf2num
读取到 121111117114115101108102
,可解出 yourself
。至此拼接得到 flag{t0b3yourself}
。
谁还没受过伤呢
根据题意,心愿小姐失恋了,然后附了一个QQ号:2508898249,因此就从QQ号下手找线索。
打开资料页可以看出信息量不大,主要就是有生日,其他信息不出意外应该都在空间里面
打开空间,首先看到几条说说,其中包含一条:
百度网盘打开是一个IDOL的文件夹,下载以后是9张许嵩的照片,这里注意了,第9张照片明显体积偏大,而照片又很糊,说明照片里面有东西
继续翻说说,又发现了一个线索说说
不知道有什么用,暂且留在这里不动。
看看其他地方,相册里面有一个有问题的照片,根据问题很明显就是前面心愿小姐所@的人就是问题的答案,填入DK_night后,得到一张图片,扫描图片上的二维码即可得到前一半flag
然后继续看,留言板里有一段话
G1v3_me_s0m3_rEd_P4cKe7eS_t0_g3t_7h3_h1nt!
不知道有什么用,暂且放着。
空间里能得到的线索就这么多了,再回头看看照片,第九张照片用010Editor打开后发现有隐写的zip格式的压缩包,分离出来以后如图
hint已经很明显了,是生日按照格式输入就是密码,但是填入前面的日期却无法解密,仔细观察后发现上面的生日是农历,将其日期转成公历以后即可得到2001.5.14(这里这个日期有点坑,转成2001年的四月廿二好像日期不太对,换思路转为今年的四月廿二才为正确日期,成功解密),还有一种方法是知道了密码格式之后直接放进cracker里面按照格式爆破即可得到,速度也很快,这里就不作具体说明了。
打开flag.doc以后发现里面是空的,ctrl+a之后发现有字符,文字换颜色之后发现是个假flag,说明线索不在文档里,再看看文档的详细信息
可以看出备注和管理者里面各有一堆乱序字符,其中管理者里面的字符有明显的Base64加密标志,解密一次后发现变成了乱码,怀疑是加密后的成分残缺导致的错位,考虑到上面备注内的不明所以的乱码,将其和此段合并后解密(N次套娃)后即可得到后半flag
even_1f_i_L0Ve_U}
CRYPTO
RSA1.0
from Crypto.Util.number import *
import gmpy2
# 由题目可知
c = 45771827077895268121546606393404724664015354394782828337635308358292455516045347632184096192996835878084629358486100781061415523065007935763870549459874855232581330470311918549209690663379064436674445311856972558138654423953641880869235765375826041038321658329327107626577671053285966037170551853374920563440
e = 65537
n = 51644741119502351404435614782384203642721946675648874025147110583432277606213746585645021132709993574641883435114709470653847057718236543709859136714778649404725233027975626929711061148770545740304700844663373207681750776232949001954620241734085537399155514559867656395449958909477471179617512586129540850043
# yafu 分解 n 可得 p 和 q
p = 7186427563087403123764567435071522152765535485843889386595810558353757249884932307781450308876687526723957522099910738089951348400929674280355762675680509
q = 7186427563087403123764567435071522152765535485843889386595810558353757249884932307781450308876687526723957522099910738089951348400929674280355762675680727
# 计算私钥 d
d = gmpy2.invert(e, (p-1)*(q-1))
# 解密 m
m = pow(c,d,n)
print(long_to_bytes(m))
# b'flag{now_y0u_know_rsa}'
are you file?
下载 6.txt
,发现是 Ook!
编码,使用在线工具解码得到 呋食食性噗哮食冬註魚嗥笨麼噤覺我嘶人雜嗚有怎囑爾發常哮出沒喜唬有意吖人哞哈類更我呆魚蜂圖呆喜食氏告嘶嗒洞現訴訴盜萌現嘶嘿雜非嗒和噗發笨
,是熊曰编码,使用在线工具解码得到 G2aZlXllv1_uvohfim3}deBb=f{yhenaotGmkbFXgfpfoadelf!
,猜测栅栏密码,使用在线工具,每组字数 3
解码得到 GmG23ma}kZdbleFXBXlbgl=fvfp1{f_youhavedonehalfofit!
。根据结尾 _youhavedonehalfofit!
可知已经解开一半了。去掉这部分,猜测接下来是W型栅栏密码,因为栅栏密码加密后第一位不变,故逆转字符串为 f{1pfvf=lgblXBXFelbdZk}am32GmG
,使用在线工具,栏数为 3
可得到 flag{bml1X3BpX2FfeGlvbmdfZGk=}
。解码其中的 base64
可得到 flag{niu_pi_a_xiong_di}
。
Web
详见:[f1oat's blog - 校赛web-wp](
RE
Test_your_math
IDA打开后查看字符串,发现flag关键字
查找之后反向寻找其在程序中的位置
继续在主函数回溯其判断输入数据正确性的位置
得到一个判断输入数据正确性的函数,转为源代码形式
很明显可以看出是一个解方程,只需使用hint中提到的z3解出答案方程答案即可得到flag
maze
拿到题目打开后有一个很明显的UPX壳,无脑用UPX_SHELL脱壳后重新打开
可以看出这应该是关键代码的一部分。
这里jnz跳转到了下一行代码,相当于没跳转,而下面的call near ptr 0EC85D78Bh
调用了一个不是地址的地址,可以推断出这段代码添加了花指令,IDA分析失败了。
可以确定这个jnz指令是花指令,还有下面的call指令。
先将jnz指令nop掉。
之后就是这个call指令,不能全部nop,因为后面那个东西可能是有效代码。摁d将其先转换为字节数据。
经过试验(先将第一个数据nop掉再转成代码,不行再将前俩数据nop……)发现 db 0E8h
这条指令是添加的花指令,将其nop掉,nop掉之后IDA自动的将后面的数据转换为代码数据
此时数据地址是红色的,将关键代码全部选中,摁p键将其声明为函数
然后就可以F5伪代码了
根据题目maze可知这是一个迷宫题。
控制的有两个数据,一个是dword_408078
,另一个是dword_40807C
双击进去查看初始数据。
初始状态:
dword_408078=7
dword_40807C=0
然后经过14次移动需要使
dword_408078=5
dword_40807C=-4
然后在内存中找到迷宫
提取出来排列之后
用wasd控制行走,dword_408078控制左右,dword_40807C控制上下。
s是上,w是下,a是右,d是左。
行走路径为ssaaasaassdddw
则flag为flag{ssaaasaassdddw}
CTF-NEFU校赛-题解的更多相关文章
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛题解&&源码【A,水,B,水,C,水,D,快速幂,E,优先队列,F,暴力,G,贪心+排序,H,STL乱搞,I,尼姆博弈,J,差分dp,K,二分+排序,L,矩阵快速幂,M,线段树区间更新+Lazy思想,N,超级快速幂+扩展欧里几德,O,BFS】
黑白图像直方图 发布时间: 2017年7月9日 18:30 最后更新: 2017年7月10日 21:08 时间限制: 1000ms 内存限制: 128M 描述 在一个矩形的灰度图像上,每个 ...
- 2017年浙江理工大学程序设计竞赛校赛 题解&源码(A.水, D. 简单贪心 ,E.数论,I 暴力)
Problem A: 回文 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1719 Solved: 528 Description 小王想知道一个字 ...
- 北京信息科技大学校赛 题解 | AK记录贴
比赛链接:https://ac.nowcoder.com/acm/contest/940#question 花了一天时间全部解决,题目不难,全是基础题+模板题. A - kotori和糖果 链接:ht ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
- HZNU第十二届校赛赛后补题
愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...
- PKU2018校赛 H题 Safe Upper Bound
http://poj.openjudge.cn/practice/C18H 题目 算平均数用到公式\[\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}\] 但如果用in ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- Comet OJ 2019 夏季欢乐赛题解
Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...
- xdoj 2020校赛复盘
平时写东西都不喜欢复盘,这肯定不是一个好习惯,感觉每次花好几个小时甚至好几天写题目然后没写出来也不去看题解是一种很蠢的行为( 花了这么久时间打校赛,虽然水平很low,数据结构也不太会用,还是记录一下自 ...
随机推荐
- 第三讲: xpath定位方法
如果大家有机会做web自动化测试的工作,在框架搭建好之后,大部分的工作都是在写定位表达式,然而,8大元素定位方法中,id.name.class_name.link_text.partial_lin ...
- java 对象比较 返回不相同的值
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler ...
- 2月23日javaweb之Maven
Maven常用命令 compile:编译 clean:清理 test:测试 package:打包 install:安装 Maven生命周期 Maven对项目构建的生命周期描述是一次构建过程经历了多少个 ...
- SQL Server 还原数据库
1.备份要还原的数据库 选择要备份的数据库,右键单击,任务--备份. 2.备份完成后,将数据库还原 3.新建一个空的数据库,比如Gsy_TestNew,将备份的数据库还原到这个新的库上 4.右键单击[ ...
- ubuntu14.04 网络配置ubuntu14.04 网络配置
流程分析: 在Ubuntu系统网络设备启动的流程中,会依赖/etc/network/interface的配置文件初始化网络接口,所以直接在/etc/network/interface之中配置好对应的d ...
- Mac Idea2018.1.6版 利用脚本激活安装详解
下载安装包:链接: https://pan.baidu.com/s/1W4alLXUeQ6xazkNEtB8I9w 提取码: w6rg 下载脚本:链接: https://pan.baidu.com/s ...
- scroll-view 横向滚动无效
scroll-view的内层view元素需要: display: inline-block scroll-view的外层元素需要: white-space: nowrap 使得内部组件不换行.
- Windows查看CUDA版本
桌面右击,查看是否有NVIDIA控制面板 打开控制面板->帮助->系统信息->组件,可以看到CUDA版本
- opengl编程天天踩的坑
1. VBO 的 target 是 GL_ARRAY_BUFFER 不是 GL_VERTEX_BUFFER 2. glUniform()用来给uniform传变量 别用成 glProgramUnif ...
- java.Text.ParseException:Unparseable date:"undefined 00:00:00"
request.getParameter() 获取的日期要toString一下再parse,否则就会报这个异常