MYSQL注入
SQL注入攻击与防护
1.实验
1.1实验目的:
(1)理解SQL注入攻击是如何利用不安全的数据库查询构造来访问或修改数据库的数据的:
(2)了解SQL注入对应用程序和数据库的潜在危害,包括数据泄露、破坏、篡改和服务拒绝等:
(3)掌握SQL注入攻击的常见类型和实例:
(4)学习如何设计和开发安全的应用程序,以防止SQL注入攻击:
1.2实验设备:
(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);
(2)软件:操作系统为Windows7,8,10,11,工具软件为IDEA.
1.3实验内容:
(1)熟悉JavaWeb的使用。
(2)Tomcat环境的搭建。。
(3)实现SQL注入,了解其原理
1.4实验要求:
(1)熟悉JavaWeb的使用
(2)掌握SQL注入的原理
(3)实现SQL注入
(4)格式规范,运行正确;
(5)认真书写实验报告,如实填写各项实验内容。
1.5实验步骤:
(1)启动IDEA;
(2)提前配置好Tomcat环境(网上资源);
(3)建Web项目;
(4)写代码;
(5)通过IDEA启动Tomcat;
(6)开始SQL注入
2.环境搭建
2.1代码环境
2.1.1Tomcat
提前安装好Tomcat,并在IDEA上可运JavaWeb项目,tomcat安装配置:Tomcat安装步骤及详细配置教程(2022最新版)_tomcat安装及配置教程_Java程序员-张凯的博客-CSDN博客,IDEA上配置Tomcat:IDEA部署Tomcat(超详细)_idea tomcat-CSDN博客
2.1.2创建maven项目
2.1.3导入依赖;
2.1.4导入jar包;
2.1.5编写代码
main下面建文件夹java;建好后,右键文件夹,将其设为源文件,颜色变为蓝色;再在其下建文件,如下第三图
2.1.6前端界面
webapp下建show.jsp用来登录成功显示的界面,index.jsp用来编写登陆界面
2.1.7DBUtil类
2.2数据库建立
2.2.1建立数据库、表
3.源码
3.1分析
Sql 注入攻击是通过将恶意的 Sql 查询(‘ or ‘1’=’1)或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。
将前端获取来的参数直接进行字符串的拼接,未作处理,存在将恶意的 Sql 查询或添加语句插入到应用的输入参数中;
预防一:后端预防
预防二:前端对数据处理完后,再往后端传数据,自行实现