先新建MYDB.MDF,表MyUser:

测试页面:

一、利用报错获取信息

操作:按姓名精确查询,在输入框输入:小卫' and 1=db_name()/0 and '1'='1
执行语句:select * from MyUser where UName='小卫' and 1=db_name()/0 and '1'='1
结果:得到数据库名“MYDB.MDF”

操作:按姓名精确查询,在输入框输入:小卫' and 1=(select top 1 name from sys.tables)/0 and '1'='1
执行语句:select * from MyUser where UName='小卫' and 1=(select top 1 name from sys.tables)/0 and '1'='1
结果:得到表名“MyUser”

修复建议:把接收参数的一个单引号变成两个单引号
执行语句:
select * from MyUser where UName='小卫'' and 1=db_name()/0 and ''1''=''1'
select * from MyUser where UName='小卫'' and 1=(select top 1 name from sys.tables)/0 and ''1''=''1'
结果:无报错信息

二、数字型注入
操作:按编号精确搜索,在输入框输入:2;delete from MyUser--
执行语句:select * from MyUser where UID=2;delete from MyUser--
结果:MyUser 表数据被删除
修复建议:过滤关键字 select、drop、delete 等

三、模糊查询

目的:搜索出姓名带“%”的客户
操作:按姓名模糊查询,在输入框输入:%
执行语句:select * from MyUser where UName like '%%%'
结果:全部的客户都被搜索出来了

修复建议:加中括号转义百分号:[%]
执行语句:select * from MyUser where UName like '%[%]%'
结果:只有姓名带“%”的客户被搜索出来

四、字符型注入

操作:按姓名模糊查询,在输入框输入:小程' or '1'='1
执行语句:select * from MyUser where '小程' or '1'='1'
结果:'1'='1 处可注入
修复建议:把接收参数的一个单引号变成两个单引号

五、order by 型注入
操作:排序规则选择“按年龄降序”,把 value="UAge DESC" 改为 value="UAge DESC,case when 1=1 then UID else UAge END"
执行语句:select * from MyUser order by UAge DESC;delete from MyUser
结果:1=1 处可注入
修复建议:采用数组映射的方式,如1代表按年龄降序,2代表按年龄升序

最新文章

  1. js学习进阶-页面覆盖
  2. BZOJ3209 花神的数论题
  3. 很好用的request转换为实体方法还有判断实体所有参数不能为空的方法
  4. 类似qq的左滑菜单栏简单实现
  5. js 原生对象排序
  6. 如何重启Activity
  7. POJ-3461 Oulipo(KMP,模式串在主串中出现次数)
  8. django models 建立好后,table也创建成功了,为什么网页后台不显示的问题
  9. Linux Kernel basics
  10. Oracle入门学习笔记
  11. Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable (转)
  12. 多普勒失真信号采样Matlab模拟分析
  13. 学习笔记--jQuery基础
  14. C语言 进程控制---创建进程fork()函数
  15. Bash的一些零星笔记
  16. 闪电侠 Netty 小册里的骚操作
  17. eclipse添加tomcat服务器
  18. 修改chrome浏览器默认css样式的方法
  19. vue 路由传参 params 与 query两种方式的区别
  20. Boosting 简单介绍

热门文章

  1. 关于一次同余方程的一类解法(exgcd,CRT,exCRT)
  2. ARTS打卡计划第五周
  3. C++入门经典-例7.1-对象之访问类成员
  4. ADS1.2与MDK4.7冲突问题的解决方法
  5. openerp学习笔记 tree视图增加复选处理按钮
  6. 阶段3 3.SpringMVC·_05.文件上传_1 文件上传之上传原理分析和搭建环境
  7. 点击其他区域关闭dialog
  8. postman提交数组格式方式
  9. Hibernate对象的状态分类
  10. 面试题:检测一个ip的真实性,如果真实,确定其是不是在某一范围内