【Web理论篇】Web应用程序安全与风险_web应用软件的安全性高吗

🌲1.Web应用程序的发展历程

在因特网发展的早期阶段,万维网仅由Web站点构成,这些站点基本是静态文档的信息库。随后人们发明了Web浏览器,通过它来检索和显示那些文档。如今万维网与早期的万维网已经完全不同了,Web上的大多数站点实际上是应用程序。Web应用带来了新的重大的威胁,Web应用通常需要与内部计算机系统建立连接,这些系统中保存着高度敏感的数据,并能执行强大的功能。

🍂1.1 Web应用程序的常见功能

  • shoping
  • 社交:像大家喜欢用的QQ、微信、微博、钉钉、探探、陌陌、soul等等🤭
  • 银行服务
  • 浏览器搜索
  • 拍卖
  • 博彩与投机
  • 博客
  • 邮件
  • 交互信息
    还有很多,这里就不一一列举了。

🍂1.2 Web应用程序的优点

  • HTTP协议是用于访问万维网的核心通信协议,它是轻量级的,无需连接
  • 每个Web用户都可以在计算机和其它移动设备上安装浏览器,Web界面动态部署用户界面
  • 浏览器功能强大,内容丰富,特别是这个互联网快速发展的时代
  • Web应用程序的核心技术相对简单,容易上手。

🌲2.Web安全

任何应用程序都存在漏洞,世界上没有绝对安全的系统!

🍂2.1Web应用程序常见漏洞

你也为使用SSL技术就安全了吗?那你太天真了,我们先来看看web应用程序存在哪些漏洞:

  • 不完善的身份验证措施: 由于登录机制存在缺陷,攻击者可能爆破出账号密码
  • 不完善的访问控制措施: 应用程序无法为数据和功能提供全面保护,攻击者可以查看用户保存在服务器中的敏感信息,对数据进行操作等
  • SQL注入: 由于未对用户输入的数据做校验,攻击者能够从数据库中提取任何数据,破话其逻辑结构,执行命令等
  • 跨站脚本攻击(XSS): 攻击者可以利用该漏洞攻击应用程序的其他用户、访问其信息,执行未授权操作等。XSS分为三类:反射型XSS、存储型XSS、DOM型XSS。
  • 信息泄漏 包括应用程序泄露敏感信息,攻击者利用这些敏感信息通过有缺陷的错误攻击其它程序。
  • 跨站请求伪造(CSRF): 攻击者可以诱使用户在无意中使用自己的用户权限对应用程序执行操作,恶意Web站点可以利用该漏洞,通过受害用户与应用程序进行交互,执行用户并不打算执行的操作。
    SSL可为用户浏览器和Web服务器间的传输提供机密性和完整性保护功能。它有助于防止信息泄露,并可保护用户处理的Web服务器的安全性。但SSL并不能抵御直接针对某个应用程序的服务器或客户端组件的攻击,而许多成功的攻击都恰恰属于这种类型。需要特别指出的是,SSL并不能阻止上述任何漏洞或许多其它使应用程序收到威胁的漏洞。无论是否使用SSL,大多数Web应用程序任然存在安全漏洞。
    当然不止这些。还有**ssrf、xxe外部实体注入、逻辑漏洞、文件上传、文件包含、远程代码执行漏洞、短信轰炸漏洞,框架漏洞等等。**

🍂2.2未对用户输入做过滤

Web应用程序必须解决一个根本的问题,应用程序必须假设所有输入的信息都是恶意的输入,并必须采取措施确保攻击者无法使用专门设计的输入破话应用程序,干扰其逻辑结构与行为,并最终 达到非法访问其数据和功能的目的。这个问题的核心表现在以下几个方面:

  • 用户可干预客户端与服务端之间传递的所有数据,包括请求参数cookieHTTP信息头
  • 用户可按任何顺序发送请求,并可在应用程序要求之外的不同阶段不止一次提交或根本不提交参数。用户的操作可能与开发人员对用户和应用程序交互方式做出的任何假设完全不同。
  • 用户并不限于仅使用一种Web浏览器访问应用程序。大量各种各样的工具可以协助攻击Web应用程序。
    举例:
  • 更改隐藏的HTML表单字段提交的产品价格,以更低廉的价格欺诈性购买商品。
  • 修改在HTTP cookie中传送的会话令牌,劫持另一个验证用户的会话。
  • 利用应用程序处理过程中的逻辑错误删除某些正常提交的参数。
  • 改变由后端数据库处理的,某个输入,从而注入一个恶意数据库查询以访问敏感数据,也就是sql注入漏洞。
    毋庸置疑,SSL无法阻止攻击者向服务器提交专门设计的输入。应用程序使用SSL仅仅表示网络上其他用户无法查看或修改攻击者传送的数据。因为攻击者控制着SSL通道的终端,能够通过这条通道向服务器传送任何内容。如果前面提到的任何攻击实现,那么不论其在FAQ中声称其安全如何,应用程序都很容易收到攻击。

🍂2.3 造成这些漏洞的原因是什么呢?

Web应用程序存在如此多安全问题的因素主要有以下几个方面:

  • 安全意识不够成熟: 近年来,人们对Web应用程序安全问题的意识有所增强,特别是浙江这块,时不时就来一场互网行动,但与网络和操作系统这些更加完善的领域相比,人们对Web应用程序安全问题的意识还不够成熟。
  • 独立开发: 大多数Web应用程序都是由企业自己的员工或合作公司独立开发。即使应用程序使用第三方组件,通常也是使用新代码将第三方组件进行自定义或拼凑在一起。这种情况下,每个应用程序都不同,并且可能包含其独有的缺陷。
  • 程序员偷懒: 一个新手程序员可能短期内从头开始创建一个强大的应用程序。但是,在编写功能性代码与安全性代码之间存在巨大差异。他们可能缺乏发现安全问题的知识和经验。特别是很多框架拿来就用,一旦发现漏洞,则会影响很多无关的应用程序。
  • 迅速发展的威胁形势: Web应用程序攻击与防御研究发展相对不成熟,是一个正蓬勃发展的领域,人才缺口比较大,新概念与威胁出现的速度比传统的技术要快得多,应用程序部署后会面临许多未知的威胁。
  • 资源与时间限制: 由于独立、一次性开发的影响,许多Web应用程序开发会受到严格的时间与资源限制。小型组织通常不愿意多花时日评估一个新的应用程序。快速渗透通常只能发现明显的安全问题,而往往会遗漏比较细微、需要时间和耐心来发现的漏洞。
  • 技术瓶颈: 开发人员沿用原有的技术来满足新的需求,这种做法造成的安全漏洞与无法预料的负面影响也就不足为奇了。
  • 对功能的需求不断增强: 但我们都知道,功能越多,与数据库的交互就越多,可能存在的漏洞越多,如果安全防护没有做到位,则很容易被攻击。

🍂2.4 安全边界的改变

在Web应用程序出现之前,主要在网络边界上抵御外部攻击。保护这个边界需要对其提供的服务进行强化、打补丁,并在用户访问之前设置防火墙。
Web应用程序的出现改变了这一切,用户要访问应用程序,边界防火墙必须允许其通过 HTTP/HTTPS连接内部服务器;应用程序要实现其功能,必须允许其连接服务器以支持后端系统,如数据库、大型主机以及金融与后勤系统。这些系统通常处于组织运营的核心部分,并由几层网络级防御保护。
人们普遍采用电子邮件作为一种补充验证机制,安全边界一定程度上向客户端转移。当前,大量应用程序都包含“忘记密码”功能,攻击者可以利用该功能向任何注册地址发送账户恢复电子邮件,而无需任何其他用户特定的信息。因此,如果攻击者攻破了用户的Web邮件账户,就可以轻松扩大攻击范围,并攻破受害用户注册的大多数Web应用程序账户。

🍂2.5 最后谈谈Web安全的未来

经过历史长河的洗礼,目前因特网上的Web应用程序任然充满漏洞。在了解Web应用程序面临的安全威胁以及如何有效应对这些威胁之前,整个行业仍未形成成熟的认知。目前几乎没有迹象表明上述问题能够在不远的将来得到解决。
Web应用程序安全的另一个突出趋势为:攻击目标已由传统的服务器端应用程序转向用户端应用程序。后一类攻击仍然需要利用应用程序本身的缺陷,但这类攻击一般要与与其他用户进行某种形式的交互,以达到破坏用户与易受攻击的应用程序之间交易的目的。其他软件安全领域也同样存在这种趋势。
技术领域的各种最新趋势在一定程度上改变了Web应用程序的安全状态。像云计算。这一术语指更多地通过外部服务提供商来实施技术栈的各个部分,包括应用程序软件、应用程序平台、Web服务器软件、数据库和硬件。它也指在托管环境中大量采用虚拟化技术。和技术领域的大多数变革一样,这些趋势也催生了一些新型攻击,并导致现有攻击产生变体。虽然这些趋势受到人们的大肆追捧,但鉴于其导致的各种问题,它们并不像人们最初认为的那样会带来颠覆性的改变。
尽管Web应用程序发生了所有这些改变,一些典型漏洞并未表现出任何减少的迹象。它们继续出现,方式与Web技术发展初期大致相问。这些漏洞包括业务逻辑缺陷、未授权访问控制以及其他设计问题。即便在应用程序组什系出果从风一切皆服务”的时代,这些问题仍然会广泛存在。

🌲3.总结

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
img

网络安全工程师企业级学习路线

img
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

img
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web安全是指在网络环境中保护Web应用程序和相关数据免受安全威胁的一系列措施和技术。其中,软件安全和逆向分析是Web安全的两个重要方面。 软件安全是指针对Web应用程序安全漏洞进行保护和修复的过程。在开发和维护Web应用程序时,应该采取一系列的安全措施,如进行输入验证、授权和访问控制、数据加密、错误处理等。此外,还应定期进行安全审计和漏洞扫描,及时修补已发现的安全漏洞,以提Web应用程序安全性。 逆向分析是指对Web应用程序进行逆向工程,以发现其中存在的漏洞和安全隐患。通过逆向工程,可以获得应用程序的源代码或二进制代码,并对其进行分析和调试,从而揭示其中存在的漏洞和可能被攻击的点。逆向分析可以帮助安全专家更好地理解和评估Web应用程序安全性,并及时采取相应的修复措施。 在进行Web安全时,软件安全和逆向分析相辅相成。软件安全主要是预防和阻止安全漏洞的产生,而逆向分析则是通过对已有的Web应用程序进行研究和分析,发现并修复其中的安全漏洞。通过不断加强软件安全和逆向分析,可以提Web应用程序安全性,保护用户的隐私和数据安全,降低网络攻击带来的损失。 最后,需要强调的是,Web安全不仅是技术层面的问题,也涉及到人员培训和安全意识的问题。只有在全员参与和共同努力下,才能实现可靠的Web安全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值