0


二十三种Web漏洞简述

Web漏洞简述

一、注入漏洞

注入漏洞,是指攻击者可以通过http请求将payload注入某种代码中,导致payload被当作代码执行的漏洞。

例如sql注入漏洞,攻击者将sql注入payload插入sql语句中,并且被sql引擎解析成sql代码,影响原sql语句的逻辑,形成注入。同样,文件包含漏洞、命令执行漏洞、代码执行漏洞的原理也类似,也可以看作代码注入漏洞。

二、失效的身份认证漏洞

失效的身份认证是指错误地使用应用程序的身份认证和会话管理功能,使攻击者能够破译密码、密钥或会话令牌,或利用其他开发漏洞暂时或长久地冒充其他用户的身份,导致攻击者可以执行受害者用户的任何操作。

三、敏感信息泄露漏洞

敏感信息是业务系统中对保密性要求较高的数据,通常包含系统敏感信息以及应用敏感信息。

系统敏感信息指的是业务系统本身的基础环境信息,例如系统信息、中间件版本、代码信息,这些数据的泄露可能为攻击者提供更多的攻击途径与方法。

应用敏感信息可以被进一步划分为个人敏感信息和非个人敏感信息,个人敏感信息包括身份证、姓名、电话号码、邮箱等,非个人敏感信息则可能是企事业单位甚至国家层面的敏感信息。

四、XML外部实体注入漏洞

XXE是XML外部实体注入的英文缩写。当开发人员配置其XML解析功能允许外部实体引用时,攻击者可以利用这一可引发安全问题的配置方式,实施任意文件读取、内网端口探测、命令执行、拒绝服务攻击等方面的攻击。

五、失效的访问控制漏洞

失效的访问控制是指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如访问其他用户的账户、查看敏感文件、修改其他用户的数据、更改访问权限等。

业界常将典型的越权漏洞划分为横向越权与纵向越权这两类。

六、安全配置错误漏洞

安全配置错误是常见的安全问题之一,这通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的http标头配置以及包含敏感信息的详细错误信息所造成的。

因此,我们不仅需要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时进行修补和升级。

七、跨站脚本漏洞

xss意为跨站脚本,为了避免与层叠样式表的缩写混淆,故将跨站脚本缩写为xss.

xss漏洞是指攻击者在网页中嵌入客户端脚本(通常是js编写的恶意代码),进而执行其植入代码的漏洞。

若web应用未对用户可直接或间接控制的“输入”与“输出”参数进行关键字过滤或转义处理,则很可能存在跨站脚本漏洞。

八、不安全的反序列化漏洞

java反序列化处理基于java架构的web应用中具有尤为重要的作用。

例如位于网络两端、彼此不共享内存信息的两个web应用在进行远程通信时,无论相互间发生何种类型的数据,在网络中实际上都是以二进制序列的形式传输的。

为此,发送方必须将要发送的java对象序列划为字节流,接收方则需要将字节流再反序列化,还原得到java对象,才能实现正常的通信。

当攻击者输入精心构成的字节流被反序列化为恶意对象时,就会造成一系列的安全问题。

九、使用含有已知漏洞的组件

“工欲善其事,必先利其器”。为了提高开发效率,许多开发人员会在应用系统中选用一些开发框架或者第三方组件。然而,这些组件在带来便利的同时,也可能为应用系统造成安全隐患,仿佛“隐现炸弹”。因此,我们应该对应用系统使用的第三方组件予以 重视。

十、不足的日志记录和监控漏洞

不足的日志记录和监控,以及事件响应或无效的集成,这类漏洞使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。

大多数缺陷研究显示,缺陷被检测出来的时间会超过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。

十一、CSRF漏洞

csrf意为跨站请求伪造是目前出现次数比较多的漏洞,该漏洞能够使攻击者盗用被攻击者的身份信息,去执行相关敏感操作。

实际上这种方式是攻击者通过一些钓鱼等手段欺骗用户去访问一个自己曾经认证过的网站,然后执行一些操作(如后台管理、发消息、添加关注甚至是转帐等行为)。

由于浏览器曾经认证过,因此被访问的网站会认为是真正的用户操作而去运行。

简而言之,csrf漏洞的工作原理是攻击者盗用了用户的身份,以用户的名义发生恶意请求。

十二、SSRF漏洞

ssrf意为服务端请求伪造是目前在大型站点中出现频率较高的漏洞,这种漏洞通常是由攻击者构造的payload传递给服务器,服务器对传回的payload未做处理直接执行而造成的。

一般情况下,攻击者无法访问攻击目标的内网,ssrf是攻击者访问内网的凭借之一,因为ssrf攻击是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。

ssrf的漏洞原理很简单,基本上都是服务端提供了从其他服务器应用获取数据的功能且没有对目标地址和传入命令进行过滤与限制造成的,如常见的从指定url地址加载图片,文本资源或者获取指定页面的网页内容等。

十三、RUL跳转漏洞

url跳转漏洞也叫作url重定向漏洞,由于服务端未对传入的跳转地址进行检查和控制,从而导致攻击者可以构造任意一个恶意地址,诱导用户跳转至恶意站点。

因为是从用户可信站点跳转出去的,用户会比较信任该站点,所以url跳转漏洞常用于钓鱼攻击,通过转到攻击者精心构造的恶意网站来欺骗用户输入信息,从而盗取用户的账户和密码等敏感信息,更甚者会欺骗用户进行金钱交易。

url跳转漏洞的成因并不复杂,主要是服务端未对传入的跳转url变量进行检查和控制,或者对传入的跳转url变量过滤不严格导致。

十四、文件操作漏洞

文件操作是java web的核心功能之一,其中常用的操作就是将服务器上的文件以流的形式在本地读写,或上传到网络上,java中file类就是对这些存储于磁盘上文件的虚拟映射。

与我们在本地计算机上操作文件类似,java对文件的操作同样包括上传、删除、读取、写入等。

java web本身去实现这些功能是没有漏洞的,但是由于开发人员忽略了一些细节,导致攻击者可以利用这些细节通过文件操作java web本身的这一个功能,从而实现形如任意文件上传,任意文件下载/读取、任意文件删除等漏洞,有的场景下甚至可以利用任意文件解压实现目录穿越或拒绝服务攻击等,对服务器造成巨大的危害。

十五、Web后门漏洞

web后门指的是以网页形式存在的一种代码执行环境,通过这种代码执行环境,攻击者可以利用浏览器来执行相关命令以达到控制网站服务器的目的。

十六、逻辑漏洞

逻辑漏洞一般是由于程序员自身逻辑存在缺陷,导致攻击者可以对逻辑缺陷进行深层次利用。

逻辑漏洞出现较为频繁的地方一般是登录验证逻辑、验证码效验逻辑、密码找回逻辑、权限效验逻辑以及支付逻辑等常见的业务逻辑。

十七、前端配置不当漏洞

随着前端技术的快速发展,各种前端框架、前端配置不断跟新,前端的安全问题也逐渐显现出来。为了应对这些问题,也诞生了诸如cors、csp、sop等一些应对策略。

十八、拒接服务攻击漏洞

Dos意为拒绝服务攻击,也称作洪水攻击,这种攻击的目标在于使目标的网络或系统资源耗尽,服务暂时中断或停止,导致正常用户无法访问。

十九、点击劫持漏洞

点击劫持也称为UI-覆盖攻击,漏洞原理,使攻击者可以在用户不知情的情况下访问计算机。

点击劫持是一种视觉上的欺骗手段,攻击者利用iframe元素制作了一个透明的不可见的页面,然后将其覆盖在另一个网页上,最终诱使用户在该网页上进行操作。

当用户在不知情的情况下单击攻击者精心构造的页面时,攻击者就完成了其攻击目的。

二十、http参数污染

简短来说,http参数污染就是为一个参数赋予两个或两个以上的值。

由于现行的http标准并为具体说明在遇到多个输入值为相同的参数赋值时应如何处理,并且不同站点对此类问题做出的处理方式不同,因此会造成参数解析错误。

二十一、变量覆盖漏洞

变量覆盖漏洞指的是可以用我们自定义的参数值替换程序原有的变量值,变量覆盖漏洞通常需要结合程序的其他功能来实现完整攻击,这个漏洞想象空间非常大,比如原本一个文件上传页面,限制的文件扩展名白名单列表写在配置文件中变量中,但是在上传的过程中有一个变量覆盖漏洞可以将任意扩展名覆盖掉原来的白名单列表,那我们就可以覆盖进去一个php的扩展名,从而上传一个php的shell。

二十二、暴力破解漏洞

暴力破解漏洞的产生是由于服务器端没有做限制,导致攻击者可以通过跑字典的手段暴力破解所需要信息,如用户名、密码、验证码等。

二十三、命令执行漏洞

应用程序有时需要调用一些执行系统命令的函数,如php中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当攻击者能控制这些函数的参数值时,就可以将恶意的系统命令拼接到正常的命令中,从而造成命令执行攻击,这就是命令执行漏洞。
标签: 前端 数据库 安全

本文转载自: https://blog.csdn.net/weixin_46849264/article/details/129771147
版权归原作者 剑白~ 所有, 如有侵权,请联系我们删除。

“二十三种Web漏洞简述”的评论:

还没有评论