360鹰眼-更智能的Web安全监控系统

产品描述:

下一代web漏洞扫描器,她是一款硬件,包含:最全面的"爬出"引擎,不再需要收集资产清单,不再需要指定扫描时间,同步发现新上线业务漏洞

适用对象:

企业

价格服务:

目录价19.8万起
我了解,我要试用
高危高危

SQL注入漏洞(盲注)

WASC Threat Classification

发现时间:

漏洞类型:

SQL注入

所属建站程序:

其他

所属服务器类型:

通用

所属编程语言:

其他

描述:

目标存在SQL注入漏洞。SQL注入漏洞是目前互联网最常见也是影响非常广泛的漏洞。由于编写代码时没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,就可以欺骗数据库服务器执行非授权的任意查询。

危害:

攻击者利用该漏洞可能导致

1.网页被篡改

2.数据被篡改

3. 核心数据被窃取

4. 数据库所在服务器被攻击变成傀儡主机

解决方案:

若干问题的补救方法在于对用户输入进行清理。 通过验证用户输入未包含危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的 Javascript 代码、运行各种操作系统命令,等等。 建议过滤出所有以下字符: 
[1] |(竖线符号)
[2] & (& 符号)
[3];(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at 符号)
[7] '(单引号)
[8] "(引号)
[9] \'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII 0x0d)
[15] LF(换行,ASCII 0x0a)
[16] ,(逗号)
[17] \(反斜杠)
以下部分描述各种问题、问题的修订建议以及可能触发这些问题的危险字符: SQL 注入和 SQL 盲注: A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。 B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。当使用存储过程时,请利用 ADO 命令对象来实施它们,以强化变量类型。 C. 清理输入以排除上下文更改符号,例如: 
[1] '(单引号)
[2] "(引号)
[3] \'(反斜线转义单引号)
[4] \"(反斜杠转义引号)
[5] )(结束括号)
[6] ;(分号)
跨站点脚本编制: A. 清理用户输入,并过滤出 JavaScript 代码。我们建议您过滤下列字符: 
[1] <>(尖括号)
[2] "(引号)
[3] '(单引号)
[4] %(百分比符号)
[5] ;(分号)
[6] ()(括号)
[7] &(& 符号)
[8] +(加号)
B. 如果要修订 <%00script> 变体,请参阅 MS 文章 821349 C. 对于 UTF-7 攻击: [-] 可能的话,建议您施行特定字符集编码(使用 'Content-Type' 头或 标记)。 HTTP 响应分割:清理用户输入(至少是稍后嵌入在 HTTP 响应中的输入)。 请确保输入未包含恶意的字符,例如: 
[1] CR(回车符,ASCII 0x0d)
[2] LF(换行,ASCII 0x0a)远程命令执行:清理输入以排除对执行操作系统命令有意义的符号,例如:
[1] |(竖线符号)
[2] & (& 符号)
[3];(分号)
执行 shell 命令: A. 绝不将未检查的用户输入传递给 eval()、open()、sysopen()、system() 之类的 Perl 命令。 B. 确保输入未包含恶意的字符,例如: 
[1] $(美元符号)
[2] %(百分比符号)
[3] @(at 符号)
XPath 注入:清理输入以排除上下文更改符号,例如: 
[1] '(单引号)
[2] "(引号) 等
LDAP 注入: A. 使用正面验证。字母数字过滤(A..Z,a..z,0..9)适合大部分 LDAP 查询。 B. 应该过滤出或进行转义的特殊 LDAP 字符: 
[1] 在字符串开头的空格或“#”字符
[2] 在字符串结尾的空格字符
[3] ,(逗号)
[4] +(加号)
[5] "(引号)
[6] \(反斜杠)
[7] <>(尖括号)
[8] ;(分号)
[9] ()(括号)
MX 注入: 应该过滤出特殊 MX 字符: 
[1] CR(回车符,ASCII 0x0d)
[2] LF(换行,ASCII 0x0a)记录伪造:
应该过滤出特殊记录字符: 
[1] CR(回车符,ASCII 0x0d)
[2] LF(换行,ASCII 0x0a)
[3] BS(退格,ASCII 0x08)
ORM 注入: A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。 B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。 C. 使用参数化查询 API D. 清理输入以排除上下文更改符号,例如: (*): 
[1] '(单引号)
[2] "(引号)
[3] \'(反斜线转义单引号)
[4] \"(反斜杠转义引号)
[5] )(结束括号)
[6] ;(分号)

如下一些方法能够防止注入攻击:
1.在网页代码中需要对用户输入的数据进行严格过滤。
2.部署Web应用防火墙
3.对数据库操作进行监控

建议过滤用户输入的数据,切记用户的所有输入都要认为是不安全的。

* 如果您懂编程并且能够修改服务器代码,请参考这里:

具体可以参考:http://webscan.360.cn/group/topic/tid/4571

SQL 注入漏洞演示

如果你的网站服务器是Windows系统,建议使用"主机卫士"修复漏洞,点击下载
对该漏洞进行评论