麦粉社区
>
帖子详情

常见Web应用安全漏洞原理及防御介绍

独家观点 发表于 2021-10-11 13:52
发表于 2021-10-11 13:52:54
  Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的普及Web应用已经融入到我们生活中的方方面面。在企业信息化的过程中,越来越多的应用都架设在Web平台上。在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器侧的动态处理。此时,如果技术人员的安全意识不足,例如对程序参数输入等检查不严格,会导致Web应用安全问题层出不穷轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。这使得越来越多的用户关注应用层的安全问题,Web应用安全的关注度也逐渐升温。

  本文根据当前Web应用的安全情况,列举了Web应用程序常见的攻击原理及危害,并给出如何避免遭受Web攻击的建议。

1. SQL注入
  当应用程序将用户输入的内容,拼接到SQL语句中,一起提交给数据库执行时,就会产生SQL注入威胁。由于用户的输入,也是SQL语句的一部分,所以攻击者可以利用这部分可以控制的内容,注入自己定义的语句,改变SQL语句执行逻辑,让数据库执行任意自己需要的指令。通过控制部分SQL语句,攻击者可以查洵数据库中任何自己需要的数据,利用数据库的一些特性,可以直接获取数据库服务器的系统权限。

  本来SQL注入攻击需要攻击者对SQL语句非常了解,所以对攻击者的技术有一定要求。但是现在已经出现了大量SQL注入利用工具,可以让任何攻击者,只要点几下鼠标,就能达到攻击效果,这使得SQL注入的威胁极大增加。

1.png

2. XSS
  跨站脚本攻击(Cross Site Scripting)为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS恶意攻击者往Web页面里插入恶意html 代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

1) 反射型跨站脚本攻击
  攻击者会通过社会工程学手段,发送一个URL连接给用户打开,在用户打开页面的同时,浏览器会执行页面中嵌入的恶意脚本。file:///C:\Users\admin\AppData\Local\Temp\ksohtml8164\wps21.png

2.png

2) 存储型跨站脚本攻击
  攻击者利用web应用程序提供的录入或修改数据功能,将数据存储到服务器或用户 cookie中,当其他用户浏览展示该数据的页面时,浏览器会执行页面中嵌入的恶意脚本。所有浏览者都会受到攻击。

3.png

3. 命令注入
        命令注入和SQL注入差不多,只不过SQL注入是针对数据库的,而OS命令注入是针对操作系统的。OS命令注入攻击指通过Web应用,执行非法的操作系统命令达到攻击的目的。只要在能调用Shell函数的地方就有存在被攻击的风险。倘若调用Shell时存在疏漏,就可以执行插入的非法命令。

        命令注入攻击可以向Shell发送命令,让Windows或Linux操作系统的命令行启动程序。也就是说,通过命令注入攻击可执行操作系统上安装着的各种程序。

4.png

4. 跨站请求伪造
  CSRF(Cross Site Request Forgery),利用已登录的用户身份,以用户的名义发送恶意请求,完成非法操作。

  例如,如果用户浏览并信任具有CSRF漏洞的网站A,则浏览器会生成相应的cookie,并且用户访问危险的网站B而不退出网站。危险网站B要求访问网站A并提出要求。 浏览器使用用户的cookie信息访问网站A。 由于网站A不知道是用户自身发出的请求还是危险网站B发出的请求,因此将处理危险网站B的请求,从而完成了用户操作目的的模拟。 这是CSRF攻击的基本思路。

5.png

5. 越权访问
  越权漏洞是指应用在检查授权(Authorization时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。在实际的代码安全审查中,这类漏洞往往很难通过工具进行自动化检测,因此在实际应用中危害很大。其与未授权访问有一定差别。目前存在着两种越权操作类型:垂直越权操作和水平越权操作。

  垂直越权漏洞,也称为权限提升,是一种“基于URL的访问控制”设计缺陷引起的漏洞。由于Web应用程序没有做权限控制或者仅在菜单上做了权限控制,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

  水平越权漏洞,是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人而导致的越权数据访问漏洞。如服务器端从客户端提交的request参数(用户能够控制的数据)中获取用户id,恶意攻击者通过变换请求ID的值,查看或修改不属于本人的数据。

6.png

   随着互联网和Web技术广泛使用,Web应用安全所面临的挑战日益严峻,Web系统时时刻刻都在遭受各种攻击的威胁。因此,像BI这种典型的Web应用,需要制定一个完整的Web攻击防御解决方案。在这里以Smartbi为例,向大家介绍怎么做到防患于未然。

        首先,Smartbi通过软件自带的安全补丁工具包定期进行补丁文件的更新,并且支持热修复;其次,SmartbiWeb端、源码、组件等方面对产品进行安全问题自查,同时也通过与“补天众测平台”和“广东赛评检测中心”等第三方机构进行合作,定期对产品进行安全扫描,并积极配合解决发现的漏洞。最后,通过官方的技术支持渠道及时响应用户对安全问题的咨询和求助。

        由此可见,Smartbi正是通过建立全方位的安全漏洞防御机制来确保用户信息的安全。但是,Web攻击防御是一个长期持续的工作,随着Web技术的发展和更新,Web攻击手段也不断发展,针对这些最新的安全威胁,需要及时调整Web安全防御策略,使Web应用在一个安全的环境中为企业服务。



高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 1110浏览人数
最后回复于:2021-10-11 13:52
快速回复 返回顶部 返回列表