常见的Web漏洞

前言

        经常听大家提起漏洞,其实漏洞分很多种,今天我来介绍一下常见的Web漏洞有哪些吧。


1、SQL注入漏洞

介绍:

        SQL注入就是指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数代入数据库查询,攻击者可以通过够在不同的SQL语句来实现对是数据库的任意操作。

原理:

SQL注入漏洞的产生需要满足以下两个条件:

  • 参数用户可控:前端传给后端的参数内容是用户可以控制的。
  • 参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询。
常见的注入方式:
  1. Union注入
  2. Boolean注入
  3. 报错注入
  4. 时间注入
  5. 堆叠查询注入
  6. 二次注入
  7. 宽字节注入
  8. cookie注入
  9. base64注入
  10. XFF注入

2、XSS漏洞

介绍:

        XSS全拼为Cross-Site Scripting,为了和CSS有所区别,才改名为XSS,中文意思为跨站脚本,是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。它允许恶意用户将代码注入网页,其他用户在浏览网页时就会受到影响。恶意用户利用XSS代码攻击成功后,可能获得很高权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

原理:

1.反射型XSS

        反射型XSS又称为非持久性XSS,这种攻击方式往往具有一次性。

        攻击方式: 攻击者通过电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。当目标用户访问该链接时,服务器接收该目标用户的请求并进行处理,然后服务器把带有XSS代码的数据发送给目标用户服务器,浏览器解析这段带有XSS代码的恶意脚本后,就会触发XSS漏洞。

2.存储型XSS

        存储型XSS又称持久型XSS,攻击脚本将被永久的存放在目标服务器的数据库或文件中,具有很高的隐蔽性。

        攻击方式: 常见于博客,论坛和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永久的被存放在服务器的后端存储器中。当其他用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行。

3.DOM型XSS

        使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构及样式。DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

        攻击方式: 用户请求一个 经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DMO对象就会处理XSS代码,导致存在XSS漏洞。


3、CSRF漏洞

介绍:

        CSRF全拼为 Cross-Site Request Forgery,中文意思为跨站请求伪造,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。CSRF通过伪装成受信任用户请求受信任的网站。CSRF难以防范,危险性比XSS更高。

原理:

        可以这样理解:攻击者利用目标用户的身份,以目标用户的名义执行某些非法操作。CSRF能做的事包括:以目标用户名义发送邮件、发消息,盗取目标用户的账号,甚至购买商品、虚拟货币转账。常被用来制作蠕虫攻击、刷SEO流量等。

CSRF的攻击过程有以下两个重点:

  • 目标用户已经登录网站,能够执行网站的功能。
  • 目标用户访问了攻击者构造的URL。

4、SSRF漏洞

介绍:

        SSRF全拼为 Cross-Site Request Forgery,中文为服务器端请求伪造,是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统。

原理:

        SSRF的形成大多数由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

主要攻击方式:

  • 对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息。
  • 攻击运行在内网或本地的应用程序。
  • 对内网Web应用进行指纹识别,识别企业内部的资产信息。
  • 攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(比如struts2、SQli)。
  • 利用file协议读取本地文件等。

5、文件上传漏洞

介绍:

        上传文件时,如果服务器代码未对客户端上传的文件进行严格的验证和过滤,很容易造成可以上传任意文件的情况,包括上传脚本文件(asp、aspx、php、jsp等格式的文件)。非法用户可以利用上传的恶意监本文件控制整个网站,甚至控制服务器。这个恶意的脚本文件,又被成为WebShell,也可将WebShell脚本称为一种网页后门,WebShell脚本具有非常强大的功能,比如查看服务器目录、服务器中的文件,执行系统命令等。

文件上传攻击种类:
  • JS检测绕过攻击
  • 文件后缀绕过攻击
  • 文件类型绕过攻击
  • 文件截断绕过攻击
  • 竞争条件攻击

6、暴力破解漏洞

介绍:

        暴力破解产生原因是由于服务器没有限制,导致攻击者可以通过暴力的手段破解所需信息,用户名、密码、验证码等。暴力破解需要一个庞大的字典。(我个人是使用python根据需求生成字典)

防范方式:
  • 用户登录次数超过设置的阈值,锁定其账号。
  • 某个IP登录次数超过设置的阈值,则锁定IP。

7、命令执行漏洞

介绍:

        应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。

防范方式:
  • 尽量不要使用命令执行函数。
  • 客户端提交的变量在进入执行命令函数前要做好过滤和检测。
  • 在使用动态函数之前,确保使用的函数是指定的函数之一。
  • 对PHP语言来说,不能完全控制的危险函数最好不要使用。

8、逻辑漏洞

介绍:

        逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性。一般出现在密码修改、越权访问、密码找回、交易支付金额等功能处。其中越权访问又分为水平越权和垂直越权。

常见的逻辑漏洞种类:
  • 支付订单:在支付订单时,可以篡改价格为任意金额;或者篡改运费或其他费用为负数,导致总金额降低。
  • 越权访问:通过越权漏洞访问他人信息或者操纵他人账号。
  • 重置密码:
  • 竞争条件:余额10,A商品6元,B商品5元,使用多线程同时发送购买多个商品,可能会出现以下几种结果。
    1. 有一件商品购买失败。
    2. 商品都购买成功,但是只扣了6元。
    3. 商品都购买成功,但是余额变成了-1元。

9、XEE漏洞

介绍:

        XEE全拼 XML External Entity,中文为外部实体注入,XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。


以上是就是常见的Web漏洞介绍咯。

  • 13
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李钦。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值