千锋教育-做有情怀、有良心、有品质的职业教育机构
众所周知,网站中存储着很多用户的私人信息,如果这些信息被攻击、窃取,无论是对企业还是对个人,都将造成不可挽回的后果,常见的攻击方式有很多,如SQL注入、XSS攻击、CSRF攻击等等,本篇为大家讲解如何有效防止网站被SQL攻击,请看下文:
1、寻找、确认SQL盲注
无效数据将返回通用错误页面而非详细错误,这时可通过包含副作用(比如时间延迟)来确认SQL注入,还可以拆分与平衡参数。
如果数字字段为5,就提交3+2或6-1;如果字符串参数中包含“MadBod”,就提交'Mad'l'Bod'。
2、使用基于时间的技术
SLEEPO类型函数或运行时间很长的查询来引入延迟。.可使用逐位方法或二分搜索方法提取数据并利用延迟装示数据的值,可使用明确的,通常在SQLServer和Oracle上采用以时间作为推断的方法,不过这在MySQL上不大可靠,该机制很可能会失效。.使用时间作为推断方法在本质上是不可靠的,但却可以通过增加超时或借助其他技巧来进行改进。
3、使用基于相应的技术
可使用逐位方法或二分搜索方法提取数据并利用响应内容表示数据的值。一般来说,现有查询中都包含一条插入子句,它能够根据推断的值来保持查询不变或返回空结果,基于响应的技术可成功用于多种多样的数据库。某些情况下,一个请求可返回多个信息位。
4、使用非主流通道
带外通信的优点是:可以以块而非位的方式来提取数据,并且在速度上有明显改进。最常用的通道是DNS.攻击者说服数据库执行一次名称查找,该查找包含一个由攻击者控制的域名并在域名前添加了一些要提取的数据。当请求到达DNS名称服务器后,攻击者就可以查看数据。其他通道还包括HTTP和SMTP。不同数据库支持不同的非主流通道,支持非主流通道的工具的数量明显要比支持推断技术的少。
5、自动利用SQL盲注
BSQLHacker是另一款图形化工具,它使用基于时间及响应的推断技术和标准错误来从所提问的数据库中提取数据。虽然它仍处于测试阶段,不是很稳定,但该工具前景很好且提供了很多欺诈机会。
SQLBrute是一款命令行工具,它针对希望使用基于时间或响应的推断来利用某个固定漏洞的用户。Sqlmap将漏洞的发现和利用结合在一款强大的工具中,它既支持基于时间的推断方法,也支持基于响应的推断方法,另外还支持ICMP通道方法。该工具的成长速度很快,开发也很活跃。
上一篇
js调用shell脚本相关推荐