什么是sql注入?
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
危害
但凡使用数据库开发的应用系统,就可能存在SQL注入攻击的媒介。自1999年起,SQL注入漏洞就成了常见安全漏洞之一。至今SQL注入漏洞仍然在CVE列表中排前10。
2011年美国国土安全局,Mitre和SANA研究所将SQL注入作为第一危险的安全漏洞。至今,SQL注入仍然是首要的难以修复的安全威胁漏洞(数据库生产厂商难以通过维护数据库自身功能或提高数据库安全策略来防范SQL注入)。
2012年,Barclaycard的一个代表声称97%的数据泄露都是由SQL注入引起的。2011年年末和2012年年初,在不到一个月的时间里,超过百万的网页遭受到SQL注入攻击。2008年见证了由于SQL注入引起的经济失调。甚至在2010年秋季,联合国官方网站也遭受SQL注入攻击。
2014年一个叫“TeamDigi7al”的黑客组织攻击了美国海军的一个名为“Smart Web Move”的web应用。此次事件直接造成美国海军数据库超过22万服役人员的个人信息被泄露。而事后,美国海军动用了超过50万美元来弥补此次的数据泄密事故。在日本电话电报公司集团(NTT)发布的2014全球威胁情报的报告中提出了一个惊人的数字——“企业对一次小规模SQL注入攻击的平均善后开支,通常超过19.6万美元。”
随着Web安全事件的不断频发,我们不得不思考SQL注入攻击的代价。显然,SQL注入不是一个过期的安全问题,恰恰相反,它是一种非常容易被使用的攻击方式,SQL注入并不需要高深的攻击手段便可以轻易使敏感的数据库信息被非法浏览或删除。事实上,由于SQL注入攻击简单而又非常高效,高级黑客们已开始采用某些软件自动搜索web应用程序的SQL漏洞,并利用