一、SQL,SQL注入是什么 SQL是操作数据库数据的结构化查询语句,一般在网页的应用数据和后台数据库中的数据进行交互式采用SQL。 二、注入原理假设存在一条URL为:HTTP://www.wonton.com/test.php?id=1这时后台数据库的SQL语句可能是Select \* from table where id=1 如果我们在输入框中加一个/,SQL语句变成Select \* from table where id=1/ 不符合语法,返回错误 但如果我们输入and 1 = 1,SQL语句变成Select \* from table where id=1 and 1 = 1 这样逻辑永真,一定会返回正确。 三、注入过程1、判断是否有注入(1)URL/ 报错 2、判断服务器类型和数据库类型3、根据不同数据库类型进行SQL注入攻击一般步骤为查看数据库版本,查看数据库名称,查看表名,查看列名。 四、SQL注入分类1.* 数字型注入(输入参数是数字)后台的查询代码为select email from member where id=$id 变为select email from member where id=1 * 字符型注入(输入参数是字符) 后台的查询为 select email from member where id='$id' 变为select email from member where id='1' 2.按照数据库分类mysql注入;SQL server注入;Oracle注入;Access注入3.基于报错的SQL盲注;基于布尔SQL盲注;基于时间的SQL 盲注 |
|