新手必看:用Juice-Shop靶场(v17.1.1)复现18个Web漏洞的完整实战笔记

张开发
2026/4/18 7:34:21 15 分钟阅读

分享文章

新手必看:用Juice-Shop靶场(v17.1.1)复现18个Web漏洞的完整实战笔记
Juice-Shop靶场实战从零复现18种Web漏洞的深度指南如果你刚踏入Web安全领域面对各种漏洞概念却不知如何动手实践Juice-Shop靶场会是绝佳的起点。这个故意设计漏洞的电商平台涵盖了从SQL注入到XSS的完整攻击场景。本文将带你用Chrome开发者工具和基础命令行在Windows 10上完成18类漏洞的实战复现。1. 环境搭建与基础配置在开始漏洞挖掘前需要准备以下环境Windows 10操作系统Node.js v22.14.0Chrome浏览器最新版安装步骤# 下载Juice-Shop v17.1.1 git clone https://github.com/juice-shop/juice-shop.git --branch v17.1.1 cd juice-shop # 安装依赖并启动 npm install npm start启动后访问localhost:3000你会看到一个看似正常的电商网站。但仔细观察就会发现处处暗藏玄机。建议立即打开Chrome开发者工具F12我们后续的很多操作都需要借助它。注意如果遇到端口冲突可通过修改config/default.yml中的server.port配置项调整端口号2. 认证类漏洞实战2.1 SQL注入登录管理员账户在登录页面尝试以下payload基础探测邮箱输入密码任意观察错误信息布尔注入邮箱输入 or 11 --密码任意精确注入邮箱输入adminjuice-sh.op --密码留空-- 原始SQL可能类似 SELECT * FROM Users WHERE email[输入] AND password[输入] -- 注入后变为 SELECT * FROM Users WHERE emailadminjuice-sh.op -- AND password2.2 JWT令牌破解登录后查看网络请求的Authorization头提取JWT令牌。使用jwt.io解码发现密码哈希为0192023a7bbd73250516f069df18b500通过MD5解密得到明文密码admin123。3. 访问控制漏洞挖掘3.1 垂直越权通过前端源码搜索关键词admin发现管理后台路径为/administration。直接访问会提示权限不足但使用之前获取的管理员凭证即可进入。3.2 水平越权普通用户操作时修改请求中的用户ID参数购物车ID替换为他人ID反馈信息中的UserId篡改为其他用户// 示例篡改的fetch请求 fetch(/api/BasketItems, { method: POST, body: JSON.stringify({ ProductId: 1, BasketId: 2, // 修改为他人购物车ID quantity: 1 }) });4. 输入验证漏洞利用4.1 前端验证绕过发现注册页面的提交按钮有disabled属性时右键检查元素删除disabledtrue属性提交空密码注册4.2 业务逻辑漏洞商品数量修改处拦截请求修改参数POST /api/BasketItems HTTP/1.1 Content-Type: application/json {ProductId:1,quantity:-100} # 传入负数5. 敏感信息泄露利用5.1 目录遍历尝试访问以下路径/ftp目录列出服务器文件/assets查看静态资源/robots.txt发现隐藏路径5.2 00截断绕过下载受限文件时使用null字节绕过/ftp/package.json.bak%2500.md原理%00在URL解码后成为null字符使服务器提前终止文件名检测6. XSS攻击实战6.1 DOM型XSS在搜索框输入iframe srcjavascript:alert(document.cookie)6.2 存储型XSS在商品评价处注入scriptfetch(/log?cookiedocument.cookie)/script7. 社会工程学技巧7.1 密码重置破解在照片墙找到目标用户如johnjuice-sh.op下载图片查看EXIF元数据提取地理位置信息作为安全问题答案7.2 优惠券暴力破解在优惠码输入框连续尝试NEWYEAR2025 BLACKFRIDAY8. 漏洞防御方案针对发现的每个漏洞都应采取相应防护措施漏洞类型防御方案具体实施SQL注入参数化查询使用PreparedStatementXSS输入过滤部署DOMPurify库越权权限校验每个API调用验证session信息泄露目录限制配置nginx禁止目录遍历实际开发中建议采用以下安全措施使用ORM框架避免手写SQL实施CSP内容安全策略定期进行安全审计对所有用户输入进行严格验证在Juice-Shop的实战过程中最深的体会是现代Web应用的安全防护需要纵深防御体系。单纯依靠前端验证或简单后端检查都容易被绕过。真正安全的系统应该在每一层都建立防护机制同时保持对异常行为的监控和日志记录。

更多文章