周周练_WP(一)

1、奇怪的杂项

题目给了一个flag.pyc文件,平常思路,先去pyc在线反编译网站先编译一下再说。

python反编译 - 在线工具 (tool.lu)

if __name__ == '__main__':
    if b58encode(input()) == b'3sLBBYq91BUxPzp7tRuYNKvUNQ2hedyw6ydjzNbf9rJbYq9Ue6xzr9aL6rEDwUQZRGnZPGGgwM2PspAeVcCCjyrNQqDV5PhvaZpwj5ZMaXaFuGjiXK1gf72U325dx6n1RFKiBF3C9dYRTj86aqxZ5HN53KLaW7oBoXwJjbsNFdci8A2kQM':
        print('flag is coming...')
    else:
        print('There is no problem that your input is wrong.')

反编译结束之后,发现有一串base58,base58在线解码后,发现解不出来 

然后用stegosaurus解码后,解码成功,注意是需要python3.6版本

 flag:217a5bcecea1be5eeca5028b06427b84

2、BOY_PLAY_GTA

 题目给了一个这个图片,不管三七二十一,用010editor查看,题目末尾有个压缩包,尝试用binwalk或者formost分离一下。

分离后,出现flag.zip文件和key.txt文件

 点开key.txt,发现:K9@?88F@;:2J@F,这是一个ROT47码,在线解密一下,结果是:zhongguojiayou

解密之后,又出现一个图片

用zteg查看一下,或者用010editor查看一下,发现有bpg图像,将bpg图像另存出来,发现以下信息:

 

 仔细查看一下,这个是维吉尼亚密码,在线解密:

维吉尼亚在线解密

得到flag:

flag{da1a@_dd_dd_hm???}

Dancing

题目给了个提示:

黑哥一笑,生死难料,同时又给了个压缩包

将这个压缩包解压,得到

 内存取证一下,发现有个True的提示

 对这个密码进行dump出来

 

 用010editor打开解压出来的流量文件,发现只有FTP文件和zip文件,将这个文件导出来

 

 然后用efdd

 

 

 

 新增一张图片,拖到010erditor看,在文件尾部发现:

 发现一串base编码,用编码自动识别程序

 

# coding=utf-8
import base64
import re
import base91


def baseDec(text, type):
    if type == 1:
        return base64.b16decode(text)
    elif type == 2:
        return base64.b32decode(text)
    elif type == 3:
        return base64.b64decode(text)
    elif type == 4:
        return base64.b85decode(text)
    elif type == 5:
        return base91.decode(text.decode())
    else:
        pass


def detect(text):
    try:
        if re.match("^[0-9A-F=]+$", text.decode()) is not None:
            return 1
    except:
        pass

    try:
        if re.match("^[A-Z2-7=]+$", text.decode()) is not None:
            return 2
    except:
        pass

    try:
        if re.match("^[A-Za-z0-9+/=]+$", text.decode()) is not None:
            return 3
    except:
        pass

    try:
        if re.match("^[A-Za-z0-9$%()*+,-./:;?@[\]^_`{|}~]+$", text.decode()) is not None:
            return 4
    except:
        pass

    try:
        if re.match("^[^-\']+$", text.decode()) is not None:
            return 5
    except:
        pass

    return 5


def autoDec(text):
    floor = 0
    while True:
        try:
            code = detect(text)
            text = baseDec(text, code)
            floor += 1
            print("第{0}层:\n".format(floor), text)
            if not text: break
        except:
            break


if __name__ == "__main__":
    # with open("Autopy/crypto/doc/form",'rb') as f:
    #     content = f.read()
    content = "@iH<,{gMzJ.(Mk{Qm,R.[*;H02$@iCbRJ)%IyluM4R9=)8P".encode()
    autoDec(content)



C:\Python38\python.exe C:/Users/hp/Desktop/Pythoncode/2022/test2.py
第1层:
 bytearray(b'flag{2b620630c95ccda6a960158cd592d87f}')
第2层:
 b'\x81M\xb4#\x07\x94k\xa3\x12\xc7E\x94\x10\xf6\xec0\x13\xfduy\x03LM\xdf\x0f\xe337\x17Q'


结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值