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)。
时间注入攻击是一种简单但高效的技术,可以帮助攻击者实现植入和信息搜集,但如果我们能采取有效的措施,将可以有效地防御这类攻击,抵抗攻击者的攻击行动,也能够有效地减少此类攻击的产生率。
本文来源:https://www.yuntue.com/post/98957.html | 云服务器网,转载请注明出处!

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