MSSQL注入攻击是一种经过精心设计的攻击手段,有助于攻击者访问服务器上的数据,或给服务器上的数据库造成永久性破坏。这是由于攻击者利用系统存在的漏洞来输入非法的SQL指令实现的,而大多数数据库都使用MSSQL,因此MSSQL注入攻击极具危险性。因此,系统开发者要针对MSSQL注入攻击采取预防措施,将系统上的数据库保护起来。
一种有效的方法是从数据库本身进行攻击预防,可以针对危险的MSSQL语句进行拦截,并给出适当的毛病信息以提供提示,这是可行的攻击防护手段之一。例如,可使用正则表达式来过滤所有危险的MSSQL语句,以下:
<%
Dim Pattern
Pattern = “^(?:SELECT|INSERT|DELETE|UPDATE|MERGE|UNION).*$”
%>
另外一种方法是使用带有参数的查询,通过在查询中使用参数替换用户输入值,可以有效地限制攻击者对数据库的访问,从而起到保护作用。例如使用JavaScript一下代码:
<%
var filter = “-LMIE”;
var sqlQuery = ‘SELECT * FROM table WHERE field = ?’+ filter;
connection.query(sqlQuery, [userInput], function(err, rows) {
// do something
});
%>
还有一种针对MSSQL注入攻击的解决方案就是使用Web利用程序防火墙。它可以拦截传入的http要求,并在攻击者试图将其转换为危险的MSSQL查询语句时予以禁止,从而使系统可以避免受攻击者的攻击。这些利用程序防火墙有时也称为WAF,它们可以帮助我们确保系统免受MSSQL注入攻击。
因而可知,我们可以采取多种方式来保护系统免受MSSQL注入攻击,包括从数据库本身进行防范,使用带参数的查询,和使用利用程序防火墙等。只要我们对系统存在的潜伏安全漏洞加以充分防范,就能够有效地绕过MSSQL注入保护,保护系统安全。
本文来源:https://www.yuntue.com/post/119238.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏