Th3ee Ciscn 西南赛区分区赛 WriteUP

Web1 签到

源码里的Base64 解密一下
iShot_2022-06-26_10.54.19

Web2 Code_1

  1. 用data://伪协议+base64来获取Welcome!
  2. 然后包含./flag.php即可

payload:?input1=./flag.php&&input2=data://text/plain;base64,V2VsY29tZSE=&&input3=test

Misc1

Misc3 EASYFORENSICS

  1. 解压出来的vmem文件,直接用volatility提取数据。


    1. 过滤flag关键字

    yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 filescan | grep flag    
    Volatility Foundation Volatility Framework 2.6.1
    0x000000002e8c0880      8      0 RW-r-- \Device\HarddiskVolume2\flag\hint.txt.txt
    0x000000002e8f7a58      1      1 R--rw- \Device\HarddiskVolume2\flag
    0x000000002e90f038      8      0 RW-r-- \Device\HarddiskVolume2\fffffflag\baidunetdisk.txt
    0x000000002e96ac80      2      0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\fffffflag.lnk
    0x000000002f38b038      1      1 R--rw- \Device\HarddiskVolume2\fffffflag
    0x000000002f39f038      2      0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\flag.lnk
    0x000000002f3b10d8      2      1 R--rwd \Device\HarddiskVolume2\fffffflag
    0x000000002f8a4298      2      1 R--rwd \Device\HarddiskVolume2\fffffflag
    

    1. 过滤xiaoming和txt关键字
      yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 filescan | grep xiaoming | grep .txt
      Volatility Foundation Volatility Framework 2.6.1
      0x000000002bf5f110      2      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\xiaoming@ieonline.microsoft[1].txt
      0x000000002e967e48      2      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@hm.baidu[1].txt
      0x000000002e973b40      2      0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\zippasswd.txt.lnk
      0x000000002e9fe628      8      0 RW---- \Device\HarddiskVolume2\Users\xiaoming\Desktop\zippasswd.txt
      0x000000002ea9ad90      8      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@cmd5[1].txt
      0x000000002ebc2878      2      0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\hint.txt.lnk
      0x000000002f34f210      8      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@bing[2].txt
      0x000000002f398c98      1      1 -W-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Temp\FXSAPIDebugLogFile.txt
      0x000000002f7d1480      2      0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\baidunewdisk.txt.lnk
      0x000000002f82bb78      8      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@msn[2].txt
      0x000000002f8c9cb8      8      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@sojson[1].txt
      0x000000002f9c0038      8      0 -W-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Microsoft\Internet Explorer\brndlog.txt
      0x000000002f9cfaf8      2      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@cn.bing[2].txt
      0x000000002f9f0af0      2      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@www.bing[1].txt
      0x000000002fb0d500      8      0 -W-rwd \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\5G8FOASY\eb-c31c9a-3cb8f63e[1].txt
      0x000000002fb1a588      8      0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\xiaoming@microsoft[1].txt
      
    2. 提取数据

    yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e8c0880 --dump-dir=./
    Volatility Foundation Volatility Framework 2.6.1
    DataSectionObject 0x2e8c0880   None   \Device\HarddiskVolume2\flag\hint.txt.txt
    
    yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e90f038 --dump-dir=./
    Volatility Foundation Volatility Framework 2.6.1
    DataSectionObject 0x2e90f038   None   \Device\HarddiskVolume2\fffffflag\baidunetdisk.txt
    
    yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e9fe628 --dump-dir=./
    
    
  2. 提取出来的文件有hint.txt.txt,baidunetdisk.txt,zippasswd.txt

  3. 通过获取到剪贴板的数据fa5ef7676006afd4748becb7e68b0aed,可以提取到网盘提取码。

    yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 clipboard                                    
    Volatility Foundation Volatility Framework 2.6.1
    Session    WindowStation Format                 Handle Object     Data                                              
    ---------- ------------- ------------------ ---------- ---------- --------------------------------------------------
             1 WinSta0       0xc009L             0x124034b 0xff5820a8                                                   
             1 WinSta0       CF_TEXT                   0x0 ----------                                                   
             1 WinSta0       CF_UNICODETEXT        0xe0395 0xffb83ee0 fa5ef7676006afd4748becb7e68b0aed                  
             1 WinSta0       0xc013L              0x3101cf 0xff5744f8                                                   
             1 WinSta0       CF_LOCALE            0x49008b 0xfda0d260                                                   
             1 WinSta0       CF_OEMTEXT                0x1 ----------  
    
  4. md5解密后,得到为789C

  5. 下载获得flag.img文件

  6. 将其挂载后得到以下数据

  7. YESYESLookAtme就是我们要找的文件,利用提取到的zippasswd.txt获得其中内容。

  8. zippasswd是hex字符串,可以直接放到16进制编辑器中,发现是PNG文件。

  9. 但头文件有问题,对其进行修复,更改文件后缀为png。

  10. 获取到qrcode

  11. 扫码获取解压码password_is_passwd

  12. 解压得到其中的内容,一共有377个

  13. 这里拿到过后开始以为是三维图,画了半天感觉方向错了,是RGB数据。

  14. 编写脚本,把每个文件渲染成图片。

    from PIL import Image
    
    #图片有1600条RGB数据,因此判断为40x40.
    def render(name):
        file1 = open(name)
        im = Image.new("RGB", (40, 40))
        for i in range(40):
            for j in range(40):
                file = file1.readline()
                list1 = file.split(" ")
                im.putpixel((i, j), (int(list1[0]), int(list1[1]), int(list1[2])))
    
        im.save(f"./pic/{name}.png")
    
    
    def main():
            # render("1.txt")
            print(f"=========Is Render Img{i}=============")
            render(f"{i}.txt")
    
    
    if __name__ == '__main__':
        main()
    
  15. 获取到图片过后,使用magick+gaps来拼接图片。

  16. 377个图片可以推算出只有两种排列方式

    for i in range(376):
        for j in range(377):
            if i*j == 377:
                print(i,j)
            
    #output:
    #13 29
    #29 13
    
  17. magick安装


    1. 直接参考官网即可下载/安装连接
    2. macOS的
  18. gaps安装


    1. 直接参考GitHub安装文档 项目GitHub连接
    2. 直接查看installation
    3. 可以改requirements.txt,也可以不改,报错改就行。
  19. 使用magick来讲分散的图片进行拼接
    montage *.txt.png -tile 29x13 -geometry +0+0 flag.png
    -tile: 指定长x宽
    -geometry geometry preferred tile and border sizes

    就可以将所有的.txt.png图片拼接成一个29x13的图片

  20. 在使用gaps来进行自动拼图就行,安装完毕后,在bin/目录下执行命令即可。

    python3 gaps --image=flag.png --size=40

    --image: 指定图片
    --size: 指定每一块的图像的大小。

  21. 最终的结果

  22. 所以说为什么Misc1的伪flag,是这里的真flag,胖揍出题人。这里的真flag,胖揍出题人。是这里的真flag,胖揍出题人。

本文链接:

https://yuno0n.top/index.php/archives/54/
1 + 8 =
快来做第一个评论的人吧~