1.SQL注入

原理:正常的数据操作,插入恶意数据,变为代码执行

1.1数字型注入

特点:参数类型为数字

闭合方式:单引号 ‘ 闭合,或者使用and、or等方式闭合

例子:pikachu数字型注入

正常查询抓取数据包

对参数id进行注入探测,后接单引号测试

发现sql报错语句,发现注入点

(到此结束,案例都只介绍如何发现注入点)

1.2字符型注入

特点:参数类型为字符

闭合方式:双引号 “ 闭合,或者使用and、or等方式闭合

同样以pikachu字符型注入举例

发现sql报错语句

1.3盲注

特点:不会返回语句相关信息,可通过语句是否正确执行判断是否存在sql注入

常见判断方式:布尔盲注,时间盲注

1.3.1布尔盲注

特点:通过页面返回的不同状态判断语句是否被执行

以pikachu靶场为例

正常查询抓取数据包后,尝试单引号闭合

查询成功

去除注释符时,提示username不存在,说明存在盲注

1.3.2时间盲注

特点:通过页面加载时间判断是否存在sql注入

同样以pikachu为例

无论输入如何,返回相同页面

尝试时间盲注

先任意查询,观察响应时间

尝试单引号闭合,并利用sleep函数5s后再返回