这个黑客试图做什么?

时间:2010-05-28 14:45:41

标签: sql-server windows security sql-injection

如果您搜索:

http://www.google.co.uk/search?q=0x57414954464F522044454C4159202730303A30303A313527&hl=en&start=30&sa=N

你会看到许多尝试黑客行为的例子:

1) declare @q varchar(8000) select @q = 0x57414954464F522044454C4159202730303A30303A313527 exec(@q) --

它到底想要做什么?它正在尝试使用哪个数据库? 你知道有关于此的任何建议吗?

5 个答案:

答案 0 :(得分:70)

他正在测试您的服务器上的SQL注入,特别是这是一个强大的测试,即使它的Blind SQL Injection也能正常工作。盲SQL注入是指攻击者能够执行SQL但是没有可见的响应。如果http请求至少需要15秒,攻击者就会知道他可以执行SQL,并且知道你正在运行的MS-SQL。在此次攻击之后,他将使用xp_cmpdshell()跟进它以感染您的服务器。

答案 1 :(得分:21)

根据http://bytes.com/topic/mysql/answers/888849-hacker-attempt,它似乎正在尝试运行:

WAITFOR DELAY '00:00:15'

正如其他人已经指出的那样,它不是DOS攻击(正如我最初所说的那样),而只是一种轻松确定SQL Server是否容易受到攻击的方法,并且可以添加到主机列表中,以便稍后可能进一步破解。

答案 2 :(得分:6)

简单来说,他/她/它非常光滑。使用“WAITFOR DELAY ...”策略允许他/她/它查看服务器是否易受攻击而不记录任何内容。正在进行检查以查看connectionstring用户在db中的访问权限。就像@Rook所说,它会导致XP_CMDSHELL(),它可以让入侵者访问服务器甚至你的网络。

答案 3 :(得分:5)

这是一个十六进制字符串。翻译时,它会转换为:“WAITFOR DELAY '00:00:15'”

答案 4 :(得分:1)

WAITFOR可用于基于时间的SQL注入攻击。

  

Time-Based Blind SQL Injection Attacks

     

在没有其他方法可从数据库服务器检索信息时,通常使用基于时间的技术来完成测试。这种攻击会注入一个包含特定DBMS功能或会产生时间延迟的繁重查询的SQL段。根据获取服务器响应所花费的时间,可以推断出一些信息。您可以猜到,这种类型的推理方法对盲和深盲SQL注入攻击特别有用。

     

基于时间的攻击的利与弊

     

该技术的主要优势是对日志几乎没有影响,甚至与基于错误的攻击相比,都没有影响。但是,在查询量大或CPU密集型功能(例如MySQL的BENCHMARK( )必须使用,系统管理员很有可能意识到发生了什么事。


幸运的是,此漏洞可以通过新的SQL Server 2019 / SQL Azure数据库功能缓解:

  

Feature Restrictions

     

SQL Server攻击的一种常见来源是通过访问数据库的Web应用程序,其中使用各种形式的SQL注入攻击来收集有关数据库的信息。理想情况下,应开发应用程序代码,使其不允许进行SQL注入。但是,在包含遗留代码和外部代码的大型代码库中,永远无法确定是否已解决所有情况,因此SQL注入是我们必须避免的现实。功能限制的目的是即使SQL注入成功,也可以防止某些形式的SQL注入泄漏有关数据库的信息。

EXEC sp_add_feature_restriction <feature>, <object_class>, <object_name>
     

WAITFOR功能限制

     

“盲SQL注入”是指应用程序未向攻击者提供注入的SQL的结果或错误消息,但攻击者可以通过构造条件查询来从数据库中推断信息,其中两个条件分支将执行时间不同。通过比较响应时间,攻击者可以知道执行了哪个分支,从而了解有关系统的信息。这种攻击最简单的变种是使用WAITFOR语句引入延迟。

EXEC sp_add_feature_restriction N'Waitfor', N'User', N'MyUserName'