zoukankan      html  css  js  c++  java
  • 【WP】攻防世界-杂项-Misc

    长期更新一波 攻防世界 的杂项题解

    这东西主要靠积累吧

    攻防世界:https://adworld.xctf.org.cn

    因为攻防世界的题目顺序经常变化,我也不改序号了,顺着之前写的位置往下写,推荐使用 ctrl+F 搜索题目名字来定位

    在语雀上建立了一个杂项知识库,收集杂项的知识点:https://www.yuque.com/hxfqg9/tx8y1v/uew75k

    新手练习区

    1、this_is_flag

    题目直接给出了 flag

    2、ext3

    主要考察 linux 下光盘的挂载

    strings 文件名 | grep flag

    搜索文件中的可打印字符 grep:全面搜索正则表达式并把行打印出来

    使用命令:mount linux ./linux_cd

    将 linux(文件名) 挂载到 linux_cd 目录下,正常访问 O7avZhikgKgbF 文件夹即可看到 flag 文件,再经过 base64 解码得到最终 flag

    3、give_you_flag

    动态图,一帧一帧看(我用的是爱奇艺万能播放器),在第50帧有个二维码,但是少了三个定位图案,用 PS 补上,扫码得到 flag

    4、pdf

    下载下来直接把编辑 PDF,把图片拿开就可以看到 flag

    5、坚持60s

    一个 java 小游戏,用 jd-gui 打开,直接搜索:flag,得到,结果需要 base64 解码

    6、如来十三掌

    打开 doc,与佛论禅编码:http://www.keyfc.net/bbs/tools/tudoucode.aspx

    解出来先 rot-13,然后 base64

    7、gif

    白为0,黑为1

    01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101

    二进制转字符串得到 flag

    8、SimpleRAR

    打开只有一个 flag.txt,但是用 winhex 打开发现应该还有一个 png 文件,

    将这里改成74

    再打开就看到了 png 文件,winhex 发现其实是个 gif 将后缀改成 gif

    分离出来(我用的是 PS),然后用 Stegsolve 查看

    把这个二维码拼起来,再把定位标志补上扫码得到 flag

    9、掀桌子

    网上师傅们给出的解密代码

    string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
    flag = ''
    for i in range(0,len(string), 2):
        s = "0x" + string[i] + string[i+1]
        flag += chr(int(s, 16) - 128)
    print(flag)

    每两个一组,将16进制转换为10进制,减去128以后输出 ascii

    10、功夫再高也怕菜刀

    下载到一个流量包,有 foremost 分离一下

    得到一个压缩包,里面有 flag 文件,爆破就别想了(太复杂)

    分析流量包!!

    ctrl+F 搜索字符

    选择第1150个,右键,追踪流 -> TCP 流

    把这些保存下来

    从 FFD8FF 开始到 FFD9 复制出来

    打开 winhex 新建一个文件,把上面的粘贴进去,注意,选择 hex 

    可以看出是个 jpg 了

    保存后打开图片

    用这个密码打开压缩包里的 flag.txt

    11、stegano

    下载 PDF 在火狐浏览器打开,控制台输入:

    document.documentElement.textContent

    看一下内容,会有一串

    BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB

    把“A”换成“.”,把“B”换成“-”,得到:

    -.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--

    解密摩斯密码,得到:

    CONGRATULATIONSFLAG1NV151BL3M3554G3

    真正的 flag 是:flag{1NV151BL3M3554G3}

    这里因为格式不对,浪费了几个金币查看 writeup,结果 writeup 也没说格式,还是自己试出来的

      2019.8.19:

    这题 flag 格式又双叒叕改了,经过评论区的 @ConvexLens 师傅提醒现在 flag 是:1nv151bl3m3554g3

    各位提交的时候不对,大小写啥的试试

    12、base64stego

    这个题接触了一种叫 base64 隐写的类型

    python2 解密脚本:

    #coding=utf-8
    def get_base64_diff_value(s1, s2):
        base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
        res = 0
        for i in xrange(len(s2)):
            if s1[i] != s2[i]:
                return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
        return res
    ​
    def solve_stego():
        with open('1.txt', 'rb') as f:
            file_lines = f.readlines()
            bin_str = ''
            for line in file_lines:
                steg_line = line.replace('
    ', '')
                norm_line = line.replace('
    ', '').decode('base64').encode('base64').replace('
    ', '')
                diff = get_base64_diff_value(steg_line, norm_line)
                print diff
                pads_num = steg_line.count('=')
                if diff:
                    bin_str += bin(diff)[2:].zfill(pads_num * 2)
                else:
                    bin_str += '0' * pads_num * 2
                print goflag(bin_str)
    ​
    def goflag(bin_str):
        res_str = ''
        for i in xrange(0, len(bin_str), 8):
            res_str += chr(int(bin_str[i:i + 8], 2))
        return res_str
    ​
    if __name__ == '__main__':
        solve_stego()

    高手进阶区

    1、Excaliflag

    使用 Stegsolve 在蓝色通道为0的时候发现 flag

    2、签到题

     

    base64 -> 凯撒 -> 栅栏

    注意根据题目背景,是SSCTF,凯撒的时候看到 ssC 选择那一个进行栅栏

    3、Avatar

    下载图片,用 outguess 解密

    outguess -r avatar.jpg -t 1.txt

     4、What-is-this

    解压出来的文件直接 foremost 看看是什么

    得到两张图片

    使用 Stegsolve 打开一张图片,然后选择 Analyse => Imgae Combiner 选择另一张,会得到如图所示效果

     

     5、Training-Stegano-1

    图片直接用文本编辑器打开就看到了。。。

     

    6、easycap

    用 wireshark 打开,ctrl + F 搜索字符串,随便定位一个 右键 => 追踪流 => TCP 就能看到 flag

      flag 是直接复制提交上去

     7、Test-flag-please-ignore

    这道题。。。难道不应该在新手区嘛?

     

     8、Get-the-key.txt

    下载的文件解压出来,用文本编辑器打开,随便一拖发现疑似 flag 的东西

     找了所有的,试了很多都不对,网上搜了一下,然后 binwalk -e 超级多东西,但是第一个 txt 的第一句就是

    9、glance-50

    一个 GIF,巧的是之前在 freebuf 上看 python 操作图片的时候这就是一道例题

    先用这个代码把每一张图片都保存在 yichen 文件夹(文件夹要提前创建好)

    from PIL import Image
    
    savepath = "yichen\"
    path = '.\'
    
    im = Image.open('2.gif')
    try:
        im.save(savepath+'2{:d}.png'.format(im.tell()))
        while True:
            im.seek(im.tell()+1)
            im.save(savepath+'2{:d}.png'.format(im.tell()))
    except:
        pass

     在用这个代码把保存的图片拼接起来成为 yichen.png,并打开展示出来

    # coding:utf-8
    # author:Reborn
    from PIL import Image
    path = "yichen\"
    save_path = '.\'
    
    im = Image.new('RGBA',(2*201,600))
    
    imagefile = []
    width = 0    
    for i in range(201):
        imagefile.append(Image.open(path+'2'+str(i)+'.png'))
    
    for image in imagefile:
        im.paste(image,(width,0,2+width,600))
        width = width +2
    im.save(save_path+'yichen.png')
    im.show()

    省得你再去敲了:TWCTF{Bliss by Charles O'Rear}

     

     10、4-2

    字频分析,在线解密网站:https://quipqiup.com/

     

    11、misc1

    跟之前新手区那个 掀桌子 没啥区别

     12、embarrass

    在 linux 下直接 strings 命令

    strings misc_02.pcaong | grep flag

     

    13、肥宅快乐题

    使用软件:PotPlayer 查看 swf 文件,拖到后面,大概这个位置

    与 NPC 对话,得到一串东西,其实是 base64 解码出来:SYC{F3iZhai_ku4ile_T111}

    14、小小的PDF

    直接 foremost,图片就分离出来了,气死我了 WPS 不充钱不让图片另存为,简直是钻钱眼里了

    15、hit-the-core

    长记性了,以后用 strings 命令不要总是跟着 | grep flag,不然很多东西会被忽略掉

    发现下面这一串字符串,发现前面几个大写字母组成的是 ALEXCTF,根据这个规律,写出脚本

    flag0='cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}'
    flag=""
    for i in range(3,len(flag0),5):
        flag+=flag0[i]
    print(flag)
    #参考:https://blog.csdn.net/zz_Caleb/article/details/89533039

    16、Cephalopod

    用 strings 发现 flag.png

     

    追踪TCP流,把数据按照原始数据复制出来

     

    粘贴到 winhex 里面,按照 ASCII Hex 的形式

    把前面没用的都删掉,留到 png 文件头

    打开图片发现 flag

    HITB{95700d8aefdc1648b90a92f3a8460a2c}

    17、pure_color

    用 Stegsolve 打开,在 blue = 0 的时候看到 flag

    flag{true_steganographers_doesnt_need_any_tools}

    18、2-1

    打开图片会发现提示格式错误,修改文件头以后还是打不开,根据大佬的说法:CRC32校验错误了,写脚本跑出来

    把宽度那个地方改成这样

     base64÷4

    base64÷4=base16,直接 16 进制转字符串就可以

    can_has_stdio?

    打开是一个五角星,但是很明显是 brainfuck 把空格和换行去掉之后转换一下就可以

    János-the-Ripper

    解压出来,后缀改成 .zip 暴力破解得到 fish,打开得到 flag

    Banmabanma

    在线扫条形码 https://online-barcode-reader.inliteresearch.com/

    Hear-with-your-Eyes 

    用 AUdacity 打开,看一下频谱图 e5353bb7b57578bd4da1c898a8e2d767

    神奇的Modbus

    输入 modbus 过滤一下,随便选一个追踪 TCP 流

    快乐游戏题

     把小猫围起来,围一个大点的圈就行

     MISCall

     按照压缩包打开

     

    然后 git 操作一下

    Reverse-it

    用脚本:https://blog.csdn.net/YUK_103/article/details/103842782

    Aesop_secret

    ps 把 gif 每一帧拼接起来是:iscc

    在 gif 末尾看到疑似 base64,实际是 AES,密码是 ISCC,两次解密出结果

    https://www.sojson.com/encrypt_aes.html

    倒立屋

    zsteg 牛逼!!

    另外因为是倒立屋,所以内容要反过来 flag{9102_cCsI}

     a_good_idea

     用 foremost 分离一下出来个压缩包,里面有两张图

    Beyond_Compare 图片比较一下

     

     2017_Dating_in_Singapore

    把给的数字用短线分割

    然后画出来,额根据比赛名可以知道第四个是 B

     

     simple_transfer

    直接 foremost 分理出 pdf,然后软件打开挪一下黑色的底色就能看出来了

     Erik-Baleog-and-Olaf

     winhex 打开之后,最下面藏了个网址,访问拿到一张图片。额好吧,走偏了

    未完待续...

  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/yichen115/p/11315696.html
Copyright © 2011-2022 走看看