OWASP
或 Open Web Security Project
是一家非营利性慈善组织,致力于提高软件和 Web 应用程序的安全性。该组织根据来自各种安全组织的数据发布顶级 Web
安全漏洞列表。
Web
安全漏洞的优先级取决于可利用性,可检测性和对软件的影响。
可开发性
-
利用安全漏洞需要什么?当攻击只需要 Web 浏览器而且最低级别是高级编程和工具时,可攻击性最高。可检测性
-检测威胁有多容易?最高的是显示在 URL,表单或错误消息上的信息,最低的是源代码。
影响或损坏
-如果安全漏洞暴露或受到攻击,将会造成多大的破坏?最高的是完整的系统崩溃,最低的是什么都没有。
OWASP Top 10
的主要目标是向开发人员,设计人员,经理,架构师和组织介绍最重要的安全漏洞。
注:由于篇幅有限,本文仅介绍前五个 Web 安全漏洞。剩余的五个漏洞将在下篇文章给出。
注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端 SQL
语句。
当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且访问未授权的数据时,发生注入。
由 Web
应用程序执行时的 SQL
命令也可以公开后端数据库。
URL
。SQL
注入在没有有效凭据的情况下登录应用程序。
有效的 userName
可用,密码不可用。
测试网址:http://demo.testfire.net/default.aspx
用户名:sjones
密码:1=1' or pass123
创建 SQL
查询并将其发送到 Interpreter
,如下所示
SELECT * FROM Users WHERE User_Name = sjones AND Password = 1=1' or pass123;
Cross Site Scripting
也简称为 XSS
。
XSS
漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到 Web
浏览器而未经适当验证时,可能会出现这些缺陷。
在这种情况下受害者浏览器,攻击者可以使用 XSS
对用户执行恶意脚本。由于浏览器无法知道脚本是否可信,因此脚本将被执行,攻击者可以劫持会话 cookie
,破坏网站或将用户重定向到不需要的恶意网站。
XSS
是一种攻击,允许攻击者在受害者的浏览器上执行脚本。
http://www.vulnerablesite.com/home?"<script>alert("xss")</script>
上述脚本在浏览器上运行时,如果站点易受 XSS
攻击,将显示一个消息框。
如果攻击者想要显示或存储会话 cookie
,则可以进行更严重的攻击。
[http://demo.testfire.net/search.aspx?txtSearch](http://demo.testfire.net/search.aspx?txtSearch) <src =<br> <span class="external-link"><a class="no-external-link" href="http://google.com" target="\_blank">http://google.com<i data-feather='external-link'></i></a></span> width = 500 height 500>
上面的脚本运行时,浏览器会加载一个指向 http://google.com
的不可见框。
通过在浏览器上运行恶意脚本可以使攻击变得严重。
网站通常为每个有效会话创建会话 cookie
和会话 ID
,这些 cookie
包含敏感数据,如用户名,密码等。当会话通过注销或浏览器突然关闭结束时,这些 cookie
应该无效,即每个会话应该有一个新的 cookie
。
如果 cookie
未失效,则敏感数据将存在于系统中。例如,使用公共计算机(Cyber Cafe)的用户,易受攻击的站点的 cookie
位于系统上并暴露给攻击者。攻击者在一段时间后使用相同的公共计算机,敏感数据会受到损害。
以同样的方式,用户使用公共计算机而不是注销,他突然关闭浏览器。攻击者使用相同的系统,当浏览同一个易受攻击的站点时,受害者的上一个会话将被打开。攻击者可以通过窃取个人资料信息,信用卡信息等做任何他想做的事情。
应该进行检查以找到身份验证和会话管理的强度。密钥,会话令牌,cookie
应该在不影响密码的情况下正确实施。
cookie
或使用 XSS
的会话可以高举会话。URL
重写,将会话 ID
放在 URL 中:undefinedhttp://Examples.com/sale/saleitems;jsessionid=2P0OC2oJM0DPXSNQPLME34SERTBG/dest=Maldives
(出售马尔代夫门票)该网站的经过身份验证的用户希望让他的朋友了解该销售并发送电子邮件。朋友收到会话
ID
,可用于进行未经授权的修改或滥用保存的信用卡详细信息。XSS
攻击,攻击者可以通过 XSS
访问会话 ID
并可用于劫持会话。OWASP
应用程序安全验证标准定义所有身份验证和会话管理要求。URL
或日志中公开任何凭据。ID
的 XSS
漏洞。当开发人员公开对内部实现对象的引用(例如 URL
或 FORM
参数中的文件,目录或数据库键)时,就会发生这种情况。攻击者可以使用此信息访问其他对象,并可以创建将来的攻击来访问未经授权的数据。
使用此漏洞,攻击者可以访问未经授权的内部对象,可以修改数据或破坏应用程序。
在 URL
中
更改以下 URL
中的 userid
可以使攻击者查看其他用户的信息。
http://www.vulnerablesite.com/userid=123
修改为 http://www.vulnerablesite.com/userid=124
攻击者可以通过更改用户标识值来查看其他信息。
URL
中公开对象引用。Cross Site Request Forgery
是来自跨站点的伪造请求。
CSRF
攻击是指恶意网站,电子邮件或程序导致用户的浏览器在当前对用户进行身份验证的受信任站点上执行不需要的操作时发生的攻击。
CSRF
攻击强制登录受害者的浏览器向易受攻击的 Web 应用程序发送伪造的 HTTP 请求,包括受害者的会话 cookie 和任何其他自动包含的身份验证信息。
当用户在登录原始网站时点击 URL
时,攻击者将向受害者发送链接,该数据将从网站上被窃取。
将此漏洞用作攻击者可以更改用户配置文件信息,更改状态,代表管理员创建新用户等。
受害者使用有效凭据登录银行网站。他收到攻击者的邮件说 “请点击这里捐赠 1 美元。”
当受害者点击它时,将创建一个有效请求以向特定帐户捐赠 1
美元。
http://www.vulnerablebank.com/transfer.do?account=cause&amount=1
攻击者捕获此请求并创建以下请求并嵌入一个按钮,说 “我支持原因”。
http://www.vulnerablebank.com/transfer.do?account=Attacker&amount=1000
由于会话已通过身份验证并且请求通过银行网站发送,因此服务器会向攻击者转移 1000
美元。
CAPTCHA
,重新认证和唯一请求令牌等机制。版权属于:Xcnte' s Blog(除特别注明外)
本文链接:https://cloud.tencent.com/developer/article/1918365
本站文章采用 知识共享署名4.0 国际许可协议 进行许可,请在转载时注明出处及本声明!