Web应用程序安全

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

Rapid7研究:last + AI

什么是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应用程序的数量, 无论是商务还是个人使用, 这些应用程序受到保护是至关重要的. 通过定期浏览你的申请, 您可以在漏洞发生之前识别并修复漏洞,从而领先攻击者一步.