如何学习 Web 应用程序安全性?

网络安全的重要性

网络安全已成为当今社会不可忽视的重要议题。与其等到问题发生,不如尽早采取行动,认识到网络安全的重要性。

随着科技的飞速发展,特别是网络服务和应用程序的普及,现代企业的运作方式发生了翻天覆地的变化。许多公司已将业务重心转移到线上,这使得员工和合作伙伴无论身处何地,都能实时协作和共享数据。

现代 HTML5 网络应用程序和 Web 2.0 的引入,改变了客户的需求。现在,人们希望随时随地(24/7/365)都能访问所需的信息。因此,在线企业也必须确保数据的持续可用性。

虽然全球封锁时期对在家工作和在线零售商来说可能是一大利好,但同时也为网络犯罪分子提供了可乘之机。

越来越多的在线交易和远程工作,使得网络犯罪分子更容易窃取大量的信用卡信息,并攻击远程工作人员及其所在机构。同时,这也促使诈骗犯和恶意黑客不断开发新的威胁手段。

报告显示,今年约 80% 的公司遭遇网络攻击事件激增,而针对银行的威胁因新冠疫情增加了 238%。

为了应对这些攻击,Web 应用程序安全应运而生。该领域需要专业的网络安全人才,他们可以帮助组织避免数据丢失、经济损失和消费者信任危机。

本文旨在帮助您了解网络安全,以及对网络安全专业人员的要求,并为您提供学习和掌握相关技能的资源。

让我们开始吧!

什么是 Web 应用程序安全?

Web 安全、网络安全或 Web 应用程序安全是指保护在线服务和网站,使其免受利用应用程序代码漏洞的各种威胁的方法。

常见的攻击目标包括数据库管理解决方案(如 phpMyAdmin)、SaaS 应用程序、内容管理系统(CMS)(如 WordPress)等。

Web 安全旨在通过阻止未经授权的访问、使用、破坏/中断或修改来防止此类攻击。

为什么攻击者会广泛针对 Web 应用程序呢?

  • 应用程序源代码的复杂性增加了漏洞和代码被操控的可能性。
  • 攻击者可以轻易地执行对应用程序的攻击; 因此,他们可以轻松发起或自动化大多数攻击,一次针对数千个应用程序。
  • 通过操控源代码获取的敏感数据和财务利益等高价值的战利品。

常见的漏洞类型

跨站脚本 (XSS)

XSS 攻击允许攻击者在网页中注入客户端脚本,从而直接访问重要数据、诱骗用户泄露敏感信息或冒充用户。其后果包括访问账户、激活木马、更改页面内容等。

跨站请求伪造 (CSRF)

CSRF 攻击会欺骗受害者,利用其已有的授权或身份验证发起请求。因此,攻击者可以利用这些账户权限,冒充用户发出请求,从而导致资金转移、密码更改等。

拒绝服务 (DoS) 和分布式拒绝服务 (DDoS)

攻击者使用各种攻击流量来使目标服务器和/或其基础设施过载。一旦服务器无法有效处理请求,就会变得缓慢,最终拒绝为更多传入请求提供服务,即使是来自合法用户的请求。

SQL 注入 💉

SQL 注入是一种攻击方法,攻击者利用数据库实现搜索查询的方式中的漏洞,从而访问未经授权的数据、创建或修改用户权限、破坏或操纵敏感信息等。

远程文件包含

攻击者利用远程文件包含漏洞,将包含恶意代码的文件注入 Web 应用程序服务器,从而执行恶意代码,破坏应用程序、操控应用程序或窃取数据。

其他

其他攻击包括内存损坏、数据泄露、点击劫持、目录遍历、命令注入和缓冲区溢出等。

希望以上信息足以让大家认识到网络安全的重要性,以及为什么每个人都必须尽快采取安全措施,以免对您的应用程序造成任何威胁,并避免经济或声誉损失。

由于网络安全的需求不断增长,许多人都开始学习相关知识。如果您对该领域充满热情,这可能是一个不错的职业选择,并且个人也能从中受益。

网络安全专业人员做什么?

网络安全专业人员负责保护 Web 应用程序、相关网络和应用程序数据。他们通过监控网络和应对威胁,来帮助缓解数据泄露。

这些专业人员通常具有网络或系统管理员、程序员的背景。这个领域需要好奇心、批判性思维、对研究和学习的热情。他们必须能够在开发和注入各种威胁方面胜过具有“破坏性创造力”的黑客。

由于安全威胁随时可能出现,安全专业人员必须随时了解黑客用来入侵系统和网络的最新策略。网络安全专业人员的一些职责包括:

  • 查找 Web 应用程序、数据库和加密中的漏洞。
  • 通过修复安全问题来缓解攻击。
  • 定期进行审计以确保最佳安全实践。
  • 部署端点防护和检测工具以防止恶意攻击。
  • 实施跨云和本地资产的漏洞管理系统。
  • 在发生攻击时进行清理。
  • 与其他 IT 部门合作规划灾难恢复。
  • 与团队领导和人力资源部门合作,教育所有员工识别可疑活动。

保护 Web 应用程序的一些最佳安全实践

使用 Web 应用程序防火墙 (WAF)

WAF 可以帮助保护您的 Web 应用程序免受恶意 HTTP 请求的影响。它在攻击者和您的服务器之间设置了一道屏障。它可以保护第 7 层免受 XSS、CSRF 和 SQL 注入等威胁。

DDoS 缓解

顾名思义,DDoS 缓解用于减轻应用程序 DDoS 和网络层攻击,从而保护网站、应用程序和服务器基础设施。

机器人 🤖 过滤

机器人过滤的实施是为了过滤掉不良的机器人流量。

DNS 保护

DNS 保护旨在保护您的 DNS 请求免受路径攻击和 DNS 缓存中毒的劫持。

使用 HTTPS

HTTPS 对服务器和客户端之间交换的所有数据进行加密,以保护登录凭据、标头信息、cookie 和请求数据等。

如果您已下定决心要学习 Web 应用程序安全,可以参考以下学习资源,提升自己的技能。

PortSwigger

向 Burp Suite 的制造商学习 – 一个提供各种网络安全工具的领先平台PortSwigger。这是一项在线免费培训,可以提升您在网络安全方面的职业生涯。

通过交互式实验室,您可以随时随地学习,并随时跟踪您的进度。它提供业务逻辑漏洞、信息泄露、Web 缓存中毒、不安全的反序列化、SQL 注入、XSS、CSRF 和 XXE 注入等方面的培训。

PortSwigger 的学习资料由经验丰富的专业人士、研究团队及其创始人——Dafydd Stuttard 制作。他也是一本名为《Web Application Hacker’s Handbook》的著名书籍的作者。

教程以文字和视频内容进行全面解释,有助于轻松记住要点。他们的互动实验室使整个课程变得引人入胜,在这里他们提出逼真的谜题来测试您的黑客技能。

埃德克斯

埃德克斯的网络安全基础课程非常适合理解基本原理。它为您概述了常见的攻击和对策,并通过实际操作来深入了解每一个攻击。

他们还教您当前流行的最佳安全实践来保护 Web 应用程序。如果您想参加该课程,您不一定需要事先的安全知识。但如果您具备相关知识,将有助于您更好地理解 HTTP、JavaScript 和 HTML 等内容。

课程长度为 5 周,包括每周 4-6 小时的学习时间。学习完全免费;但是,如果您愿意,可以支付 48.97 美元来获得经过验证并由教师签名的证书,证书上印有机构的徽标。该证书可用于提升求职前景,可以在 LinkedIn 上共享,也可包含在您的简历中。

斯坦福

斯坦福提供的 CS 253 网络安全课程斯坦福 提供了完整的网络安全概述,旨在让学生了解常见的网络攻击以及如何预防它们。该课程不仅涵盖基础知识,还涵盖网络安全的高级概念。

一些主题包括:

  • 网络安全原则
  • 攻击与对策
  • Web 应用程序漏洞
  • 浏览器安全模型
  • 注入、DoS 和 TLS 攻击
  • 指纹、隐私、同源策略、身份验证、跨站脚本和 JavaScript 安全
  • 纵深防御
  • 新兴威胁
  • 编写安全代码的技术和安全漏洞
  • 实施不断发展的 Web 标准并保护弱 Web 应用程序

要参加本课程,您必须具有 CS 142 或其他 Web 开发方面的同等经验。本课程的出勤率是强制性的,评分依据:

  • 75% 的作业
  • 25% 的期末考试

为了更好地准备,您可以参考2019 年期末考试的答案CS 253 的样题

初学者友好

优达学城无疑是在线学习各种课程的最佳平台之一;Web 应用程序安全就是其中之一。如果您是初学者,本课程非常适合您,因为它不需要事先的编码知识。

在本课程中,您将学习:

  • 识别 OWASP(开放 Web 应用程序安全项目)检测到的 10 大威胁
  • 了解如何减轻这些威胁
  • 每个威胁对您的业务的影响
  • 攻击者如何实施这些威胁

该课程以最简单易懂的语言进行讲解,因此即使是那些对互联网和计算机了解甚少的人也能理解。它还包括深度防御、欺骗解释、信息泄露、篡改、拒绝服务、特权提升和 DoS。

经验丰富的讲师会教您掌握网络安全基础知识所需的一切。

Coursera

另一个非常好的选择是 Coursera,它教您如何使用 OWASP ZAP 或 Zed Attack Proxy。该工具可帮助安全专业人员和渗透测试人员发现漏洞。

  • 他们教您如何扫描漏洞、分析扫描结果并生成报告等。
  • 您还将学习如何进行浏览器代理配置,通过浏览网站来被动扫描响应和请求。
  • 简要说明如何查看、拦截、转发和修改 Web 应用程序和浏览器之间的 Web 请求。
  • 此外,您将学习如何使用字典列表来查找 Web 服务器上的文件夹和文件。
  • 此外,您还可以了解如何通过网络爬虫抓取网站来查找 URL 和链接。

课程讲师通过分屏视频一步步指导您完成每个主题,并且由于它在云端,您不必浪费时间下载。 Coursera 为每个课程提供证书,无需额外费用。

渗透测试实验室

渗透测试实验室涵盖了从基础到高级的各个级别。他们教您如何手动查找和利用漏洞。他们所有的练习都涵盖了在各种系统中发现的常见弱点或问题。

为了更好地学习,他们提供了真实的系统和真实的漏洞,因此您可以实时学习,而无需进行模拟。他们的在线练习可让您在完成课程后获得证书。所有练习都分为徽章,您可以完成这些徽章以获得证书。

YouTube

YouTube是知识的宝库;你只需要以正确的方式使用它!

Google Chrome Developers 频道在 YouTube 上拥有 50.5 万订阅者,您可以在这里找到学习资源。

在本教程中,您可以了解一些典型的攻击媒介以及如何保护您的数据、用户和声誉。接下来,您将了解一门新课程,该课程旨在提供有关防御和攻击等主题的简明讲座和实践练习。

Mozilla

请访问 MDN 网络文档(由 Mozilla 提供),获取有关网络安全方面的实用文章。这里列出的文章涵盖了各种主题,如内容安全、连接安全、数据安全、信息泄露、数据完整性、点击劫持保护和用户数据安全等。

这些文章中的信息将帮助您保护您的网站及其所有代码,使其免受数据盗窃和攻击。您还可以了解如何修复网站、阻止混合内容以及关于签名算法等其他有用的信息。

因维克蒂

因维克蒂的综合文章很好地解释了 Web 应用程序安全的本质。它的写作风格非常友好,甚至可以帮助初学者理解网络安全中使用的术语和技术。

在本文中,解释了 Web 应用程序安全的常见误区和基础知识,以及当今的企业如何增强其网站和应用程序的安全性以阻止网络攻击者。

在这里,您将学习:

  • 如何保护您的 Web 应用程序
  • 选择正确的漏洞扫描程序
  • 免费与商业 Web 漏洞扫描程序之间的区别
  • 如何测试漏洞扫描程序以及何时使用它
  • 保护您的 Web 服务器及其他组件的一些最佳实践

SANS

如果您目标是保护 Web 应用程序,请参加 SANS 的 SEC22 课程。它将帮助您了解与 Web 应用程序相关的所有安全漏洞,从而保护您的 Web 资产。

本课程向您介绍架构、基础设施和编码的缓解技术以及实际方法。您将熟悉这些漏洞的性质,以便了解它们发生的原因以及如何缓解它们。

本课程适用于负责管理、实施或保护 Web 应用程序的人员,包括应用程序安全分析师、架构师、开发人员、审计人员和渗透测试人员等。

该课程将涵盖以下主题:

  • OWASP 十大威胁
  • CWE 前 25 个软件错误的具体问题
  • Web 应用程序中云的集成
  • 应用语言配置
  • 基础设施配置和安全管理
  • 身份验证机制
  • HTTP 标头
  • 业务逻辑缺陷
  • XSS、CSRF 和 SQL 注入等编码错误

如果您了解 Web 应用程序概念和技术(如 JavaScript 和 HTML)的基础知识,那么您很适合学习本课程。

Cloudflare

Cloudflare 的这篇文章涵盖了有关 Web 应用程序安全性的内容。

具体来说,它解释了:

  • 这个术语的含义
  • 一些典型的漏洞
  • 防止 Web 安全漏洞的最佳实践

阅读本文,了解一些基本概念,这些概念将在您注册 Web 应用程序安全课程时对您有很大帮助。

结论

随着网络攻击的迅速增加,学习 Web 应用程序的安全性变得至关重要。

祝您一切顺利!