【愚公系列】2022年02月 攻防世界-进阶题-MISC-86(picture2)

2022-02-22 16:37:53 浏览数 (1)

文章目录

  • 前言
  • 一、picture2
  • 二、答题步骤
    • 1.下载附件
    • 2.binwalk
    • 3.python脚本
    • 4.winhex
    • 5.UUencode
  • 总结

前言

Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换。Uuencode编码方案常见于电子邮件信息的传输,目前已被多用途互联网邮件扩展(MIME)大量取代。

Uuencode将输入文字以每三个字节为单位进行编码,如此重复进行。如果最后剩下的文字少于三个字节,不够的部份用零补齐。这三个字节共有24个Bit,以6-bit为单位分为4个群组,每个群组以十进制来表示所出现的数值只会落在0到63之间。将每个数加上32,所产生的结果刚好落在ASCII字符集中可打印字符(32-空白…95-底线)的范围之中。

Uuencode编码每60个将输出为独立的一行(相当于45个输入字节),每行的开头会加上长度字符,除了最后一行之外,长度字符都应该是“M”这个ASCII字符(77=32 45),最后一行的长度字符为32 剩下的字节数目这个ASCII字符。

一、picture2

题目链接:https://adworld.xctf.org.cn/task/task_list?type=misc&number=1&grade=1&page=5

二、答题步骤

1.下载附件

得到一张png图片

2.binwalk

winhex和Stegsolve看不出问题,上binwalk

代码语言:javascript复制
binwalk e4103617b4a6476fb7aa8f862f2ee400.png
binwalk -e e4103617b4a6476fb7aa8f862f2ee400.png

得到

打开文件得到

代码语言:javascript复制
S1ADBBQAAQAAADkwl0xs4x98WgAAAE4AAAAEAAAAY29kZePegfAPrkdnhMG2gb86/AHHpS0GMqCrR9s21bP43SqmesL oQGo50ljz4zIctqxIsTHV25 1mTE7vFc9gl5IUif7f1/rHIpHql7nqKPb 2M6nRLuwhU8mb/w1BLAQI/ABQAAQAAADkwl0xs4x98WgAAAE4AAAAEACQAAAAAAAAAIAAAAAAAAABjb2RlCgAgAAAAAAABABgAAFvDg4Xa0wE8gAmth9rTATyACa2H2tMBUEsFBgAAAAABAAEAVgAAAHwAAADcAFtQeXRob24gMi43XQ0KPj4 IKh9qH2ofQ0KDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxweXNoZWxsIzA IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KICAgIKh9qH2ofQ0KWmVyb0RpdmlzaW9uRXJyb3I6IKh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofSA8LSBwYXNzd29yZCA7KQ0KPj4 IAA=

3.python脚本

代码语言:javascript复制
import base64

t = "S1ADBBQAAQAAADkwl0xs4x98WgAAAE4AAAAEAAAAY29kZePegfAPrkdnhMG2gb86/AHHpS0GMqCrR9s21bP43SqmesL oQGo50ljz4zIctqxIsTHV25 1mTE7vFc9gl5IUif7f1/rHIpHql7nqKPb 2M6nRLuwhU8mb/w1BLAQI/ABQAAQAAADkwl0xs4x98WgAAAE4AAAAEACQAAAAAAAAAIAAAAAAAAABjb2RlCgAgAAAAAAABABgAAFvDg4Xa0wE8gAmth9rTATyACa2H2tMBUEsFBgAAAAABAAEAVgAAAHwAAADcAFtQeXRob24gMi43XQ0KPj4 IKh9qH2ofQ0KDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxweXNoZWxsIzA IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KICAgIKh9qH2ofQ0KWmVyb0RpdmlzaW9uRXJyb3I6IKh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofSA8LSBwYXNzd29yZCA7KQ0KPj4 IAA="
a = base64.b64decode(t)
with open('a', "bw") as f:
    f.write(a)
    f.close()

得到解压文件

4.winhex

用winhex打开文件、发现开头变成4b 50 03 04改成50 4b 03 04后文件后缀改成zip格式

解压文件,发现需要密码

根据提示,密码是py2.7的一个报错提示

经过百度,得知该提示为integer division or modulo by zero

输入integer division or modulo by zero解压得到加密过的字符串

winhex打开解密后的code文件 得到:G0TE30TY[,C,X.$%&,C@Y,T5".#5 %"-#,Y04)&1C8Q-S,Q.49]

5.UUencode

这是UUencode编码进行解密网址:https://www.qqxiuzi.cn/bianma/uuencode.php

得到flag:CISCN{2388AF2893EB85EB1B439ABFF617319F}

总结

  • binwalk
  • python
  • winhex
  • UUencode

0 人点赞