web:[SWPUCTF 2021 新生赛]PseudoProtocols
打开环境给了提示要我们找 hint.php
url是给了后缀的,不单纯是地址,直接用为协议看一下目标文件,得到base64加密的文字
解密,提示我们访问一个文件
跟着思路走访问文件之后又给了提示
首先flag.php文件是被包含了,get传参的方式传参a,后续检查a是否被传参,并且检查a的内容是否是I want flag,如果是就输出flag,显然flag.php就是flag存在的文件,但是被包含了简单的使用url传参肯定是不行的,还是要使用为协议,这边用刚刚使用的fliter是不行的因为没有使a=相应的语句,所以flag.php响应不出来,这边用data
pwn:[BJDCTF 2020]babystack2.0
查壳,ida
看主函数
还是先声明buf为12个字节,获取我们输入的内容的长度给一个变量,后面检查这个长度是否超过10,就是判断我们输入的内容的长度而已,如果验证通过,就用read函数读取变量字节给buf,这里虽然前面有规定长度不能超过10,可还是存在溢出风险,找后门函数
前面判断是否大于10,我们可以用负数来造成溢出,就是覆盖量不会算
misc:攻防世界stegno
打开文件时pdf文件
之前做过类似的题目,直接转docx
转换之后不像之前一样说图片覆盖,没有得到什么东西,思路也就断了,看一下别人的思路吧
这是一种pdf隐写,常规在pdf里面看看不到,复制里面的文字,用记事本查看就可以显现出来
隐写的内容是一段AB组成的字符串,之前也说过遇到这种要么摩斯密码,要么二进制,不过看wp之后发现还有一种培根密码,这个其实之前也遇到过,不过这里是摩斯密码,用记事本简单替换一下
得到答案还要把字母变成小写,然后套上flag{}
crypto:What is the keyword?
打开文件,给了字符串是之前没遇到过的
结合题目提示我们什么是密码,按理来说第一串字符串应该就是密码,但是这题实操之后发现不是,之前也碰到过类似的加密,就是tapcode敲击码加密,这题也是这样的直接对第一串字符串解码,得到密钥xiaozeng
接下来就是解密下面的字符串了,还是找而已,找到一个文本加密为音乐符号的
解密之后显然还不是flag,一开始以为是凯撒,结果尝试之后显然是错的
没思路了到这里,去看了一下才知道题目给的keyword提示不是前面密码的提示,而是后面的这个加密是关键字密码,keyword翻译成关键字而不是密码
不过这个解密之后都是大写,答案是有的大写有的小写,就算我自己解出来了答案,这个答案我也不知道要怎么改他的大小写啊
答案flag{Keyw0rD_C1phEr_1s_fuN}
reserve:攻防世界Mysterious
查壳,ida
直接看string,找到成功语句追踪之后再ctrl+x追踪伪代码即可
理解可以知道flag就是三段拼起来而已....
攻防世界srm-50
查壳,ida
找到主要函数winmain
整体理解一下就是前面先给出输入的提示,之后就是验证而已,这边给了很多ASCII值,转字符看看,直接用ida自带的功能实现即可直接单击目标字符按R即可,看前面的判断有一个输入的字符长度是否为16,这边结合下面的数量不难猜出拼接起来就是flag