Web漏洞

绿盟科技分享

http://blog.nsfocus.net/web-vulnerability-analysis-coding-security/

你不知道这10个Web安全漏洞,就别说自己是黑客

SQL注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。

OWASP或Open Web Security Project是一家非营利性慈善组织,致力于提高软件和Web应用程序的安全性。

Web漏洞_第1张图片

该组织根据来自各种安全组织的数据发布顶级Web安全漏洞列表。

根据可利用性,可检测性和对软件的影响,Web安全漏洞具有优先级。

可开发性 -

利用安全漏洞需要什么?当攻击仅需要Web浏览器且最低级别是高级编程和工具时,可攻击性最高。

可检测性 -

检测威胁有多容易?最高的是显示在URL,表单或错误消息上的信息,最低的是源代码。

影响或损坏 -

如果安全漏洞暴露或受到攻击,将会造成多大的破坏?最高的是完整的系统崩溃,最低的是什么都没有。

OWASP Top 10的主要目标是向开发人员,设计人员,经理,架构师和组织介绍最重要的安全漏洞。

你不知道这10个Web安全漏洞,就别说自己是黑客

根据OWASP Top 10,十大安全漏洞是:

SQL Injection(SQL注入)

Cross Site Scripting(xss跨站脚本)

Broken Authentication and Session Management(身份验证和会话管理中断)

Insecure Direct Object References(不安全的直接对象引用)

Cross Site Request Forgery(跨站点请求伪造)

Security Misconfiguration(安全配置错误)

Insecure Cryptographic Storage(不安全的加密存储)

Failure to restrict URL Access(无法限制URL访问)

Insufficient Transport Layer Protection(传输层保护不足)

Unvalidated Redirects and Forwards(未经验证的重定向和转发)

SQL注入

描述

SQL注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。

当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。

由Web应用程序执行时的SQL命令也可以公开后端数据库。

意义

攻击者可以将恶意内容注入易受攻击的字段。

可以从数据库中读取敏感数据,如用户名,密码等。

可以修改数据库数据(插入/更新/删除)。

管理操作可以在数据库上执行

易受攻击的对象

输入字段

与数据库交互的URL。

例子:

登录页面上的SQL注入

在没有有效凭据的情况下登录应用程序。

有效的userName可用,密码不可用。

测试网址:http://demo.testfire.net/default.aspx

用户名:sjones

密码:1 = 1'或pass123

创建SQL查询并将其发送到Interpreter,如下所示

SELECT * FROM Users WHERE User_Name = sjones AND Password = 1 = 1'或pass123;

建议

白名单列出输入字段

避免显示对攻击者有用的详细错误消息。

xss跨站脚本

描述

Cross Site Scripting也简称为XSS。

XSS漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到Web浏览器而未经适当验证时,可能会出现这些缺陷。

在这种情况下受害者浏览器,攻击者可以使用XSS对用户执行恶意脚本。由于浏览器无法知道脚本是否可靠,脚本将被执行,攻击者可以劫持会话cookie,破坏网站或将用户重定向到不需要的恶意网站。

XSS是一种攻击,允许攻击者在受害者的浏览器上执行脚本。

意义:

利用此安全漏洞,攻击者可以将脚本注入应用程序,可以窃取会话cookie,破坏网站,并可以在受害者的计算机上运行恶意软件。

易受攻击的对象

输入字段

网址

例子

1. http://www.vulnerablesite.com/home?" < script > alert(" xss")

上述脚本在浏览器上运行时,如果站点易受XSS攻击,将显示一个消息框。

如果攻击者想要显示或存储会话cookie,则可以进行更严重的攻击。

2. http://demo.testfire.net/search.aspx?txtSearch