项目笔记:Webgoat靶场通关教程之Broken Access Control

0x01.Broken Access Control(失效的访问控制)

       1.会话劫持

         接着上篇文章继续讲,打开网页显示试图预测“hijack_cookie”值

一看就是要进行cookie爆破,随便填点击登录然后查看cookie

记下来,之后删除cookie,重复个两三次观察规律

规律推导:前缀43999087440979xxxx为固定模式,后缀17631xxxxxxxx为时间戳或递增计数器。

暴力破解有效Cookie 打开抓包软件,随便填一些数字登录抓包

  • 工具选择:使用Burp Suite的Intruder模块WebScarab进行枚举攻击。
  • 因为难度较低且有规律可循,所以自己制定简单列表可以否则设置攻击载荷太长了
    2.不安全的直接对象引用

      直接对象引用是指应用程序使用客户端提供的输入来访问数据和对象,当引用未得到正确处理并允许绕过授权或披露可用于 执行用户不应执行或访问的作或访问数据。 假设作为用户,您查看您的个人资料,URL 如下所示:

https://some.company.tld/app/user/23398

https://some.company.tld/app/user/23398

https://some.company.tld/app/user/23398您可以在那里查看您的个人资料。如果您导航到以下位置,会发生什么情况:

https://some.company.tld/app/user/23399 

https://some.company.tld/app/user/23399或在末尾使用另一个数字。如果可以作号码(用户 ID)并查看其他人的个人资料,则对象引用是不安全的。 当然,这可以检查或扩展到 GET 方法之外来查看数据,也可以作数据。

打开会让你输入账号密码进行身份验证输入他给的 “tom”,"cat"。

到后面意思就是让你抓包查看个人资料里没有的字段然后输入下面框框里我们先打开抓包,然后点击查看个人资料,之后放到Repeater发送看看

会发现圈起来的那俩字段没有,在下面提交就行,记得只提交标签,中间用英文逗号隔开(我一直提交不成功,吐了)

        后面会让你用另一种方式查看自己的个人资料,就是构造url查看,前面抓包已经知道账号路径和uid,直接构造url试试

后面又让查看其它人资料,但是我们不知道他们uid啊,那咋办——只能爆破呗

抓包发到intuber ,根据我们自己的uid设置位数最好

爆破成功

3.缺少功能级别访问控制

        访问控制(例如使用输出编码防止 XSS)可能很难维护。必须确保它在整个应用程序中得到充分执行,从而在每个方法/函数中得到充分执行。

  • 定义:功能级别访问控制是指应用程序对每个功能模块(如页面、API端点)实施细粒度的权限验证,确保只有授权用户能执行特定操作。若缺失,攻击者可绕过权限限制,访问未授权功能(如管理员面板、数据修改接口)。
  • 风险类型
    • 水平越权:同权限用户访问他人数据(如普通用户查看/修改其他用户信息)。
    • 垂直越权:低权限用户执行高权限操作(如普通用户访问管理员功能)。
    • 路径遍历:通过修改请求参数访问隐藏目录或敏感文件(如../../../../etc/passwd)。

打开发现让查找一些隐藏项目

通过他的提示按f12找找看吧,发现在输入框上面字段中好像有一个控件UI没显示出来

前俩控件书信都是dropdown,最后一个前面加了个hidden-menu-item ,抱着试一试的心态把他删了然后再看看页面变化,发现多了个admin里面有userss属性和config属性,填上去就行。(记得留意这三个控件链接)

再往后

他让收集用户信息,还记得前面那三个属性的路径吗

access-control/users

access-control/users-admin-fix

access-control/config

随便访问一个,发现报错了

        发现报错了,这里看看源码加了什么条件吧(黑盒只能看手法了~)

这里要求请求的Content-Type头必须为application/json,那我们添加content-type: application/json

发现返回了多个用户哈希值,随便复制一个粘上去就好了

再往后,他说这个这个漏洞已经修复,只有管理员能看到,让我们再试一次。

看源码

细心的朋友看到下面有个adduser方法,应该是添加新用户,尝试用此提权(记得改成post提交)

现在我们有管理员权限了,在访问试试,搞了半天还是不行,真的要吐了

看了知乎大佬的文章才知道:

现在的问题是,虽然我们成功越权创建了一个jack001的管理员用户,但是并没法登录啊。

继续看源码,发现users-admin-fix这个接口虽然会校验当前用户是否是管理员,它校验的方法是从后端的登录态中取到当前用户的用户名,然后判断它是不是管理员,如果是就返回数据。

参考:A1-Spoofing an Authentication Cookie - 知乎 (zhihu.com)

退出当前登录账户然后注册一个跟上面提交提权账户一样的账户

之后在这里面提权再访问

成功找到哈希值(会发现这次哈希值不一样)

        伪造身份验证Cookie是指攻击者通过非法手段生成或篡改有效的Cookie值,从而冒充合法用户身份访问受保护资源。Cookie作为Web应用中用户身份的“临时通行证”,通常包含会话ID、角色权限等敏感信息。若其生成逻辑存在缺陷或未受保护,攻击者可利用漏洞伪造有效Cookie,绕过登录验证。

        进去他给了俩账户

登陆一下试试,发现有base64加密,解码出一段字符,另一个也是如此。

我们对其结果进行尝试其他解码,发现是base64-16进制-文本,这样发现前面字符都一样,后面为账户名字倒写

那么我记得前面有个叫tom的账户,我们进行伪造试试

成功伪造 NDM3YTRlNzU0MTZhNjI2MTc1NzM2ZDZmNzQ=

然后随便登录抓包伪造cookie(spoof_auth=NDM3YTRlNzU0MTZhNjI2MTc1NzM2ZDZmNzQ=),成功~

未完待续...

Read more

【AIGC】Claude Code的CLAUDE.md加载时机与书写最佳实践

I. CLAUDE.md 文件:项目级 vs 全局级 完全解析 CLAUDE.md 是 Claude Code 提供的简化版规则配置文件(对比多文件的 rules 文件夹),核心作用是定义 AI 需遵循的代码规范、项目要求等,而「项目根目录的 CLAUDE.md」和「用户主目录的 ~/.claude/CLAUDE.md」的核心区别在于作用域和优先级,下面分维度讲清楚: 一、核心区别(作用域+使用场景) 维度项目根目录 CLAUDE.md用户主目录 ~/.claude/CLAUDE.md作用域仅对当前项目生效(项目内所有文件)对当前用户下的所有项目生效使用场景定义当前项目的专属规则(如项目特有编码规范、业务约束、依赖版本)定义跨项目的通用规则(如个人编码习惯、全项目通用安全规范、

【大模型科普】AIGC技术发展与应用实践(一文读懂AIGC)

【大模型科普】AIGC技术发展与应用实践(一文读懂AIGC)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT),经海量数据训练后能完成文本生成、图像创作等复杂任务,显著提升效率,但面临算力消耗、数据偏见等挑战。当前正加速与教育、科研融合,未来需平衡技术创新与伦理风险,推动可持续发展。 文章目录 * 一、AIGC概述 * (一)什么是AIGC * (二)AIGC与大模型的关系 * (三)常见的AIGC应用场景 * (四)AIGC技术对行业发展的影响 * (五)AIGC技术对职业发展的影响 * (六)常见的AIGC大模型工具 * (七)AIGC大模型的提示词 * 二、文本类AIGC应用实践 * (一)案例1:与DeepSeek进行对话 * (二)案例2:与百度文心一言进行对话 * (三)案例3:使用讯飞智文生成PPT

开源大模型深度研究报告:LLaMA 2_3、Qwen与DeepSeek技术对比分析

开源大模型LLaMA 2/3、Qwen 与 DeepSeek 技术对比分析 研究背景与目标 2025 年,开源大模型生态正经历前所未有的技术爆发期。以 Meta 的 LLaMA 系列、阿里巴巴的 Qwen 系列和 DeepSeek 公司的 DeepSeek-R1 为代表的三大开源模型体系,在技术架构、训练方法和应用性能方面展现出各自独特的创新路径(164)。这些模型不仅在学术研究领域发挥着重要作用,更在企业级应用、边缘计算和多模态处理等场景中展现出巨大潜力。 本研究报告旨在全面分析 LLaMA 2/3、Qwen 和 DeepSeek 三大开源模型的技术特点、性能表现和应用价值,为研究者和工程师提供系统性的技术对比分析。通过深入剖析各模型的架构设计、训练策略和实际部署成本,本报告将帮助读者理解不同模型的技术优势和适用场景,为模型选择和应用部署提供决策参考。 一、三大开源模型技术架构深度解析 1.1 LLaMA 3 系列架构创新

Copilot登录总失败?这7种情况你必须马上检查

第一章:Copilot登录失败的常见现象与影响 GitHub Copilot 作为广受欢迎的AI编程助手,在实际使用过程中,部分开发者频繁遭遇登录失败的问题。这一问题不仅影响编码效率,还可能导致开发流程中断,尤其在团队协作或紧急修复场景下尤为显著。 典型登录失败现象 * 输入凭据后提示“Authentication failed”但账号密码正确 * VS Code 中 Copilot 图标持续显示加载状态,无法完成初始化 * 浏览器重定向至 GitHub 授权页面时卡顿或返回空白页 * 终端输出错误日志:Copilot service is unreachable 对开发工作流的影响 影响维度具体表现编码效率失去代码补全与建议功能,手动编写耗时增加调试体验无法快速生成测试用例或错误解释团队协同新成员因无法启用 Copilot 导致上手速度下降 基础诊断命令 在 VS Code 终端中执行以下命令可获取当前认证状态: # 查看 Copilot 扩展日志 code --log debug # 检查已安装扩展及版本 code --list-extensions