Owasp top10 小结[通俗易懂]

Owasp top10 小结[通俗易懂]Owasptop101.SQL注入原理:web应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过恶意的sql语句来实现对数据库的任意操作。2.失效的身份认证和会话管理原理:在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出,密码管理,超时,密码找回,账户更新等方面存在漏洞。危害:由于存在以上的漏洞,恶意用户可能会窃取

大家好,又见面了,我是你们的朋友全栈君。

Owasp top10

1.SQL注入

  • 原理:web应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过恶意的sql语句来实现对数据库的任意操作。

2.失效的身份认证和会话管理

  • 原理:在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出,密码管理,超时,密码找回,账户更新等方面存在漏洞。
  • 危害:由于存在以上的漏洞,恶意用户可能会窃取或操纵用户会话和cookie,进而模仿合法用户。例如:窃取用户凭证和会话信息;冒充用户身份查看或者变更记录,甚至执行事务;访问未授权的页面和资源;执行超越权限操作。
  • eg:用户身份验证凭证没有使用哈希或加密保护;
           会话ID暴露在URL里(例如URL重写);

3.跨站脚本攻击 XSS

  • 定义:通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。一开始攻击是跨域的,所以称作“跨站脚本攻击”,但时至今日,由于js的强大功能以及网站前端应用的复杂性,是否跨域已经不再重要。
  • 实施XSS攻击条件:1.需要向web页面注入恶意html代码.2.这些恶意代码能被浏览器成功执行。

根据XSS效果,分为以下几类:

  1. 反射型XSS(非持久型XSS):给用户发送页面或者链接,让用户点击来进行攻击,也叫做“非持久型XSS”。
  2. 存储型XSS(持久型XSS):把攻击存放在服务器,使每个访问的人都可能遭受攻击,主动性更强。
  3. DOM型XSS:本质上是反射型,但是是通过用户点击,修改原本dom元素的属性,构造攻击动作
  • 反射型和dom型区别:
     反射型是构造好了攻击动作,然后就等你打开那个页面;dom型也是等你点击,但是不是页面,而是通过用户动作,把原来的动作注释掉,然后加上自己修改的动作。

4.直接引用不安全的对象(IDOR)

  • 定义:不安全的直接对象引用(IDOR)允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数据库条目或者服务器系统的隐私文件等。
  • 出现原因:1. web应用往往在生成Web页面时会用它的真实名字,且并不会对所有的目标对象访问时来检查用户权限;2. 服务器上的具体文件名,路径或数据库关键字等内部资源暴露在URL或网页中,攻击者可以尝试直接访问其他资源。

5.安全配置错误:

  • 定义:安全配置错误可以发生在一个应用程序堆栈的任何层面,包括网络服务,平台,web服务器,应用服务器,数据库,框架,自定义的代码等等。
  • 影响:攻击者能够通过未修复的漏洞,访问默认账户,不再使用的页面,未受保护的文件和和目录来取得对系统的未授权的访问或了解。

6.敏感信息泄露:

  • 成因:由于管理员或者技术人员等各种原因导致铭感信息泄露
  • 解决:因此,我们需要对敏感数据加密,这些数据包括:传输过程的数据,存储的数据以及浏览器的交互数据。

7.缺少功能级的访问控制:

  • 原理:Web应用程序的功能再UI显示之前,若没有验证功能级别的访问权限,攻击者能够伪造请求从而在未经适当授权时访问功能。

8.跨站请求伪造:

  • 原理:1. 用户输入账户信息请求登录A网站。2. A网站验证用户信息,通过验证后返回给用户一个cookie。 3. 在未退出网站A之前,在同一浏览器中请求了黑客构造的恶意网站B。 4. B网站收到用户请求后返回攻击性代码,构造访问A网站的语句。 5.浏览器收到攻击性代码后,在用户不知情的情况下携带cookie信息请求了A网站。此时A网站不知道这是由B发起的。
  • 攻击条件:a 用户访问站点A并产生了cookie b 用户没有退出A同时访问了B
  • CSRF分类:

       GET型:

       如果一个网站某个地方的功能,用户修改邮箱是通过GET请求进行修改的。如:/user.php?id=1&password=123456,指用户id=1修改密码为123456,则攻击者     可以诱使用户点击链接,而此时用户正访问此页面,则账户密码会被修改为123456了。

       POST型:

       如果一个网站开发者的安全意识不够,使得攻击者获取到用户提交表单处理的地址,即可通过伪造post表单恶意提交(例如购买物品)造成损失。

  • CSRF漏洞挖掘
  1. 抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在csrf漏洞
  2. 如果有Referer字段,但是去掉Referer字段后重新提交仍然有效,那么基本上可以确定存在CSRF漏洞。
  • 防御手段:
  1. 验证http referer中记录的请求来源地址是否是合法用户地址(即最开始登录来源地址)
  2. 重要功能点使用动态验证码进行CSRF防护
  3. 通过token方式进行CSRF防护,在服务器端对比POST提交参数的token与Session中绑定的token是否一致,以验证CSRF攻击

9.使用含有已知漏洞的组件:

  • 原理:大多数的开发团队并不会把及时更新组件和库当成他们的工作重心,更不关心组件和库的版本,然而应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,可能导致严重的数据丢失或服务器接管。

10.未验证的重定向和转发:

  • 成因:在web应用中,没有对带有用户输入参数的目的url做验证。而这个时候攻击者就可以引导用户访问他们所要用户访问的站点(钓鱼网站)。此外还有获取信息,访问恶意网站,随意跳转,安装恶意软件等。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140000.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 生成pdf有的内容显示不出来_为什么ug程序生成导轨不显示

    生成pdf有的内容显示不出来_为什么ug程序生成导轨不显示TFRecord  TensorFlow提供了TFRecord的格式来统一存储数据,TFRecord格式是一种将图像数据和标签放在一起的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储等等。  TFRecords文件包含了tf.train.Example协议内存块(protocolbuffer)(协议内存块包含了字段Features)。我们可以写一

    2022年10月23日
  • Dubbo架构(应用架构)

    一、整体框架1、Dubbo介绍ApacheDubbo是一款高性能、轻量级的开源JavaRPC框架。它有三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1、Dubbo特点1、面向接口代理的高性能RPC调用:提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。2、智能负载均衡:内置多种负载均衡策略,智能感知下游节点健康状…

  • HNUSTOJ-1543 字符串的运算再现

    HNUSTOJ-1543 字符串的运算再现

  • 傅里叶级数与傅里叶变换公式推导「建议收藏」

    傅里叶级数与傅里叶变换公式推导「建议收藏」首先,傅里叶分析是指把一个周期或非周期函数展开成一个个三角函数的叠加,如果是对其还没有基本概念的,可以看看傅里叶分析之掐死教程,这篇文章不依赖数学公式却又十分透彻地讲述了傅里叶分析的基本概念,十分值得一读。但如果先深入探讨其中的数学由来,接下来会讲述详细的数学推导。傅里叶级数三角函数系的正交性三角函数系:{1,sinx,cosx,sin2x,cos2x,…,sinnx,cosnx,…},它由无数个sinnx和cosnx组成,其中n=0,1,2,…。正交性:∫−ππsin⁡nxcos⁡mxdx=0,

  • 分布式网站的通讯架构

    分布式网站的通讯架构

  • Springboot源码_pe启动制作源码

    Springboot源码_pe启动制作源码我们在使用SpringBoot启动项目的时候,可能只需加一个注解,然后启动main,整个项目就运行了起来,但事实真的是所见即所得吗,还是SpringBoot在背后默默做了很多?本文会通过源码解析的方式深入理解SpringBoot启动全过程SpringBoot启动过程流程图源码解析大家不要抗拒源码解析,这个非常优秀的代码,我们如果能够学会对自己代码编写水平大有裨益首先,我们先来看下SpringBoot项目的启动类@SpringBootApplicationpublicclassSp.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号