type
status
date
slug
summary
tags
category
icon
password
判断流程
判断注入点
1.单引号法:直接在网址后面加一个单引号,如果页面不能正常显示,浏览器返回一些异常信息,则说明该链接可能存在sql注入漏洞
2.1=1和1=2:在网址后面的get传参中加上 and 1=1 ,显示正常,把1=1替换为1=2,显示异常,说明网页存在sql注入。
————————————————————————————————
数字型注入
输入 1 and 1 = 1
对于数字型注入点:
select * from tabname where id= 1 and 1 = 1,会有查询结果,输入1 and 1=2会显示异常
对于字符型注入点:
select * from tabname where id= ‘1 and 1 = 1’,不会有查询结果
对于搜索型注入点:
select * from tabname where id like ‘%1 and 1 = 1%’,不会有查询结果
此步骤可以检测数字型注入点。
字符型注入
————————————————————————————————
输入 1’ and ‘1’='1
对于字符型注入点:
select * from tabname where id= ‘1’ and ‘1’=‘1’,会有查询结果,输入1' and '1'='2会显示异常
对于搜索型注入点:
select * from tabname where id like ‘%1’ and ‘1’=‘1%’,不会有查询结果
此步骤可以检测字符型注入点。
排除掉数字型和字符型,剩下的可能就是搜索型注入点。
判断闭合符号
1、首先我们可以使用\(转义字符)来判断SQL注入的闭合方式。
原理,当闭合字符遇到转义字符时,会被转义,没有闭合符的语句不完整,就会报错,通过报错信息我们可以推断出闭合符。
分析报错信息:看\斜杠后面跟着的字符,是什么字符,它的闭合字符就是什么,若是没有,就为数字型。
2、
首先尝试:
?id=1’
?id=1”
结果一:如果都报错
判断闭合符为:整形闭合。
结果二:如果单引号报错,双引号不报错。
继续尝试
?id=1’ –-+
结果1:无报错
判断闭合符为:单引号闭合。
结果2:报错
判断闭合符可能为:单引号加括号。
结果三:如果单引号不报错,双引号报错。
继续尝试
?id=1" -–+
结果1:结果无报错
判断闭合符为:双引号闭合。
结果2:报错
判断闭合符可能为:双引号加括号。
注意:这里的括号不一定只有一个,闭合符里是允许多个括号组合成闭合符的,具体要判段有多少个括号,可以使用二分法来快速判断。
判断列数
order by 3
查询语句:select * from user where userid=1
构造为: select * from user where userid=1 order by 3 查看回显