少女祈祷中...

[HCTF 2018]admin(session欺骗)

前言:何为session?

是cookie的一种,用于记录你这个ip的会话,相当于一个定位,让服务器能在茫茫网络当中找到你,继续上次的会话,一般是经过大量加密的,flask框架往往会保护,留下一个签名,但是签名不能防止篡改,存在可利用漏洞

正片:

进入源码发现image-20250225235721225

说明我们需要成功登入admin才能获得flag

方法一:弱爆破

已知账号是admin,所以我们就尝试爆破,没想到密码非常简单,直接获得了flag

方法二:flask_session欺骗

我们先注册再登入,留下我们的sessionimage-20250226000053388

之后抓包或者使用插件得到session,再用准备好的解密python脚本解密:

image-20250226000651338

(脚本打开:进入脚本目录打开cmd,输入python flask_session_decrypt.py (目标session))

再打开加密脚本,把name改为admin进行加密(只能打开脚本进行编辑,不能在cmd里输入)

再在cmd里输入python flask_session_undecrypt.py就可以直接输出加密后的内容了

image-20250226000943574

(要改的部分)

image-20250226000925593

最后输入抓包或者cookie插件就行,成功登入