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,数据结构也不太会用,还是记录一下自 ...
随机推荐
- 【python_PAT_乙类】1013_数素数 ,Python运行超时解决方案
题目: 令 Pi 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格 ...
- Spring5框架
Spring5框架 一.Spring框架概述 1.1 Spring框架简介 Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的 ...
- python Elementtree 生成带缩进格式的xml文件
示例 之前拿ET写xml,直接对root节点调用write函数,会出现产生的xml字符串没有缩进,是干巴巴的一行,可读性比较差,就像下面这样: <annotation><filena ...
- GPS时钟之户外防水防雷细节
GPS时钟之户外防水防雷细节------专业LED时钟厂家![点击进入] GPS的脆弱性: 由于在GPS设计时,干扰环境下的工作能力不是优先考虑的因素,它只是作为一种导航的辅助工具,而不是用于精确制导 ...
- vue项目安装淘宝镜像一直失败,解决办法
这个问题纠缠了我好几天,刚开始把npm,node卸载了重装,发现还是一样的问题,最后发现是权限不够,下面这个方法完美解决 失败原因:没有用管理员权限执行, 解决办法:找到安装nodejs安装的路径,再 ...
- pytorch代码练习
pytorch练习 使用torch.Tensor定义数据 , tensor的意思是张量,是数字各种形式的总称,可以定义数.向量.二维数组和张量. import torch # 可以是一个数 x = t ...
- home:76 Uncaught TypeError: AMap.MouseTool is not a constructor
利用高德地图API标记已知点并测量已知点之间的距离,在调用高德地图的类方法的时候会遇到这样的问题 home:76 Uncaught TypeError: AMap.MouseTool is not a ...
- 转载·Pycharm Pro“This license 56ZS5PQ1RF has been cancelled” 激活码失效处理记录
今天打开许久没用的Pycharm提示激活码过期,激活提示:"This license 56ZS5PQ1RF has been cancelled" 解决方法如下 首先修改hosts ...
- java map重写 转大写、转驼峰
/** * @author admin * @Description * 转大写 */ public class HashMapUpper<V> extends HashMap<St ...
- 在POD的ENV中添加POD的信息
主要用到的参数: - name POD_NAME volumeFrom: fieldRef: fieldPath: metadata.name - name: POD_IP volumeFrom: ...