2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)

芜湖~~~   芜湖~~~ 

没想到不知不觉今年这一届就算结束了

真可谓真是八仙过海各显神通呀

本文章我们只讨论题,别的不讨论 题目还是很不错,我只是题目的搬运工 

进入正题

以下是本人的一些解题思路和过程,供各位道友参考 对了不要喷呀 如有错误或者心得请联系我

小友看见定即时改正回复

对了小友 我自身实力 交了两个非预期 也是有运气在身 (这里本姓名就不再透露了,当然知道的人肯定知道 嘻嘻)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第1张图片

欧克 上干活

misc附件

链接:https://pan.baidu.com/s/1ECFKCp1y6daoJr-802SeCQ?pwd=lulu 
提取码:lulu 
--来自百度网盘超级会员V3的分享

目录

misc附件

好看的维吾尔族小姐姐

题目~

解题思路~

人生之路

题目~

解题思路~

菜鸟黑客1

题目~

解题思路~

菜鸟黑客2

题目~

解题思路~

汤姆历险记

题目~

解题思路~

代码解释

消息传递

题目~

解题思路~

正常解

 非预期解

通信方式

题目~

解题思路~

脚本解释

脚本解释

mystery of bits

题目~

解题思路~

你相信AI吗?

题目~

解题思路~

脚本解释

脚本解释

加油各位( •̀ ω •́ )y 期待与君再相逢


misc附件

链接:https://pan.baidu.com/s/1ECFKCp1y6daoJr-802SeCQ?pwd=lulu 
提取码:lulu 
--来自百度网盘超级会员V3的分享

好看的维吾尔族小姐姐

题目~

五十六个民族,五十六支花,五十六个兄弟姐妹是一家。现如今,民族团结的思想早已深入人心,而维吾尔族又是中华民族的重要组成部分,解决本题需要各位解题人知晓维吾尔族同胞的说话方式。

解题思路~

附件里只有一张

下载图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第2张图片

Png图片

我们看到她是一直再往下看 (在暗示)

而且我们观察这张图片的高度是不协调的 所以高度一定被修改了

所以我们直接爆破高度 (风二西的工具应该已经普及)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第3张图片

 爆破高度成功  图片如下

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第4张图片

 

 

经验丰富的师傅应该可以直接看出来  这是Data Matrix 条码

但正常解是解不出的  我们可以观察他的黑边 和正常的Data Matrix 条码 的黑边位置不一样

所以我们下一步反转图片(二维码水平旋转)

直接上PS

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第5张图片

垂直反转画布如下图

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第6张图片

 解码 在线网址 

https://products.aspose.app/barcode/zh-hans/recognize/datamatrix#/recognized

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第7张图片

 得到如下代码

;521#&;33#&;101#&;011#&;111#&;001#&;801#&;801#&;101#&;911#&;59#&;611#&;501#&;59#&;611#&;111#&;301#&;59#&;711#&;111#&;121#&;321#&;76#&;76#&;38#&;37#&

这个不需要我说就知道这是什么编码了把  但格式有问题 还需要的进行倒序反转(脚本比较方便)

然后unicode解码

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第8张图片

 

得到flag

ISCC{you_got_it_welldone!}

人生之路

题目~

人生之路充满着迷茫,也许成功的密码就在脚下,也许需要我们行走四方,也许我们旅途的记录会发生整体漂移,也许我们已经记不清走了多少路,分不清旅途的方向(flag以大写字母组成)。

解题思路~

附件只有一个压缩包和一个jpeg的图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第9张图片

 

压缩包需要密码

所以只能从图片下手

但无论分离还是隐写都得不到什么有用的信息

我们回到题目

人生之路充满着迷茫,也许成功的密码就在脚下 (当时猜测密码是脚底下,需要我们改高度,可什么都没有,后来才知道压缩包密码就是图片的名称 “人生之路.jpeg”)

也许需要我们行走四方(行走四方,要么是四方密码,要么是键盘上的AWSD四个键,但是四方密码需要密钥,而且还不知一个)

也许我们旅途的记录会发生整体漂移1

回到正题

先解压压缩包

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第10张图片

 得到一个txt文档

根据以上信息我们编写脚本

import string



c = "sOpXhOpXsO pOhXsOhXpO pOhOsO pOhOsO pXhXpXsXhXsX sOpOhOpXsO hOsO hOlOsOhXpO hOlOsOhXpOsOhX pOhOsO hOsOlO sOpOhOpXsO hOlOsOhOpO sOpOhXsOpOhXsO hOsO sOpXhOpXsO hsXlsXhpXhX pOlOsOhOhsX hOlOsOhXpO hOsO sXhXsXpXhXpX ".strip()

a = c.split(" ")

a = list(a[0])

p = 0

for i in a:

    if i in string.ascii_lowercase:

        i = chr((ord(i) - 97 + p) % 26 + 97)

        while i not in "wasd":

            i = chr((ord(i) - 97 + 1) % 26 + 97)

            p += 1

    elif i in string.ascii_uppercase:

        i = chr((ord(i) - 65 + p) % 26 + 65)

        while i not in "ZI":

            i = chr((ord(i) - 65 + 1) % 26 + 65)

            p += 1

a = list(c)

for i in range(len(a)):

    if a[i] == " ":

        pass

    else:

        if a[i] in string.ascii_lowercase:

            a[i] = chr((ord(a[i]) - 97 + p) % 26 + 97)

        elif a[i] in string.ascii_uppercase:

            a[i] = chr((ord(a[i]) - 65 + p) % 26 + 65)

a = "".join(a)

a = a.split(" ")

map = {"saIsIwIdIwaIsdIsI": "A", "sZwZdZsZaZdZsZaZ": "B", "aZsZdZ": "C", "sZwZdZsZaZ": "D", "dZaZsIdZaZsIdZ": "E", "dZaZsZaIdZ": "F", "aZsZdZwIaI": "G", "sZwIdZwIsZ": "H", "dZaIsZaIdZ": "I", "dZaIsZaI": "J", "sZwIdIdwIsaIsdI": "K", "sZdZ": "L", "wZsdIwdIsZ": "M", "wZsdZwZ": "N", "sZdZwZaZ": "O", "sZwZdZsIaZ": "P", "aZwZdZsZsdI": "Q", "sZwZdZsIaZdZsI": "R", "aZsIdZsIaZ": "S", "dZaIsZ": "T", "sZdZwZ": "U", "sIsdIdwIwI": "V", "sdZwdZsdZwdZ": "W", "sdZwaIwdIsaZ": "X", "sdIwdIsaIsI": "Y", "dZsaZdZ": "Z", "aIsIaIdIsIdI": "{", "dIsIdIaIsIaI": "}"}

for i in a:

    print(map[i], end='')

print()

运行

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第11张图片

 

得到flag

ISCC{FLPRCUFDELIYQPL}

菜鸟黑客1

题目~

找出菜鸟黑客小明留下的flag文件

密码:ISCC23

附件SHA256:502f6140232fb9c06ccfef635bc08002cc3cca440b724af33cf0b26737a2d96f

解题思路~

下载附件只有个raw的文件

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第12张图片

 这一看镜像的后缀 内存取证 直接上volatility  (命令不过多解释,不懂的可以看看内存取证的文章)

vol.py -f Novice\ hacker.raw --profile=Win7SP1x64 filescan  grep flag

我们通过命令搜索到一个flag.txt的文档

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第13张图片

 但是无法提取(但是volatility3好像可以 2不行)

所以使用软件

使用RStudio软件打开(当然别的读取磁盘的软件也可以)   驱动器 打开镜像

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第14张图片

 

打开镜像

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第15张图片

 然后设备视图里就会有我们的文件

下一步我们扫描这个镜像

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第16张图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第17张图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第18张图片

双击这个爆红的

就会出现文件视图

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第19张图片

然后我们按照使用volatility扫描出来的路径

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第20张图片 去找文件 如下图

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第21张图片

 另存为

打开之后里面是个类似flag的东西 但事实上不是

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第22张图片

有提示 DES解码

密钥题目上有但不全 (完整的很容易想到ISCC2023)

Des解码在线网址

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

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第23张图片

 得到flag

ISCC{dbsy_cdis_fd7n_s4fd}

 

菜鸟黑客2

题目~

爱画画的菜鸟黑客小明尝试攻击了一台电脑,电脑中记录了他的百感交集的心情。

密码:ISCC23

附件SHA256:502f6140232fb9c06ccfef635bc08002cc3cca440b724af33cf0b26737a2d96f

解题思路~

和菜鸟一的附件一模一样

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第24张图片

 猜测这个题藏flag的文件和上个题的路径一样

所以我们直接在桌面查看东西

vol.py  -f Novice\ hacker.raw --profile=Win2008R2SP1x64 filescan | grep Desktop

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第25张图片

 再里面发现几个图片 但这个emoji.jpg的图片比较特殊

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第26张图片

vol.py -f Novice\ hacker.raw  --profile=Win2008R2SP1x64 dumpfiles -Q 0x000000007dfaff20 -D ./

 我们将他导出来  

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第27张图片

 得到一个emoji的表情包图片

看大小 不对劲

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第28张图片

 对这张图片就行分离

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第29张图片

得到一个压缩包 压缩包里有txt文档

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第30张图片

 但需要密码

盲猜是ISCC2023 果然是2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第31张图片

 得到txt文件

里面是维吉尼亚密码提示  解MEQL{invk_vhlu_dzel_lkof}这串字符

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第32张图片

 

但维吉尼亚解密需要密钥

所以下一步我们找密钥

我们回到那raw文件

查看他的记事板信息

vol.py -f Novice\ hacker.raw  --profile=Win2008R2SP1x64 editbox

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第33张图片

 得到提示Pay attention to emoji's eyes

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第34张图片

 好的那我们回到那张emoji图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第35张图片

 

让我们看眼睛 眼睛只有两种形态  争着的和闭着的 所以只可能是摩斯密码或者二进制

经过尝试

圆眼睛(睁着的)为. 长眼睛(闭着的)为 -

./--/---/.---/../../.../..-./..-/-.

解摩斯

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第36张图片

 得到 EMOJIISFUN 

然后解维吉尼亚密码 解密

在线网址https://www.qqxiuzi.cn/bianma/weijiniyamima.php

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第37张图片

 得到flag

ISCC{afdf_buhi_pqwd_tfus}

汤姆历险记

题目~

汤姆来了,汤姆过来了,来听听汤姆的历险记!

解题思路~

下载附件只有一个tom.png和一个对照表

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第38张图片

我们先对tom.png进行分离

 Foremost分离

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第39张图片

 得到压缩包一个

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第40张图片

 但压缩包存在密码

在搜寻tom.jpg字符时

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第41张图片

 得到奇怪字符

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第42张图片

 当然经验丰富的师傅 一看就知道这是一段不属于正常文件编码的字段  

有经验的话很快就能猜到是字频统计

进行字频统计 (也可以去在线网址)

from collections import Counter 
import os 
ss="” 
str1 = ss 
result = Counter(str1) 
print("".join([i[0] for i in result.most_common()])) 

代码解释

这段代码的作用是统计字符串 ss 中每个字符出现的次数,并按照出现次数从高到低对这些字符进行排序,最后输出排序后的字符。

它首先导入了 Python 中的 collections 模块,并从中引入了 Counter 类。接着定义了一个字符串变量 ss,并将其赋值给变量 str1。然后使用 Counter 类构造函数 Counter(str1) 统计了字符串 str1 中每个字符出现的次数,并将结果存储在 result 变量中。接下来,使用了列表生成式 [i[0] for i in result.most_common()],获取了 result 中出现次数最多的字符(即出现次数排名前几的字符),并将它们连接成一个新的字符串。最后通过 print() 函数将这个新的字符串输出。

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第43张图片

 运行

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第44张图片

 得到

{yasuobpwrd91702!@$%^&*}

解压密码得到tom.docx

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第45张图片

 

我们仔细观察发现每行的行距不一样

有一倍行距 和 1.5倍行距

然后我们全选进行首行缩进

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第46张图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第47张图片

 

这样段落就比较清晰了

每一个自然段 段是一个字符 (这种情况只能二进制码或摩斯密码 经过尝试得知为摩斯密码)

单倍行距的为.   1.5倍行距为- 

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第48张图片

 单倍行距的为.

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第49张图片

 1.5倍行距为-

转莫斯密码

然后摩斯密码转字符

题目更新过 所以存在新老附件

老附件得到的摩斯密码  ../..---/.../-----/-.-./..---/-.-./...-- 解码后 i2s0c2c3

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第50张图片

新附件得到的摩斯密码 .../-./-../--./.-/-.-/./.-  解码后  sndgakea

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第51张图片

最后得到的字符

再按对照表转换

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第52张图片

 得flag

消息传递

题目~

消息是如何传递的呢(思考...)

解题思路~

正常解

下载附件  只有一个对照表 和一个流量包

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第53张图片

那肯定先对流量包下手

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第54张图片

导出IMF对象 (HTTP也有东西但没有什么用,我当初就是被迷惑了)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第55张图片

 

导出

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第56张图片

 

三封邮件 在最后一封有个压缩包

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第57张图片

 提出来

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第58张图片

 

里面是112个图片 但需要密码

然后我们再回到流量包里

直接ctrl+f 搜索pass

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第59张图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第60张图片

 两块拼起来就是密码

WRWAALIUWOHZAPQWFTQIPMVJFOKHHZUZ

解开压缩包

发现里面是黑白照片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第61张图片

 转01,得二进制最后转字符

得到i2s0c2c3

这时候想起来还有个密码本

对照密码本破译 (每个人密码本不一样)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第62张图片

 

最终得到flag

 非预期解

我们从三份邮件开始

三封邮件 在最后一封有个压缩包

提出来

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第63张图片

里面是112个图片 但需要密码

从这里开始就是非预期解

压缩包密码是从流量包里找到的

正常思路我们是需要找的压缩包的

但我不需要压缩包密码也可以解题

这个压缩包打开之后 我们观察

然后就发现里边的图片只有两个大小 一个192  一个160  

所以我们就有理由怀疑这112个png,只是名称不一样的两张图片

就想到了图片转二进制  二进制在转字符  而且正好112位

112/8=14  就是14位

安照惯例 大小的图片为0  小的图片为1

01001001 01010011 01000011 01000011 01111011 01101001 00110010 01110011 00110000 01100011 00110010 01100011 00110011 01111101

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第64张图片

 ISCC{i2s0c2c3}

然后按照对照表2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第65张图片

 得到flag

通信方式

题目~

在我们国家,我们使用微信就可以进行扫码、发消息等信息传递工作,你知道过去我们使用什么方式来传递消息吗?

解题思路~

下载附件只有一个mp3的文件

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第66张图片

 从里面得到了一段提示

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第67张图片

 In the past we used Telegram for communication. Now we use WeChat for communication.

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第68张图片

 

Telegram 电报的意思

那猜测最后要使用电报的方式解密

第一步

我们要将立体声WAV文件分离成其左右声道,然后计算每个样本中它们之间的差异

上脚本

import scipy.io.wavfile as wavfile

samplerate, data = wavfile.read('telegram2wechat.wav')

left = []

right = []

for item in data:

    left.append(item[0])

    right.append(item[1])

diff = [left - right for left, right in zip(left, right)]

print(diff)

脚本解释

以下是每行代码的解释:

  1. import scipy.io.wavfile as wavfile:从scipy.io包中导入模块wavfile并将其别名为wavfile。
  2. samplerate,data = wavfile.read('telegram2wechat.wav'):使用wavfile.read()读取WAV文件 'telegram2wechat.wav'。该函数返回两个值:音频文件的采样率(samplerate)和音频数据本身(data)。
  3. left = []和right = []:创建两个空列表来存储左右声道的音频数据。
  4. for item in data::循环遍历音频数据中的每个项目。
  5. left.append(item [0])和right.append(item [1]):将item的第一个项目(左声道)附加到left列表中,并将item的第二个项目(右声道)附加到right列表中。
  6. diff = [left - right for left,right in zip(left,right)]:使用列表推导式计算每个样本中左右声道之间的差异。 zip(left,right)创建来自left和right的相应项目对,表达式left-right从每个对中减去左声道值的右声道值。
  7. print(diff):将差异列表打印到控制台。

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第69张图片

 运行得到0,1,2 一些数字和字符

从里面找到1,2的部分 其余的删掉

我们单独写入一个txt文件里

然后我们把多余的符号去掉 最前面的空格和最后的逗号呀

并且转化为一个新的 RGB 图像

fp = open('通讯.txt').read().split(',')

print(len(fp))

先运行上面的脚本

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第70张图片

 得到2401 然后开平方 得到49

49 是需要替换下面的脚本的

上脚本

fp = open('通讯.txt').read().split(',')

print(len(fp))

from PIL import Image

img = Image.new('RGB', (49,49))

i = 0

for x in range(49):

    for y in range(49):

        if fp[i] == ' 1':

            img.putpixel((x,y), (0,0,0))

        else:

            img.putpixel((x,y), (255,255,255))

        i += 1

img.show()

脚本解释

通过逗号分隔并获取结果列表的长度。

Image.new 和for循环所需要的数字都为平方根得到的数字

然后它使用 PIL(Python Imaging Library)创建一个新的 RGB 图像,大小为 45x45,并遍历每个像素。

对于每个像素,它检查“fp”列表中相应的值是否等于“1”。如果是,则将像素设置为黑色(0,0,0),否则将其设置为白色(255,255,255)。最终生成的图像使用“show”方法显示出来。

运行得到图片 (圈起来的数字要替换)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第71张图片

 扫码

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第72张图片

 

5337 5337 2448 2448 0001 2448 0001 2161 1721 1869 6671 0008 3296 4430 0001 3945 0260 3945 1869 4574 5337 0344 2448 0037 5337 5337 0260 0668 5337 6671 0008 3296 1869 6671 0008 3296 1869 2161 1721

接下来就是我最开始说的电报解码

提供在线网址 两个 

中文电码查询 - 中文电码转换 - 中文电码对照表最全的简体中文电码和繁体中文电码查询https://dianma.bmcx.com/

https://www.qqxiuzi.cn/bianma/dianbao.php (这个比较好用)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第73张图片

 

艾艾斯斯一斯一括弧恩达不溜科一由偶由恩第艾克斯之艾艾偶可艾达不溜恩达不溜恩括弧

没想到作者最后一步 弄了个拼音 谐音梗

"艾一":"A",

"比":"B",

“斯一" :"C",

"第":"D",

"易":"E",

"艾福":"F",

"鸡":"G",

"艾吃":"H",

"之艾":"J",

"可艾":"K",

"艾偶":"L",

"艾木":"M",

"恩":"N",

"偶":"O"

"皮":"P",

"科一由":"Q",

"皮":"p",

"艾": 'I',

"之艾":'J',

"鸡":'G',

"可艾": "K",

"兹一": "z",

"艾斯":"s",

"斯一":'C',

"括弧": "{",

"艾木":"M",

"偶": "o",

"啊': 'R',

"艾福": 'F',

"替":'T',

"艾克斯":"X",

"滋一":"Z",

"达不溜":"W",

"由":"U",

写了几个不好辨认的

大家可以直接对换 也可以写脚本 我就不写了

最后得到flag

ISCC{NWQOUNDXJLKWNWN}

mystery of bits

题目~

这是什么?像素音乐!看一下!

解题思路~

下载附件只有zip和png文档

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第74张图片

 但压缩包需要密码

那只能从图片找起

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第75张图片

图片很明显的高度 不够

修复高度

 2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第76张图片

如下图

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第77张图片

 

放进ps里

再看看其他通道  会发现图片的有文字

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第78张图片

得下图

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第79张图片

 得到压缩包密码

ysafao245hfdisi

得到音频一个

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第80张图片

 题目名字(mystery of bits) 猜测是 stegpy 工具隐写

使用stegpy 这款隐写工具 

stegpy _music.wav -p

密钥是 ISCC2023

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第81张图片

得到一串二进制字符

0000000000000000000000000000000011111110101010111111101111111001000001011101011100000100000100101110101111000111110010111010010111010101000000101001011101001011101010110100101000101110100100000100010110000001010000010011111110101010101010101111111000000000010011001101000000000000010101101010101010111110111110011110000111111100010100101110000010111010010110110101101111000011100000011100000111000001110001001011101001011010010110100000000110100000111000001110000000001011101001011010010110100100010001101001100111011101010100001010011111010110011101001111100000011001100100001101100101000010100010011000010000011000100001011100001011001110110110100100101011100111110101111111101100000000000100001010110100010001001111111001000110010010101010000100000101101111001001000111110010111010011101110101111110101001011101010111011001101110101000101110100010111010101110111010010000010110011001000110011110001111111000010001000010010100000000000000000000000000000000000

总共961位 盲猜是二进制转二维

运行得到二维码

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第82张图片

 

 扫码得到flag

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第83张图片

 ISCC{congratulation_and_it_is_real}

你相信AI吗?

题目~

经典的算法,经典的数据,但也许会出现不一样的结果?

解题思路~

哈哈 各位道友还记得去年的AL吗

不用多说肯定是需要脚本的

但我们别急

道友们我们可以先分析分析这个题

 附件里总共就有两个文件和压缩包(上图是解压过的)

这样我们先看第二个文件

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第84张图片

 在这个文件里有大量的输出文件 (像是AL算法的输出文件,对整体的解题没有主要的帮助)

但我们看最后一个文件

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第85张图片

看一下源代码

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第86张图片

里面有明显的png格式

所以我们直接加后缀

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第87张图片

一张新的图片就这样诞生了 虽然没有什么用 但有提示

咦 那这个提示在那呢 我们慢慢说

这里有个小小的隐写 让我们打开stegsolve

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第88张图片

 这里有个小小的提示 就不过多解释了 都应该可以看懂

好我们看第一个文件

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第89张图片

 31个记事本

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第90张图片

每个记事本都是 类似如上图

然后上脚本

脚本解释

(这段代码是读取一些文本文件中的数组数据,并将其转换成图片。对于每个文件,它会打开文件并读取其中的数据行,然后将这些数据存储到一个数字数组中。接下来,它会检查数组的长度,如果符合预期,则将这些数字数组转换成图片,并将图片保存到指定的输出目录中。如果数组长度不符合预期,程序就会告诉你当前文件的编号。)

import cv2

import numpy as np





for i in range(32):

    with open(f"./dataset/{i}.txt", "r") as f:

        data = f.read().splitlines()





    image_data = np.array([float(line) for line in data])



    # dic = {X: int(image_data.shape[0] / X) for X in range(1, image_data.shape[0]) if image_data.shape[0] % X == 0}





    # for width, height in dic.items():

    if image_data.shape[0] == 2352:

        cv2.imwrite(f"./out/{i}.png", image_data.reshape(84, 28))

    elif image_data.shape[0] == 1568:

        cv2.imwrite(f"./out/{i}.png", image_data.reshape(56, 28))

    else:

        print(i)

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第91张图片

 在脚本所在目录创建个out的文件夹

运行脚本  

Out文件夹 会生成很多带数字的png图片

2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第92张图片

接下来需要暴力破解这组密文

脚本解释

(脚本解释:

这段代码的作用是对给定的一组密文进行暴力破解,以找出加密前的明文。具体过程如下:

首先,我们定义了一个名为has_visible_bytes的函数,该函数用于检查输入的字节数组中是否包含可见字符(即ASCII码表中可打印的字符)。如果字节数组中所有的字节都是可见字符,则返回True,否则返回False。

然后,我们给出了一个密文cipher_text。这个密文实际上是一堆十进制数,需要将它们转换成字节流来还原出原来的明文。

接下来,在循环中,我们使用itertools.permutations函数枚举数字0到9的全排列,并使用maketrans和translate函数将数字替换为其对应的全排列。

随后,我们将每个密文按照刚才得到的映射表进行解密,并将结果存储在lis中。

接着,我们尝试将lis中的所有字符串转换成字节流,如果字节流中包含可见字符,则认为这是一个有效的解密结果,并检查其中是否包含特定的文本"ISCC{"。如果有,则说明我们已经成功地破解出了密文,并将结果写入out.txt文件中。

最后,程序会输出被base64解码后的明文。)

import string

import itertools

import contextlib

from base64 import b64decode





def has_visible_bytes(input_bytes):

    return all(chr(byte) in string.printable for byte in input_bytes)



cipher_text = '51 59 75 95 56 46 664 636 52 57 685 77 56 50 688 669 56 682 688 687 25 73 680 684 22 685 28 633 683 56 96 96'.split(" ")

# 需要人眼OCR以下out文件夹内的输出

# cipher_text = '所有图像的ascii,空格隔开



with open("out.txt", "wb") as f:

    for i in itertools.permutations("0123456789", 10):

        maktrans = str.maketrans("0123456789", ''.join(i))



        lis = [str.translate(i, maktrans) for i in cipher_text]



        with contextlib.suppress(Exception):

            plan_text = bytes(list(map(lambda x: int(x), lis)))

            if has_visible_bytes(plan_text):

                if b'ISCC{' in b64decode(plan_text):

                    print(b64decode(plan_text))

                    f.write(plan_text + b"\n")

 2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)_第93张图片

运行得到flag

ISCC{2aiLA7mBgdlxbrVs}

加油各位( •̀ ω •́ )y 期待与君再相逢

你可能感兴趣的:(比赛wp,视频编解码,ISCC,信息安全对抗大赛,网络安全,CTF)