攻防世界-Misc-新手练习区wp

001 this_is_flag

难度:2.0

题目描述:Most flags are in the form flag{xxx}, for example:flag

内心:这是啥???想了想既然是新手区第一题那就没什么复杂的东西,交上里面的flag果然过了

flag

002 pdf

难度:3.0

题目描述:菜猫给了菜狗一张图,说图下面什么都没有

题目附件为一个pdf,内容如下

根据题目提示“图下面什么都没有”,可以猜测flag隐藏在图片下面

鼠标在图片上胡乱划拉划拉,发现在中间部分的时候鼠标变成了I的形状,说明下方有字

双击全选复制粘贴,得到flag

flag

003 如来十三掌

难度:3.0

题目描述:菜狗为了打败菜猫,学了一套如来十三掌。

拿到word,扔到与佛论禅里解密一下

看着像是base64,扔进去解密一下发现是乱码emmmmmm

回头看题,如来十三掌可以猜测是通过了rot13加密,扔进去解密一下得到

扔回base64解密,即可得到flag

flag

004 give_you_flag

难度:4.0

题目描述:菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包

附件为一个gif,使用stegsolve逐帧看,在第50帧有二维码出现

看起来缺了点什么,补全三个小方块,得到完整的二维码

扫描即可得到flag

flag

005 gif

难度:4.0

题目描述:菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机

打开文件,发现全是黑白图片,考虑到有可能是二进制编码或摩斯编码,但如果是摩斯的话题目一般会给出分隔符,这里看不出来可以明显作为分隔符的东西,所以考虑二进制编码的情况

把白色的当做0,黑色的当做1,解密得到flag

flag

006 掀桌子

难度:4.0

题目描述:菜狗截获了一份报文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2,生气地掀翻了桌子(╯°□°)╯︵ ┻━┻

看题目给的字符串,像是16进制,两个一组转化为十进制(本地pycharm不会用...用的洛谷在线IDE,感谢kkk)

最大的250,最小的120,而ascii从32开始,最大为128,猜想减去128,刚好最小的到32

得到flag

flag

007 stegano

难度:5.0

菜狗收到了图后很开心,玩起了pdf 提交格式为flag{xxx},解密字符需小写

打开后全选复制到记事本里,发现一段AB字符

老规矩猜测是摩斯电吗,A用.替换,B用-替换解密得到

替换成大小写得到flag

flag

008 坚持60s

难度:4.0

打开后是个小游戏,玩了几局最高只能坚持40多s,我太菜了

使用winhex打开,发现就可以直接看到flag,对flag内容Base64解密一下就可以

然后不久后同学也做到了这道题,向我秀了一波她的骚操作

flag

009 ext3

难度:5.0

先上winhex,搜索一下字符串,可以看到有个flag.txt

拿到kali里分解一下,然后搜索找到flag.txt

打开后是一串base64,解码得到flag

flag

010 SimpleRAR

先解压,看到里面有个flag.txt,但是打开后看到flag is not here

丢进winhex瞧瞧,可以发现有个secret.png

往上看看,问题很明显,secret.png 头部标识错误,修改 7A 为 74,如下图,修改后便可以解压得到 secret.png

再看一眼secret.png可以发现其实是一个gif文件,用stegsolve逐帧查看

把两个拼起来然后补上定位符,扫一扫就可以拿到flag

flag

011 base64stego

难度:5.0

首先一点开,需要密码,猜测是个zip伪加密,扔进winhex一看,可以看到09 00,果然

修改09 00 为00 00 ,保存后便可以顺利解压拿到stego.txt

正如题目所言,是一个base64stego,放进脚本里跑一跑,就可以拿到flag了,脚本如下:

# -*- coding: cp936 -*-
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt', 'rb') as f:
    bin_str = ''
    for line in f.readlines():
        stegb64 = ''.join(line.split())
        rowb64 =  ''.join(stegb64.decode('base64').encode('base64').split())
        offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
        equalnum = stegb64.count('=') #no equalnum no offset
        if equalnum:
            bin_str += bin(offset)[2:].zfill(equalnum * 2)
        print ''.join([chr(int(bin_str[i:i + 8], 2)) for i in xrange(0, len(bin_str), 8)]) 

运行结果如下:

flag

012 功夫再高也怕菜刀

难度:6.0

附件是个流量包,先搜索一下flag.,发现有不少东西,扔进kali里分离一下

发现一个flag.txt,但是打开需要密码

接下来再在wireshark分析一下,在1150处追踪tcp流,可以看到这么一大坨

从FF D8 FF开始复制到FF D9,保存为jpg后可以得到一张图片

这就是txt的密码,输进去便可以拿到flag

flag

完结撒花~

posted @ 2020-11-25 23:36  Moominn  阅读(1508)  评论(0编辑  收藏  举报