SQL注入的类型分为字符型和数字型,以sqli-labs靶场1、2关为例:
文章目录
- 第一关
- 第二关
- 无错误回显的判断
第一关
第一关注入一个1’,错误回显出下面内容,其中1’是注入的内容,0,1后面的单引号和最前面的单引号是一对,剩下的两个单引号是一对,错误回显出上面内容说明是字符型注入。
''1'' LIMIT 0,1'
第二关
第二关注入一个1’,错误回显出下面内容,没有回显出注入的1’说明该注入类型是数字型:
无错误回显的判断
如果注入时没有错误信息回显,那么上面的方法就不能用了,这时候可以注入算式来判断,依然以一二关为例:
第一关
注入一个id=1正常回显:
注入一个id=2-1回显内容改变,说明这关的后端代码将2-1当做字符串处理,才改变了回显内容,证明该关类型为字符型注入。
第二关
注入一个id=1正常回显:
注入一个id=2-1回显内容依然相同,说明这关的后端代码将2-1先进行算术运算后才接收,所以回显内容无变化,证明该关类型为数字型注入。