HCTF2018-admin[flask session 伪造]】的更多相关文章

知识点:flask session 伪造 flask中session是存储在客户端cookie中的,也就是存储在本地.flask仅仅对数据进行了签名.众所周知的是,签名的作用是防篡改,而无法防止被读取.而fla没有提供加密操作,所以其session的全部内容都是可以在客户端读取的,这就可能造成一些安全问题 这道题源码泄露,是用flask写的(看了一下一些师傅的wp,说是看到flask直接去看一下路由)判断一下具有的功能 通过脚本将session解密: #!/usr/bin/env python3…
简介  原题复现:https://github.com/woadsl1234/HCTF2018_admin  考察知识点:session伪造.unicode漏洞.条件竞争  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 第一个方法: 打开界面先查看了源码提示 you are not admin 我不是admin 第一感觉就是要admin登陆 于是寻找登陆界面 有个注册页面我们先进行注册 尝试注册admin 结果显…
目录 方法一:Unicode欺骗 方法二:伪造session 参考文章 记一道flask下session伪造的题. 方法一:Unicode欺骗 拿到题目f12提示you are not admin,显然拿到flag需要admin权限.注册一个账号在change页面存在git源码泄露,页面的源代码给了路径.打开routes.py,文件进行代码审计.最后面的strlower函数有点突出 def strlower(username): username = nodeprep.prepare(usern…
1. 关于session flask session可能很多人根本都没有使用过,倒是cookie大家可能使用得比较多.flask cookie使用起来比较简单,就两个函数,读取和设置. 具体使用方式如下: 读取cookie from flask import request @app.route('/') def index(): username = request.cookies.get('username') # 使用 cookies.get(key) 来代替 cookies[key] ,…
session 加密后放在用户浏览器的 cookie 中 于django 的自带session 不同,flask 的 session 需要导入 from flask import session 添加密钥 app.secret_key = "sdfsdgrgasdgewrgw" 内部流程 # - Flask中的session处理机制(内置:将session保存在加密cookie中实现) # - 请求刚到来:获取随机字符串,存在则去“数据库”中获取原来的个人数据 # 否则创建一个空容器.…
会话session ,允许你在不同请求 之间储存信息.这个对象相当于用密钥签名加密的 cookie ,即用户可以查看你的 cookie ,但是如果没有密钥就无法修改它. from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) @app.route('/') def index(): if 'username' in session: return 'Logged in a…
基本使用 from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) @app.route('/') def index(): if 'username' in session: return 'Logged in as %s' % escape(session['username']) return 'You are not logged in' @app.route('/…
flask session工作机制: 把敏感数据经过加密后放入到‘session’中,然后在把'session'存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取session,在从session中读取敏感数据,并进行解密,获取最终的用户数据,这种session机制可以节省服务器开销,因为所有的信息都存到了客户端 操作session from flask import Flask,session import os app = Flask(__name__) app.c…
### session:1. session的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息.不同的是,cookie是存储在本地浏览器,session是一个思路.一个概念.一个服务器存储授权信息的解决方案,不同的服务器,不同的框架,不同的语言有不同的实现.虽然实现不一样,但是他们的目的都是服务器为了方便存储数据的.session的出现,是为了解决cookie存储数据不安全的问题的.2. session与cookie的结合使用: * session存储在服务器端:…
flask session相关 使用flask 默认sessio是存储在浏览器的cookie中,当请求返回时会将session写在cooKie中,但是在写的时候,默认并不是每次都重新写入 比如下例子 # 原来session {'k1': 1, 'k2': 'V2'} session['user_info']['k1']=2 # 如此修改内部值session 不重新写入 只有当调用session对象的__setitem__方法或者__deleteitem__方法才会将  modify 变成true…