ISCC2017 Misc write up附件题目文件

ISCC2017 Misc write up附件题目文件_第1张图片

打开附件是个.docx文档,打开是乱码。

ISCC2017 Misc write up附件题目文件_第2张图片

改后缀名为.zip

打开发现:

ISCC2017 Misc write up附件题目文件_第3张图片

都是.xml配置文件,找到document.xml时出现flag

ISCC2017 Misc write up附件题目文件_第4张图片

ISCC2017 Misc write up附件题目文件_第5张图片

打开附件是个.pcapng文件。用wireshark打开。发现是个tcp协议,追踪TCP流。ISCC2017 Misc write up附件题目文件_第6张图片

ISCC2017 Misc write up附件题目文件_第7张图片

有个key.ziptest.key(rsa私钥)

TCP流中的rsa私钥复制到文本中保存为test.key。然后.pcapng改为.zip后缀,获取key.txt

ISCC2017 Misc write up附件题目文件_第8张图片

ISCC2017 Misc write up附件题目文件_第9张图片

使用命令(liunxopenssl rsautl -decrypt -in key.txt -inkey test.key -out 1.txt

ISCC2017 Misc write up附件题目文件_第10张图片

ISCC2017 Misc write up附件题目文件_第11张图片

打开附件,发现是张图片,md5:1a4fb3fb5ee12307,在线查询md5发现根本查不到。

ISCC2017 Misc write up附件题目文件_第12张图片

既然是图片,可能存在隐写,所以改后缀名试试。没错,确实存在一个.zip文件,但需要密码。

ISCC2017 Misc write up附件题目文件_第13张图片

winhex里看了下 不是伪加密。

那就是暴力破解了。

从题目:没有任何特殊字符,请输入密码记得署名哦”中获取信息。

大概下密码为:xxxxxxxxLiHua具体x有多少位并不知道(其实这里有个技巧就是暴力破解压缩包密码一般在9位数以下,出题人不会让你破解密码好几天的。)

用木头字典生成自定义字典。

爆破之

ISCC2017 Misc write up附件题目文件_第14张图片

Flag:

ISCC2017 Misc write up附件题目文件_第15张图片

ISCC2017 Misc write up附件题目文件_第16张图片

音频文件,用Audacity打开,放大音频,发现一开始有一段地方有规律。

ISCC2017 Misc write up附件题目文件_第17张图片

发现图像上边有点。


于是想到二进制01。上10.于是把图像转化为00得到二进制串。

110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

在线二进制转ascii码得:

ISCC2017 Misc write up附件题目文件_第18张图片


ISCC2017 Misc write up附件题目文件_第19张图片

打开附件

ISCC2017 Misc write up附件题目文件_第20张图片

这里附上个脚本:

#! /usr/bin/env python3

# -*- coding: utf-8 -*-

import pytesseract

from PIL import Image, ImageDraw

def get_qr_list():   

    qr_list = list()

    for a in range(5 * 9):

        qr_list.append(list())

        for b in range(5 * 9):

            qr_list[a].append(0)

 

    for e in range(5):

        for f in range(5):

            fname = '%s.png' % (e * 5 + f + 1)

            

            img = Image.open(fname).convert('L')

 

            sx, sy, ex, ey, tx = 0, 0, 0, 0, 2

            for x in range(9):

                ty = 2

                tx += 1

                sx = x * 22 + tx + 1

                for y in range(9):

                    ty += 1

                    sy = y * 21 + ty + 1

                    ex, ey = sx + 20, sy + 19

                                    

                    img_temp = img.crop((sx, sy, ex, ey))

                    

                    code = pytesseract.image_to_string(img_temp, config="-psm 5")

                    

                    if code!='':

                        qr_list[f * 9 + x][e * 9 + y] = 1                

                    print(qr_list[f * 9 + x][e * 9 + y], (x, y), (sx, sy, ex, ey), (e, f, x, y))                  

    return qr_list

 

def get_qr_image(qr_list):

    img = Image.new('L', (10 * 47, 10 * 47), (255))

    draw = ImageDraw.Draw(img)

 

    for e in range(5 * 9):

        for f in range(5 * 9):

            if qr_list[f][e]:

                draw.rectangle(((e + 1) * 10, (f + 1) * 10, (e + 2) * 10, (f + 2) * 10 ), fill=(0))

                

            print(qr_list[f][e], ' ', end='')

        print()       

    img.save('flag.png')

if __name__ == '__main__':

    get_qr_image(get_qr_list())

在数独文件下运行该脚本(先把数独文件定位好,不懂怎么定位的自行百度二维码定位点知识,然后在运行脚本),得到个二维码,扫出的结果为:

Vm0xd1NtUXlWa1pPVldoVFlUSlNjRlJVVGtOamJGWnlWMjFHVlUxV1ZqTldNakZIWVcxS1IxTnNhRmhoTVZweVdWUkdXbVZHWkhOWGJGcHBWa1paZWxaclpEUmhNVXBYVW14V2FHVnFRVGs9

Base64多次解密得:flag{y0ud1any1s1}



ISCC2017-Misc-题目下载:https://pan.baidu.com/s/1geVZM9t

你可能感兴趣的:(ISCC)