flask session 伪造 伪随机数题
今天见了一个没做过的flask伪造题目,先看题[CISCN 2019华东南]Web4
点击发现参数?url=XXX可以利用,尝试下file协议。
被过滤了,可能是匹配,尝试绕过下。
看看环境变量发现/app 看下/app/app.py
明显的session伪造,但是secrect_key生成却是伪随机数式的。这里先解释下random.seed(uuid.getnode())。uuid.getnode()是获取本机的MAC并以48位二进制进行返回,那么知道这函数的含义后接下来要做什么就清楚了。先获取靶机的MAC看看。linux下mac地址的位置:/sys/class/net/eth0/address
得到地址后编写exp,
点击查看代码
import random
mac="02:42:ac:02:a8:e6"
nmac=mac.replace(":", "")
random.seed(int(nmac,16)) // 这里的int(nmac,16)就是02:42:ac:02:a8:e6去掉冒号的16进制表示
key = str(random.random() * 233)
print(key)
访问/flag将cookie改为我们伪造的进行访问得到flag。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通