BadeaGeorgeCatalinB13/sql-injection-demo

GitHub: BadeaGeorgeCatalinB13/sql-injection-demo

一个故意存在 SQL 注入漏洞的 Spring Boot 靶场应用,帮助学习者在安全环境中练习 SQL 注入的检测与利用。

Stars: 0 | Forks: 0

# SQL 注入演示 ## 演示内容 一个小型 Spring Boot Web 应用程序,其登录流程基于原始、未经处理的 SQL 查询构建,因此很容易受到经典 SQL 注入 payload(例如在用户名字段中输入 `admin' --` 或 `' OR '1'='1' --`)的攻击。它旨在作为一个实践目标,帮助大家学习 SQL 注入的原理以及如何通过拦截代理来检测它。 ## 环境要求 - Java 17+ - Maven(或自带的 `./mvnw` 包装器) - PostgreSQL ## 设置说明 1. 启动一个本地 PostgreSQL 实例,并创建一个临时数据库。 2. 通过环境变量配置连接(默认配置位于 `src/main/resources/application.properties` 中): spring.datasource.url=jdbc:postgresql://localhost:5432/postgres spring.datasource.username=postgres spring.datasource.password=${DB_PASSWORD:changeme} 将 `DB_PASSWORD` 设置为您的本地数据库密码,例如: export DB_PASSWORD=your_local_password 3. 构建并运行: ./mvnw spring-boot:run 4. 应用程序将在 `http://localhost:8081` 上启动。 ## 使用说明 - 打开登录页面,并在用户名/密码字段中尝试输入 SQL 注入 payload(例如 `admin' --`、`' OR '1'='1' --`)。 - 要检查和修改请求,请将 Burp Suite 或 Postman 配置为 HTTP 代理(通常为 `127.0.0.1:8080`),并让您的浏览器/客户端流量通过该代理。 - 成功的注入通常可以绕过身份验证,或者在响应中泄露数据库内容。 请勿对未经授权测试的系统发起攻击。
标签:CISA项目, JS文件枚举, Spring Boot, Web安全, 域名枚举, 安全培训, 测试用例, 漏洞靶场, 蓝队分析, 防御检测