SQL 注入实践

289 阅读1分钟

SQL 注入实践

目标:

  1. 使用 netty 实现一个 Http Server。
  2. 使用 jdbc 连接数据库,构造易受攻击的 SQL 语句。
  3. 使用预编译语句防范 SQL 注入及实践问题总结。
  4. 效果展示

项目地址:github.com/AchillesCap…

1. 使用 netty 实现一个 Http Server

netty 官网:netty.io/

代码参考网址:使用Netty实现HTTP服务器

开发工具:idea

项目类型:Maven

2. 使用 jdbc 连接数据库,构造易受攻击的 SQL 语句

数据库类型:MySQL

代码参考网址:Java MySQL 连接

数据库管理工具:navicat

3. 使用预编译语句防范 SQL 注入及实践问题总结。

Untitled.png

  解决方法:
import static io.netty.handler.codec.http.HttpUtil.is100ContinueExpected;

【Java】静态导入import static

  • IntelliJ IDEA 编译报错:Error:java: Compilation failed: internal java compiler error

    解决办法:为项目选择合适的 jdk 版本

  • jdbc中,字符串拼接的问题

    String 类型作为 字段值 拼接查询时,应加上引号,否则 jdbc 会抛出异常

  • URL 转义的问题

    本次是通过 url 传入参数的,所以空格会转义成 %20,对用户的输入进行转义也是防止 SQL 注入的一种方式