2021-04-06,[MRCTF2020]PYWebsite,[MRCTF2020]pyFlag

[MRCTF2020]PYWebsite

在这里插入图片描述
???
赶紧看看pyflag

[MRCTF2020]pyFlag

三张图
用binwalk
在这里插入图片描述
在第二张图片搜索JPG文件尾
在这里插入图片描述
其他两张图片也有这样的小秘密

复制,先按顺序粘贴出来一个zip
打开,有加密
在这里插入图片描述
第一个问题就是粘贴的顺序对不对(虽然它提醒了1,2,3)
然后想到zip伪加密,不过还要再看一下知识点,先过了
接着是有没有可能是弱密码
最后是有没有其他提示

一个一个试,
在这里插入图片描述

发现暴力破解软件可以成功识别,于是先暴力破解看看
刚准备去摸鱼,就出来了,1234
可以,看看都有啥
在这里插入图片描述
是套娃啊,那有事了。
base16
base32
base64
base85

(卡了我半小时)
上网搜了一大顿,搜了个脚本出来
base系列解码程序
顺便为了改文件,下载了个everything,下好了才找到。。。。
由于base92的pypi是py2的,有地方要改一下
在这里插入图片描述

#coding:utf-8
import base64,base36,base58,base91,base92,base62
import binascii
import re
def base_decode(n):
    m=''
    flag=False

    try:
        if re.search('[a-e]',n):
            m=base64.b16decode(n,True)
        else:
            m=base64.b16decode(n)
    except binascii.Error:
        pass
    else:
        flag=True
        print("base16deocde:",m)
        return flag
    #'''''''''''''''''''''''''''''''''
    try:        
        m=base64.b32decode(n)
    except binascii.Error:
        pass
    else:
        flag=True
        print("base32deocde:",m)
        return flag
    #'''''''''''''''''''''''''''''''''    
    try:
        m=base58.b58decode(n)
    except    ValueError:
        pass
    else:
        m=str(m)[2:-1]
        if '\\x' in m:
            pass
        else:
            flag=True
            print("base58deocde:",m)
            mm=str(base91.decode(n))
            if '\\x' not in mm:
                print("maybe base91decode:",mm)
            return flag
    #'''''''''''''''''''''''''''''''''
    try:
        m=base62.decodebytes(n)
    except    ValueError:
        pass
    else:
        m=str(m)
        if '\\x' in m:
            pass
        else:        
            flag=True
            print("base62deocde:",m)
            return flag
    #'''''''''''''''''''''''''''''''''    
    try:
        m=base64.b64decode(n)
    except binascii.Error:
        pass
    else:
        m=str(m)
        if '\\x' in m:
            pass
        else:
            flag=True
            print("base64deocde:",m)
            return flag
    #'''''''''''''''''''''''''''''''''
    try:
        m=base64.b85decode(n)
    except ValueError:
        pass
    else:
        m=str(m)
        if '\\x' in m:
            pass
        else:    
            print("base_b85deocde:",m)
            flag=True
            return flag
    #'''''''''''''''''''''''''''''''''
    try:
        m=base64.a85decode(n)
    except ValueError:
        pass
    else:
        m=str(m)
        if '\\x' in m:
            pass
        else:
            print("base_a85deocde:",m)
            flag=True
            return flag
    #'''''''''''''''''''''''''''''''''
    try:
        m=base91.decode(n)    
    except ValueError:
        pass
    else:
        m=str(m)
        if '\\x' in m:
            pass
        else:
            print("base91deocde:",m)
            flag=True
            return flag
    #'''''''''''''''''''''''''''''''''
    try:
        m=base92.decode(n)
    except ValueError:
        pass
    else:
        flag=True
        print("base92deocde:",m)
        return flag
    return flag
    #'''''''''''''''''''''''''''''''''


if __name__=='__main__':
    print("******There are no base36 and base128******")
    while(1):
        x=input("input the string(q to quit):")

        if x=='q':
            break
        a=base_decode(x)
        if a==True:
            print('\n')
        else:
            print("Fail")

一路到底(让我有个不太好的回忆的那道题)
出flag

py到了flag,现在可以看看PYWebsite 了

[MRCTF2020]PYWebsite

翻到最底下,有一个输入授权码
在这里插入图片描述
顺着找到了验证函数validate()
在这里插入图片描述
在这里插入图片描述
反查一个md5
在这里插入图片描述
呜呜呜
还有这个
在这里插入图片描述
累了,找个wp去看吧

结果直接访问./flag.php
也怪我没细看flag前面有个./
既然直接能进去,我更想把这么md5找出来了
以后说不定可以霍霍别人(乐)

遇到这种情况
1.直接把md5丢到谷歌上搜索
2.找个氪了金的朋友

(第二天)接着往下来吧(找了一晚上)
在这里插入图片描述
淦,我也是学过半年网络安全的,就是要骗你

存ip…那就骗ip
加上X-Forwarded-For

试一下X-Forwarded-For: 127.0.0.1
成了
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值