一个刻意包含多种 Web 安全漏洞的 Java 企业应用,用于安全测试、代码审计和攻防演练。
cd smart-hr
mvn spring-boot:run- SmartHR 系统: http://localhost:8080
- 攻击演示站点: http://localhost:9090
- H2 控制台: http://localhost:8080/h2-console
| 用户名 | 角色 | 密码 |
|---|---|---|
| admin | ADMIN | password123 |
| zhangsan | EMPLOYEE | password123 |
| lisi | EMPLOYEE | password123 |
| wangwu | MANAGER | password123 |
| zhaoliu | MANAGER | password123 |
| sunqi | HR | password123 |
| zhouba | FINANCE | password123 |
| attacker | EMPLOYEE | password123 |
- CSRF-01 ~ CSRF-08: 无防护 / Token可省略 / 全局Token池 / GET改状态 / Referer绕过 / DoubleSubmit未签名 / Login CSRF / Content-Type绕过
- BL-01 ~ BL-06: 审批绕过 / TOCTOU / 竞态 / 自审批 / 重放 / Mass Assignment
- AUTHZ-01 ~ AUTHZ-04: 未授权访问 / 水平越权 / 垂直越权 / 路径绕过
- 默认凭证 / Actuator暴露 / 敏感字段泄漏 / 异常堆栈泄漏
src/main/java/com/smarthr/
├── controller/ # 漏洞版 Controller(7 个)
├── fix/ # 修复方案(8 个文件)
├── service/ # 业务逻辑层
├── model/ # JPA Entity
├── dto/ # DTO(含敏感字段)
├── repository/ # JPA Repository
├── config/ # Spring Security(CSRF 关闭)
└── util/ # CSRF 工具类
attack-poc/ # 独立攻击演示页面(13 个)
wp.md # 详细漏洞利用手册
mvn test