我们知道一般搜索代码是这么写的: Select * from 表名 where 字段 like ’%关键字%’ 这样就造成了对关键字前后的所有匹配(%是用来全部匹配的) 这里如果关键字没有过滤的话,就可以这样来构造: 关键字=’ and [查询条件] and ‘%25’=’ 这样查询就变成 select * from 表名 where 字段 like '%' and 1=1 and '%'='%' 这样就很好的构成了一个sql注入点,当然用手工也可以,用nbsi也可以~~ 注入是不分家的,没必要什么型什么型的!~ 如果不信,大家请看下面的《sql注入天书》的原话 第一节、SQL注入的一般步骤 首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。 其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种: (A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: Select * from 表名 where 字段=49 注入的参数为ID=49 And [查询条件],即是生成语句: Select * from 表名 where 字段=49 And [查询条件]
(B) Class=连续剧 这类注入的参数是字符型,SQL语句原貌大致概如下: Select * from 表名 where 字段=’连续剧’ 注入的参数为Class=连续剧’ and [查询条件] and ‘’=’ ,即是生成语句: Select * from 表名 where 字段=’连续剧’ and [查询条件] and ‘’=’’ (C) 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致如下: Select * from 表名 where 字段like ’%关键字%’ 注入的参数为keyword=’ and [查询条件] and ‘%25’=’, 即是生成语句: Select * from 表名 where字段like ’%’ and [查询条件] and ‘%’=’%’