- 0
- 0
- 约5.83千字
- 约 20页
- 2026-02-06 发布于北京
- 举报
SQL注入
什么是SQL注入:通过在表单中或者是url中提交一些特殊的字符串,然后提交给
,拼凑成一个完整的可以执行的sql语句,从而达到目的。
1.POST
实验原理
通过表单提交的数据过过滤,直接使用,造成sql语句改变其原意,从而产生sql
注入。所有有表单提交的地方都会有。以用户登录为例来说明,可以使用万能和万能用
户名来实现。
实验环境
a.安装Xampp、Wamp、PhpStudy等任意一款PHP集成环境;
b.把sql项目文件移动到站点根目录下;
c.将sql文件通过navicat、PhpMyAdmin等任意一款数据库管理工具导入MySQL数据库;
实验步骤
展现
a.万能用户名:用户名输入xxxor1#,输入任意字符,就可以成功进入;
b.万能:用户名输入任意字符,输入xxxor1,就可以成功进入;
以上步骤皆可绕过用户名、成功进入,首页界面显示如下:
前端代码:
后端代码:
防护方法
处理方式:转义用户输入;有两种实现方式:
a.使用php中的addslashes函数,站在php的角度(本次选择此方式防止);
b.使用php中的mysql扩展函数mysql_real_escape_string来转义,站在mysql的角度;
防护步骤
1.安装Xampp、Wamp、PhpStudy等任意一款PHP集成环境(集成环境已安装,此步可省略);
2.把sql_no项目文件移动到站点根目录下;
3.将sql文件通过navicat、PhpMyAdmin等任意一款数据库管理工具导入MySQL数据库(数
据库已导入,此步可省略)。
防护代码
前端代码:
后端代码:
防护效果
a.万能用户名(例:xxxor1#);
b.万能(例:xxxor1);
以上方式均不能绕过用户名和进入;
2.Get
实验原理
通过url地址传递的参数过过滤,直接使用,造成sql语句改变其原意,从而产生
sql注入。
展示
a.在浏览器地址栏输入IP:端/文件/index.php/Home/Index/index.html?id=8or1
就可以查看所有的记录,(例:
or1)
b.打开浏览器,在地址栏输入IP:端/文件/index.php/Home/Index/index.html?id=8
unionselect1,2,version(),4,user(),6,7,8,9,database(),11,12,13,14,15,16,17,18,
19,20,21就可以查看到数据库版本、数据库用户名、数据库名称等信息。(例:
unionselect
1,2,version(),4,user(),6,7,8,9,database(),11,12,13,14,15,16,17,18,19,20,21)
前端代码:
后端代码:
安全防护
id=8or1,其中8or1是一个字符串,不是整型,可以将其转成整型;在php中将一个
字符串转成整型有很多种种方式,列举常见两种:
a.强制转换,面类型名强转,php有一个函数intval()(本次选择此方式防止)。
b.隐式转换,让其参与运算,+0即可。
防护步骤
前端代码:
后端代码:
防护效果
a.查看所有的记录(例:
or1)
b.爆出数据库版本,用户名,数据库名(例:
您可能关注的文档
最近下载
- 上海外国语大学附中2024届高考仿真卷英语试卷含解析.doc VIP
- 变压器检测标准与选型.docx VIP
- (完整版)儿童孤独症评定量表(CARS).pdf VIP
- DB51T 3206-2024 三氧化二钒和五氧化二钒单位产品能源消耗限额.pdf VIP
- (2025)重点项目智慧路灯建设项目可行性研究报告申请立项备案可修改案例.docx
- T SZNB 006—2024 水果分级标准 蓝莓.pdf VIP
- 《跨文化交际》PPT第二章 文化与交际.pptx VIP
- 《跨文化交际》第八章 跨文化交际的心理与态度 PPT课件.pptx VIP
- 2026年车间组长管理未来工作计划.docx
- 数学二年级寒假作业每日一练(共30天).docx VIP
原创力文档

文档评论(0)