【未完成】BUU20 [HCTF 2018]admin1
常规解法
题目是一个注册或者登录界面,注册的时候先试着输入用户名admin,然后发现
flag应该就在admin账号里头,尝试去爆破,成功发现密码123(注意这里需要看Length而不是Status code)
在其他wp中还发现一些骚操作:
解法一:flask session伪造
关于session
【Flask框架】——19 Session_flask session id-CSDN博客
session
是一种服务器端的机制,用于在客户端与服务器之间建立起一个持续的会话状态。当用户访问一个启用了 session
功能的网站时,服务器会为该用户创建一个唯一的 session
标识,通过这个标识来识别和跟踪该用户在不同页面请求中的操作和状态。
工作原理
- 创建会话:当用户第一次访问支持
session
的网站时,服务器会自动创建一个新的session
,并为其生成一个唯一的session ID
。这个session ID
通常会以cookie
的形式发送到客户端浏览器,存储在客户端的本地。关于客户端session:flask中的session是存储在Cookie中的,因为cookie实际上是存储在客户端(浏览器)中的,所以称之为“客户端session”(可以通过HTTP请求头Cookie字段的session获取) - 传递会话 ID:在后续的页面请求中,客户端浏览器会自动将
session ID
随请求一起发送给服务器。服务器根据接收到的session ID
来查找对应的session
,从而获取该用户的会话信息。 - 存储和获取数据:服务器可以在
session
中存储用户的相关数据,如用户登录状态、购物车信息等。在需要的时候,服务器可以从session
中获取这些数据,以便为用户提供个性化的服务。 - 会话结束:
session
通常有一个有效期,当超过这个有效期或者用户主动注销会话时,服务器会销毁该session
,释放相关的资源。
使用场景
- 用户登录状态管理:通过
session
可以记录用户的登录状态,确保用户在登录后可以在不同页面之间保持登录状态,直到用户主动注销或者会话过期。 - 购物车功能:在电子商务网站中,
session
可以用于存储用户的购物车信息,用户可以在不同页面之间添加、删除商品,购物车信息会一直保留在session
中,直到用户完成购物或者会话过期。 - 个性化设置:网站可以根据用户在
session
中存储的个性化设置,如语言偏好、主题风格等,为用户提供个性化的页面展示。
session具有两个特点:
- 用户不可以任意篡改
- A用户的session无法被B用户获取
参考:BUUCTF-[HCTF 2018]admin1_[hctf 2018]admin 1-CSDN博客