MSSQL时间注入函数:抵御被利用的防御方法(mssql时间注入函数)

MSSQL时间注入攻击的病毒或恶意程序被许多受害者使用来绕过安全性控制,从而实现数据库植入、数据库探测和注入攻击。时间注入就是利用SQL查询的’–’、 ‘#’或’/*’的特殊字符,输入以下内容以跳过一些安全检查,实现植入和控制:

/*

IF 开始注入

函数(参数 )

表达式

执行SQL

ENDIF

*/

比如应用程序收到了 SQL注入攻击,代码如下:

SELECT * FROM table WHERE credentials = ‘user input’

这时,攻击者就会输入如下内容:

‘ OR SLEEP(10) —

SLEEP函数可以控制数据库查询执行时间,当它附加到注入攻击时,SQL语句将会在服务器上等待指定的时间,这就允许攻击者在攻击者最终控制数据库的时候,有足够的时间来进行攻击。

为了防止遭受攻击,我们可以采用一些措施来减少MSSQL时间注入攻击的成功率:

1、不要使用动态构建SQL查询。应该将可能引发SQL注入攻击的用户输入参数替换为Parameterized Query。

2、过滤用户数据,删除无效的字符串,如引号,双引号,百分号等符号,以防止攻击的发生。

3、在服务器层实施路径限制,这样就可以确保只允许SQL语句以白名单或黑名单方式发出请求来实现基于策略的受控访问。

4、实施日志记录政策,在服务器上定期检查所有登录,异常活动,数据库操作等活动,以发现可疑的攻击活动并了解攻击模式。

5、使用可用机制来检测SQL注入攻击,例如正则表达式或Web应用程序防火墙(WAF)。

时间注入攻击是一种简单但高效的技术,可以帮助攻击者实现植入和信息收集,但如果我们能采取有效的措施,将可以有效地防御这种攻击,抵御攻击者的攻击行动,也可以有效地减少此类攻击的发生率。


数据运维技术 » MSSQL时间注入函数:抵御被利用的防御方法(mssql时间注入函数)