慧眼识漏洞之【SQL注入漏洞】
风险管理很头痛?慧眼帮您识漏洞。
数据交互用SQL,注入语句来攻击。
欺骗执行非授权,拖库泄露和提权。
防护策略需启用,严格过滤和验证。
实时关注新动态,慧眼快速来排查。
SQL注入漏洞
SQL注入是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句结尾添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来欺骗数据库服务器执行非授权的任意查询,得到相应的数据信息,达到进一步渗透的目的。
SQL注入漏洞利用的安全事件
■ 雅虎贡献者网站曾被一伙名为“D33DS Company”的黑客攻击,导致453,491条email用户名和密码泄露。据了解,那次的攻击黑客所使用的就是SQL注入攻击。2年后,该网站再次曝出存在SQL注入漏洞。雅虎积极响应,不到一个月的时间便对该漏洞进行了修复,但在修复之后不久,雅虎便以知名度下降为理由关闭了贡献者网站。
■ 2014年,一个叫“Team Digi7al”的黑客组织被关闭,原因是他们的一名成员攻击了美国海军的web应用“Smart Web Move”。此次攻击造成美国海军数据库超过22万服役人员的个人信息被泄露。在ArsTechnica(美国知名科技博客媒体)的一篇文章中提到,美国海军花费了超过50万美元来处理这一次的数据泄露事故。
■ 造成数据库里的用户信息泄漏;
■ 获取后台管理员账号和密码,达到进一步渗透的目的;
■ 一些mysql运行权限过高,可以直接提权成功;
■ 造成整个数据库被“拖库”
......
以sqlmap工具注入漏洞利用为例
使用工具利用
1、sql注入漏洞已有成熟的利用和验证工具。
sqlmap是常用的执行SQL注入的工具,可用来获取SQL注入点信息、获取和更改数据库数据。
1、漏洞原理
Sql注入需要目标网站存在用户可以控制的输入,即注入点。针对该注入点,攻击者采取各种命令尝试,最终把sql 命令插入到web 表单提交、输入域名或页面请求中的查询字符串,达到欺骗服务器执行恶意sql 命令的目的。
如该网站,点击详情页发现可控制输入点。
2、尝试注入
攻击者利用工具对该网站进行自动化注入,启动sqlmap 工具,利用sqlmap 的-u 参数进行自动化注入,输入当前注入点的url。
从sqlmap 返回的结果看到,sqlmap 识别出Product_ID参数可以被注入,目标站点使用的数据库类型是Access。
由于Access 数据库权限较低,攻击者无法直接查询系统数据库,因此使用sqlmap 中的--tables参数猜测当前数据库存在的表名。
攻击者发现存在admin 表,接着使用sqlmap 中的--dump 参数下载users 表的所有内容,也就是拖库。
至此,攻击者获得了目标网站的数据库表:admin,管理员用户名:admin,密码:asdadfrg!@#()。
迪普科技解决方案
■ 使用“慧眼安全检测平台”检测现网环境中是否存在SQL注入漏洞。
■ 使用“安全风险管控平台”对SQL注入漏洞进行持续监测和闭环管理。
■ 使用“安全威胁感知大数据平台”可对SQL注入攻击进行监测。
■ 使用安全防护设备DPtech IPS2000、WAF3000可对SQL注入攻击进行有效防护。
滑动查看更多图片
SQL注入漏洞修复建议
■ 通过安全防护设备启用防护策略
■ 使用专业的漏洞扫描工具,寻找可能被SQL注入攻击的点
■ 严格区分普通用户与系统管理员用户的权限
■ 加强对用户输入的验证
■ 使用SQL Server数据库自带的安全参数
■ 对输入进行严格的转义和过滤
■ 强迫使用参数化语句