1、 什么是SQL注入漏洞
SQL注入是指应用程序直接将用户输入的内容拼接到SQL语句中。由于用户输入的内容也是SQL中的一部分,攻击者可以注入自己定义的语句该院原SQL的逻辑。通过控制SQL语句,达到提权(获取数据库服务器系统权限)或拖库(查询数据库中任何数据)的目的。
2、 SQL注入的类型
布尔型注入:盲注的一种,指的是利⽤SQL语句“逻辑与(and)”操作,判断and两边的条件是否成⽴,SQL语句带⼊输⼊查询后判断返回内容(通常返回值仅有⾮空和空两种状态),类似布尔型的true和false的两种状态。
报错型注入:没有正常的输出位,利用数据库的某些函数,在执行SQL时产生错误并输出显示。
联合查询注入:通过联合查询合并多个结果集,获取需要的数据。
多语句查询注入:利用多语句查询函数,一次性执行多条语句。
基于时间延时注入:盲注的⼀种。通过构造延时注⼊语句后,浏览器页⾯的响应时间来判断正确的数据。
3、 SQL注入的危害
在特定的条件下,攻击者可以查询数据库中任何数据,同时可以获取数据库服务器系统权限,甚至基于数据库服务器作为跳板进入内网。
4、 SQL注入漏洞防守方法
在了解了常见的注入类型及手段之后,需要针对不同的应用程序及场景进行漏洞防护。防护本质:预编译用户输入数据组成的SQL&#x