SQL注入漏洞
什么是SQL注入漏洞?
注入攻击在OWASP TOP10蝉联了2013、2017两年的榜首,足以看出注入攻击在信息安全行业的地位
注入攻击的两大关键的条件:
(1)、用户可以控制输入;
(2)、原本要执行的代码拼接了用户输入的数据。
一、SQL注入
1、常见SQL注入
以下为一个典型的sql注入的例子
var shipCity;
shipCity = Request.form("shipCity");
var sql = "select * from city where shipCity = '" + shipCity + "'";
变量shipCity的值由用户提交,例如用户输入“Beijing”,则SQL会执行:
select * from city where shipCity = 'Beijing'
但如果用户输入Beijing’; drop table city --
那么SQL语句将执行:
select * from city where shipCity = 'Beijing'; drop table city --'
通过这个例子可以看出,查完数据后,有执行了一个drop表的操作,而这个操作,是用户构造恶意数据的结果,这也就是存在SQL注入。
2、错误回显导致SQL注入
在SQL注入的过程中,如果