1.什么是SQL注入 SQL注入是比较常见的网络攻击方式之一,这种攻击方式并不是利用操作系统的BUG来实现攻击,而是针对在编写代码时的疏忽,通过SQL语句,实现无账号密码登录,甚至篡改数据库数据的目的。 SQL注入攻击是通过将恶意的SQL修改或添加语句插入到应用的输入参数中,再在后台数据库服务器上通过解析SQL语句执行进行的攻击,它是目前黑客对数据库进行攻击的最常用手段之一。 2.SQL注入产生原因及威胁 当用户访问动态网页时, Web 服务器会向数据访问层/数据库服务器发起SQL查询请求,如果能通过权限验证就会执行SQL语句。这种网站内部直接发送的SQL请求一般不会有危险,但是很多时候需要结合用户在页面上的输入的实时数据动态构造SQL语句,如果用户输入的数据被构造成恶意SQL代码,而Web应用又未对动态构造的SQL语句使用的参数进行安全性审查,则会带来意想不到的危险。 SQL注入带来的威胁主要有如下几点: 1)猜解后台数据库,这是被利用的最多的方式,来盗取网站的敏感信息; 2)绕过认证,列如绕过验证登录网站后台等; 3)通过SQL注入可以借助数据库的存储过程进行提权等操作。 3. SQL注入漏洞对于数据安全的影响 1)数据库信息泄漏:数据库中存放的用户的隐私信息被泄露; 2)网页篡改:通过操作数据库对特定网页内容进行篡改; 3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入木马病毒链接,进行挂马攻击; 4)数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。 |