1.Web应用程序的发展历程
在互联网发展的早期阶段,万维网仅由网站组成,这些网站本质上是静态文档的存储库。然后人们发明了网络浏览器来检索和显示这些文档。现在的万维网与早期的万维网有很大不同。网络上的大多数网站实际上都是应用程序。 Web 应用程序引入了重大的新威胁。 Web 应用程序通常需要连接到可以存储敏感数据并执行强大功能的内部计算机系统。
1.1 Web应用程序的常见功能
购物社交:QQ、微信、微博、钉钉、探探、陌陌、灵魂等等大家都想用的银行服务浏览器搜索拍卖赌博投机博客电子邮件互动信息
还有很多,这里就不一一列举了。
1.2 Web应用程序的优点
HTTP 协议是用于访问万维网的中央通信协议,无需每个网络用户在其计算机或其他移动设备上安装浏览器。该浏览器功能强大且内容丰富。尤其是在这个互联网高速发展的时代,Web应用的核心技术相对简单易用。
2.Web安全
每个应用程序都有漏洞,世界上没有系统是绝对安全的。
2.1Web应用程序常见漏洞
你认为使用SSL技术安全吗?那你就太天真了。首先,让我们看一下Web 应用程序漏洞。
身份验证措施不完整:登录机制中的缺陷可能会导致攻击者滥用您的帐户密码。 访问控制措施不完善:应用程序无法对数据和功能提供全面的保护,导致攻击者能够查看用户存储在其服务器上的敏感信息。SQL注入,例如数据操纵:由于用户输入的数据未经验证,攻击者可以从数据库中提取任何数据,破坏其逻辑结构,并执行命令和其他跨站点脚本攻击(XSS)。利用此漏洞可能允许攻击者攻击应用程序的其他用户、访问用户信息或执行未经授权的操作。 XSS分为三类:反射型XSS、保留型XSS、DOM型XSS。信息泄露涉及应用程序泄露敏感信息,攻击者可以利用这些信息通过有缺陷的错误来攻击其他程序。跨站点请求伪造(CSRF):攻击者可以通过滥用用户权限来诱骗用户在应用程序上执行操作,从而允许受害者用户与应用程序交互并执行操作。执行了用户不希望的操作。
SSL 保护用户浏览器和Web 服务器之间通信的机密性和完整性。防止信息泄露,保护用户所使用的网络服务器的安全。但是,SSL 无法防御直接针对应用程序的服务器或客户端组件的攻击,许多成功的攻击都属于此类。请务必注意,SSL 不能防止上面列出的任何漏洞,也不能防止许多其他可能使您的应用程序面临风险的漏洞。大多数Web 应用程序中仍然存在安全漏洞,无论它们是否使用SSL。
当然还不止于此。 **ssrf、xxe外部实体注入、逻辑漏洞、文件上传、文件包含、远程代码执行漏洞、短信轰炸漏洞、框架漏洞等等。 **
2.2未对用户输入做过滤
Web 应用程序必须解决根本问题。应用程序假定所有输入信息都是恶意的,并采取措施确保攻击者无法使用专门设计的输入来破坏应用程序并破坏其逻辑结构和操作。目的是未经授权访问其数据和功能。这个问题的核心在于以下几个方面:
用户可以干扰客户端和服务器之间传递的所有数据,包括请求参数、cookie 和HTTP 标头,并且可以在应用程序要求之外的各个阶段多次发送请求,或者根本不发送它们。任何一个。用户的操作可能与开发人员对用户和应用程序将如何交互所做的假设完全不同。用户不再需要仅使用一种网络浏览器来访问应用程序。有多种工具可用于攻击Web 应用程序。
示例:更改隐藏HTML 表单字段中提交商品的价格,以欺诈性地以较低价格购买该商品。通过修改HTTP cookie 中传递的会话令牌来劫持另一个经过身份验证的用户的会话。它利用应用程序处理中的逻辑错误来删除正常发送的某些参数。修改后端数据库处理的输入并注入恶意数据库查询以访问敏感数据是一个SQL 注入漏洞。
当然,SSL 并不能阻止攻击者向服务器发送特制的输入。应用程序使用SSL 意味着网络上的其他用户无法查看或修改攻击者发送的数据。由于攻击者控制了SSL通道,因此他可以通过该通道向服务器发送任何内容。如果发生上述任何攻击,无论常见问题解答中如何提出安全声明,您的应用程序都将容易受到攻击。
2.3 造成这些漏洞的原因是什么呢?
Web应用存在如此多安全问题的主要原因包括以下几个方面:
缺乏成熟的安全意识:近年来,人们对网络应用的安全问题的认识不断增强,特别是在浙江省,虽然互联网上偶尔也会有一些活动,但在网络、操作系统等较为完善的领域,相比之下,人们的安全意识还是比较薄弱的。意识有所提高。 Web应用安全问题还不够成熟。独立开发:大多数Web应用程序都是由公司自己的员工或合作伙伴公司独立开发的。即使您的应用程序使用第三方组件,它们通常也会使用新代码进行自定义或组合。在这种情况下,每个应用程序都是不同的,并且可能包含其自身的缺陷。程序员闲置:新手程序员很可能在短时间内从头开始创建功能强大的应用程序。然而,编写功能代码和编写安全代码之间存在很大差异。您可能缺乏检测安全问题的知识和经验。特别是很多框架一发现漏洞就被利用,影响很多不相关的应用程序。快速发展的威胁形势:Web 应用程序攻击和防御研究相对不成熟且人员不足,而且我们面临的许多未知威胁比应用程序采用的速度要快得多。资源和时间限制:独立、一次性开发的影响使许多Web 应用程序开发受到严重的时间和资源限制。小型组织通常不想花时间评估新应用程序。快速入侵通常只会暴露出明显的安全问题,而往往会遗漏需要时间和耐心才能发现的更微妙的漏洞。技术瓶颈:虽然开发人员继续使用专有技术来满足新需求,但这种方法引入安全漏洞和意想不到的负面影响也就不足为奇了。对功能的需求持续增长。但我们都知道,拥有的功能越多,与数据库的交互就越多,如果没有适当的安全保护,可能存在的漏洞就越多。
2.4 安全边界的改变
在Web 应用程序出现之前,针对外部攻击的防护主要发生在网络外围。确保此外围的安全需要加固、修补和设置防火墙,然后用户才能访问您提供的服务。
随着Web 应用程序的出现,外围防火墙必须允许通过HTTP/HTTPS 连接到内部服务器,以便用户访问应用程序。支持数据库、大型机、财务、物流系统等后端系统。这些系统通常是组织运营的核心,并受到多层网络级防御的保护。
电子邮件被广泛用作补充身份验证机制,在一定程度上将安全边界移至客户端。许多应用程序现在都包含“忘记密码”功能,允许攻击者将帐户恢复电子邮件发送到任何注册地址,而无需额外的用户特定信息。因此,如果攻击者要破坏用户的Web 邮件帐户,他们可以轻松扩大攻击范围,以破坏受害用户注册的大部分Web 应用程序帐户。
2.5 最后谈谈Web安全的未来
尽管历史悠久,互联网上的Web 应用程序仍然漏洞百出。整个行业仍然没有完全了解Web应用程序面临的安全威胁以及如何有效解决这些威胁。目前,几乎没有迹象表明这些问题将在不久的将来得到解决。
Web应用安全的另一个显着趋势是:攻击目标从传统的服务器端应用程序转向用户端应用程序。尽管后一种类型的攻击也需要利用应用程序本身的缺陷,但这种类型的攻击通常涉及与其他用户的某种形式的交互,以破坏用户与易受攻击的应用程序之间的交易。这种趋势也存在于软件安全的其他领域。
现代技术领域的各种趋势在一定程度上改变了Web应用安全的状况。类似于云计算之类的东西。该术语指的是越来越多地使用外部服务提供商来实现技术堆栈的各个部分,例如应用软件、应用平台、Web 服务器软件、数据库和硬件。我们还将讨论虚拟化技术在托管环境中的大量使用。与大多数技术变革一样,这些趋势正在创造新类型的攻击并创造现有攻击的变体。尽管这些趋势非常流行,但考虑到它们造成的问题,它们并不像最初想象的那么具有破坏性。
尽管Web 应用程序发生了这些变化,但一些常见漏洞并没有显示出减少的迹象。它们继续以与网络技术早期相同的方式出现。这些漏洞包括业务逻辑缺陷、未经授权的访问控制和其他设计问题。即使在创建应用程序组的“一切都是服务”时代,这些问题仍然会普遍存在。
3.总结
如何自学黑客网络安全
黑客零基础入门学习路线规划
初级黑客
1.网络安全理论知识(2天)
了解行业背景和前景,决定发展方向。
学习有关网络安全的法律法规。
网络安全运营理念。
等保制度介绍、等保法规、流程、规范。 (很重要)
2.渗透测试基础知识(1周)
渗透测试流程、分类及标准
信息收集技术:主动/被动信息收集、Nmap工具、Google Hacking
漏洞扫描、漏洞利用、原理、使用、工具(MSF)、IDS绕过、防病毒侦察
主机攻防训练:MS17-010、MS08-067、MS10-046、MS12-20等。
3.操作系统基础知识(1周)
Windows系统常用功能及命令
Kali Linux系统常用功能及命令
操作系统安全(系统入侵调查/系统加固基础设施)
4.计算机网络基础(1周)
计算机网络基础、协议、体系结构
网络通信原理、OSI模型、数据传输流程
常用协议分析(HTTP、TCP/IP、ARP等)
网络攻击技术和网络安全防御技术
Web漏洞原理及防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5.数据库基础操作(2天)
数据库基础
SQL语言基础
加强数据库安全
6. 网络渗透(1周)
HTML、CSS 和JavaScript 简介
OWASP前10名
Web漏洞扫描工具
Web入侵工具:Nmap、BurpSuite、SQLMap、其他(Chop Knife、Miss Scan等)
恭喜。学会了这些,基本上就可以找到渗透测试、Web渗透、安全服务、安全分析等与网络安全相关的工作了。另外,如果你研究好等级保护模块,你就可以得到下一份工作。等级保护工程师。薪资范围6,000-15,000
到现在已经过去一个月左右了。你已经成为一个“脚本小子”了。想要进一步探索吗?
如果你想参与网络安全黑客,作者为你准备了一份:282G,全网最全的网络安全资料包。评论区留言即可获取。
7. 脚本编程(初级/中级/高级)
在网络安全领域。编程能力是“脚本小子”与真正黑客之间的关键区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用的工具不能满足实际需求时,往往需要扩展现有工具或者可能需要创建工具或自动化脚本来满足要求。需要特定的编程技能。在分秒必争的CTF比赛中,需要具备一定的编程能力,才能高效地使用自制的脚本工具来实现各种目标。
如果您是从头开始,我们建议您选择一种脚本语言:Python/PHP/Go/Java 并学习对常用库进行编程。 Wamp 和XAMPP 是PHP 环境的推荐选择。IDE强烈推荐Sublime。 · 学习Python编程,学习内容包括:语法、正则、文件、网络、多线程等常用库。推荐:010至30000。不要阅读所有内容。创建漏洞利用并创建一个简单的网络爬虫。 · PHP 基础知识学习语法,创建简单的博客系统,并学习PHP 或Python 框架(可选)。 Bootstrap 或CSS 布局。
8.超级黑客
这部分内容对于没有基础知识的同学来说还是比较遥远的,所以我们就不细说了,附上学习路线。
网络安全工程师企业级学习路线
如果图片太大且被平台压缩导致看不清,请在评论区点赞留言。我一定会回复
视频支持材料国内外网络安全书籍和文档工具
当然,除了支持视频之外,我们还整理了各种文档、书籍、资源工具,并进行了分类。
有些视频教程是我购买的,其他平台上没有。
#【Web理论】以上关于Web应用安全与风险的相关内容——Web应用软件安全吗?相关信息请参考官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91274.html