四、如何进行SQL注入攻击?
1、数字注入(在整个SQL语句中含有数字的)
三、如何寻找SQL注入漏洞?
1、借助逻辑推理
识别web应用中所有输入点
2、了解哪些类型的请求会触发异常
输入内容含特殊字符(单引号/双引号)
3、检测服务器响应内容
二、SQL注入是怎么产生的?
1、WEB开发人员无法保证所有的输入都已经过滤
2、攻击者利用发送给SQL服务器的输入数据构造可执行的SQL代码
3、数据库未做相应的安全配置
一、如何理解SQL注入?
SQL注入是一种将SQL代码添加到输入参数中,传递到SQL服务器解析并执行的一种攻击手法
字符串注入,用MySql数据库的注释注入
如
#
--空格
SQL注入是怎么产生的
什么是SQL注入
防止注入的方式:
参数校验
addslashes();
mysqli_real_escape_string();
mysqli/pdo 预编译参数绑定
sqlmap检测工具
SQL注入的方式:
1、数字注入 (id=-1 or 1=1)
2、字符串注入 (textuser'#) # sql注释符 或 (textuser'-- ) 两横一空格
sql数字注入
1111111
sql注入是怎么样产生的
sql注入攻击是输入的参数未经过滤然后直接拼接到sql语句当中解析执行达到意想之外的行为
。
重点 预编译
预防注入:
课程的具体介绍:
编译的sql
id=? -1 or 1=1
name='?' and password='?' 有效用户名'# 或 有效用户名'-- 密码随便输1个
SQL注入
mysqli预编译机制
mysqli_real_escape_string($db, $user_name)
addslashes()
关于数字注入 -1 or 1=1 预防这种注入方式的方法是
is_number()
sql注入方式二
1.通过# 把sql语句后面的条件注释掉
james'#
select * from t_user where userName = 'james'#' and password = 'xxxxxx'
2.通过 -- sdd把后面的条件注释掉
james'-- 空格
select * from t_user where userName = 'james'-- ' and password = 'xxxxxx'
sql注入的方式
数字注入
select * from 表名 where id = -1 or 1=1 会导致表中所有的数据都被查出来。