Web应用程序安全

学习web应用程序安全的基础知识,包括常见的漏洞.

Rapid7 InsightAppSec产品

什么是Web应用程序安全?

Web应用程序安全性是保护网站的实践, web应用程序, 以及针对恶意网络攻击的web服务,例如 SQL注入, 跨站点脚本编制或其他形式的潜能 威胁

扫描web应用程序的漏洞是一种安全措施,在当今的威胁环境中是不可选择的. 但是在你能够有效地扫描web应用程序之前, 理解什么是web应用程序以及为什么拥有一个web应用程序是如此重要是非常必要的 Web应用程序安全程序 在你的公司里.

您可以将web应用程序视为通往家庭或企业的大门. 它们包括用户界面或活动在线发生的任何软件应用程序. 这可以包括电子邮件、零售网站或娱乐流媒体服务等等.

使用web应用程序, 用户必须能够与主机的网络进行交互,以提供他们所需要的内容. 如果web应用程序没有进行安全加固, 可以操纵应用程序返回到它所在的主机数据库,向您或攻击者发送请求的任何数据, 即使是敏感信息.

为什么Web应用程序安全很重要?

Web applications need to freely allow traffic through a variety of ports 和 usually require authentication; this means they also require a complex Web应用程序漏洞扫描器. 因为网站必须允许流量进出网络, 黑客经常攻击最常用的端口. 这包括:

  • 端口80 (HTTP):用于不安全的网站流量
  • 443端口(HTTPS):用于安全网站流量
  • 端口21 (FTP):用于在服务器之间传输文件的文件传输协议
  • 端口25 (SMTP), 对于简单的邮件传输协议, 和端口110 (POP3), 默认未加密端口:组织通常用于发送和接收电子邮件的电子邮件协议.

考虑到可用端口的宽度, 毫无疑问,黑客有很多机会通过利用网站的开放性来侵入网络,而网站必须具有这样的开放性才能与用户进行互动.

这只能通过 Verizon数据泄露调查报告, web应用程序攻击仍然是最常见的破坏模式,并且是恶意攻击者的首选载体.

通过持续监控和扫描您的web应用程序, 您可以主动识别漏洞,并在漏洞发生之前进行补救, 领先攻击者一步. 在为我们的组织评估应用程序扫描器时,这里有一些最重要的事情要记住.

免费扫描Web应用程序扫描是不准确的

免费的web应用程序漏洞扫描器的数量很多, 尽管免费听起来对每个人都很好, 请记住,免费的扫描仪很可能会给您带来高概率的假阳性和假阴性警报——对于时间和精力都很紧张的IT团队来说,这是一场令人沮丧的噩梦. 老话说得好:一分钱一分货.

话虽如此, 许多商业全功能扫描仪允许免费试用版本,您可以在购买之前试用. 这为您在为您的组织购买此类关键安全设备时提供了很大的优势. 您可以测试扫描器以确保它能够完成您需要的功能.

OWASP十大漏洞

您希望您的网络扫描器能够准确地发现漏洞, 而不仅仅是为您的IT团队提供劳动密集型的信息. 如何判断web应用程序扫描器是否准确? 确保它可以检测到开放Web应用程序安全项目,或OWASP十大漏洞:

  1. 注: 攻击者向SQL发送不可信的数据, OS, 或使用命令查询的LDAP解释器, “欺骗”解释器执行命令或访问关键数据.
  2. 破碎的认证和会话管理: 黑客使用身份验证和会话管理过程来窃取密码, 令牌, 或者让他们能够冒充被黑用户的身份并进入你的网络的密钥.
  3. 敏感数据暴露: 难以置信, 但是许多web应用程序仍然不能很好地保护敏感数据, 比如信用卡, 身份验证凭证, 或税号. 黑客利用这些弱点进行身份盗窃, 信用卡诈骗, 还有其他攻击.
  4. XML外部实体(XXE): 旧的或配置错误的XML处理器计算XML文档中的外部实体引用. 外部实体可用于公开内部端口扫描, 远程代码执行, 以及拒绝服务攻击.
  5. 访问控制中断: 对于允许经过身份验证的用户执行哪些操作,通常不会强制实施限制. 攻击者利用这一点来访问未经授权的数据和/或功能.
  6. 安全错误配置: 最佳实践要求在应用程序及其周围的轨道和平台中进行安全配置. 所以如果在安全层有错误的配置, 黑客可以很容易地利用这一点, 获得对您的网络和关键数据的访问权限.
  7. 跨站点脚本: 黑客劫持用户会话的一种方式, 重定向到恶意站点, 或者通过XSS漏洞破坏网站.  应用程序将不受信任的数据发送到web浏览器,而不需要验证过程, 使黑客能够在受害者的浏览器中运行不需要的脚本.
  8. 不安全的反序列化: 这通常会导致远程执行. 反序列化缺陷可用于执行重放攻击, 特权升级攻击, 以及注入攻击.
  9. 使用已知漏洞的组件: 软件模块组件通常以完全权限运行, 因此,如果一个易受攻击的组件(如库), 框架, 或其他软件模块)被利用, 这可能会造成严重破坏, 黑客很容易进入整个系统.
  10. 足够的日志 & 监控: 大多数攻击都是由于正确的日志记录和监控失误而发生的. 没有足够的记录和监控程序, 攻击者可以不被注意,并有更大的机会造成严重的伤害.

Web应用程序安全报告

您希望确保您的web应用程序漏洞扫描器提供易于阅读的报告,以易于理解的方式输出扫描器发现的信息. 报告允许您的IT团队轻松快速地识别web应用程序中的弱点或漏洞,这些弱点或漏洞可能成为黑客的主要目标. 报告还允许您在安全威胁发生时识别它们, 为任何应用程序漏洞提供实时解决方案.

修复Web应用程序漏洞 

而拥有详细的报告对于利用扫描器找到的数据至关重要, 这是不够的. 您的扫描器还应该能够将漏洞数据转换为特定的, 详细修复方案.

补救计划可以为您提供优先级排序的任务和上下文, 包括需要解决的问题, 为什么, 到什么时候. 最好的漏洞扫描器允许您跟踪和测量扫描器软件本身的数据, 或将数据集成到您的IT票务解决方案中.

Web应用程序安全摘要

当今的威胁形势不断演变. 考虑到人们每天与之交互的web应用程序的数量, 无论是商务还是个人使用, 这些应用程序受到保护是至关重要的. 通过定期浏览你的申请, 您可以在漏洞发生之前识别并修复漏洞,从而领先攻击者一步.