十六届蓝桥杯CTFwriteup
写出了5道基础的签到题,基本上是有省奖了,但是web的黑客的那道题真的不会python,看不懂加密函数,解密方法就不知道了,真的该好好学python了。
解题情况
Enigma
工具:CyberChef
看题目可以知道这是Enima进行加密
所以我们反过来,打开CyberChef,选择Enigma,把刚才题目的密文复制进去,得到的是可读的字符串,flag包裹一下去除空格就可以了
flag:flag{HELLOCTFERTHISISAMESSAGEFORYOU}
星际xml解释器
很简单的xml,直接用通用playload就行了,甚至/flag都不用改,甚至username,password都不用改。直接file伪协议读取根目录下的flag即/flag就行
Playload:
1 | <!DOCTYPE ANY [ |
flag:flag{78f6ec92-9da9-4cb5-8be9-8fed6f46b931}
ezEvtx
把附件下载之后打开,对事件筛选一下,排除干扰的选项就行了
干扰事件选项为7036,4624,4688,4634。
右上角筛选,把几个事件级别都勾选上,然后把这几个-7036,-4624,-4688,-4634,填上去注意要加负号代表剔除,然后就发现只有一个
flag:flag{confidential.docx}
Flowzip
工具:Wireshark
这一题真的有点废时间,我一开始从头看到尾都没有结果,甚至随便找了给压缩包就尝试解压,发现不行,有看一下这个是个比较简单的题目,应该直接找就行了,观察length不同的就行了,真的需要耐心。结果是202的不一样,位置在第46个压缩包,其他的都是196和260等干扰选项。然后用追踪流http打开这个就行了
flag:flag{c6db63e6-6459-4e75-bb37-3aec5d2b947b}
ShadowPhases
工具:ida
这道re题动态调试一下直接出来了也没有什么反调试函数,真的很简单。动态调试有个很好的作用,直接可以绕过繁琐的加密函数和头大的字符,直接看到结果,这样我们就不用对前面的繁琐的加密代码进行分析了
断点下在scanf上,因为之后就是进行检测你的输入比较flag了
printf(&Format);
scanf(“%127s”, Str1);
if ( !strcmp(Str1, Str2) )
puts(&byte_40502A);
&Format是什么呢?动态调试一下应该是这个
这样就更加证明了断点加在scanf是合适的
因为之后是对Str1和Str2进行比较,所以分别看看Str1和Str2就行了
flag在Str2里,显而易见
| 之后再左上角点击Edit进行导出就可以直接看到flag了 |
|---|
记得要选择string literal,直接就能看到flag,可以直接复制
flag:flag{0fa830e7-b699-4513-8e01-51f35b0f3293}
黑客密室逃脱(未解出,只差解密的一步)
题目页面
访问一下这个日志文件,要获取的应该就是加密的flag
这个提示输入file?name=xxx访问文件
根目录的文件试了几个都不行
所以就尝试app.py,代码就出来了
关键的几个代码如图
发现了hidden.txt
用file?name=hidden.txt访问一下
密钥就有了,在加上加密函数已知,密文已知,就可以推导出加密的flag是什么了,但是这个加密函数我看不懂,在平时就直接搜了,但是考试就没办法了,所以这一题就寄了。
































