常见WEB漏洞原理分析 十大常见web漏洞

常见WEB漏洞原理分析一、SQL注入漏洞
SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库

1. SQL注入漏洞

SQL注入攻击(SQL Injection)也称为注入攻击或SQL注入,是发生在应用程序数据库层的安全漏洞,广泛用于获得对网站的未经授权的控制。在设计程序时,对输入字符串中包含的SQL 指令的检查会被忽略,数据库会将它们误识别为正常的SQL 指令并执行它们,从而使数据库面临攻击和潜在的数据盗窃。此外,网站还面临着被嵌入的风险。恶意代码或后门程序。

SQL注入位置通常包括:

(1) 表格提交。主要是POST 请求(包括GET 请求)。

(2) 发送URL参数。主要是GET请求参数。

(3)发送cookie参数。

(4)HTTP请求头中的一些可变值如Referer、User_Agent等。

(5)一些边缘输入点,例如.mp3文件的一些文件信息。

一般预防方法

(1)所有查询语句均使用数据库提供的参数化查询接口。参数化语句使用参数而不是在SQL 语句中嵌入用户输入变量。几乎所有的现代数据库系统都提供了参数化的SQL语句执行接口。利用该接口可以非常有效地防止SQL注入攻击。

(2) 对输入到数据库中的特殊字符(如’”*;)进行转义或转换。

(3) 检查各数据的类型。例如,数值数据必须对应数值,数据库中的存储字段必须对应int类型。

(4) 由于数据长度必须严格指定,较长的SQL注入语句可能无法正确执行。

(5)网站各数据层的编码是统一的,如果上下层的编码不匹配,一些过滤模型可能会被绕过。

(6)通过严格限制网站用户的数据库操作权限,只授予用户工作所需的权限,可以最大程度地减少数据库注入攻击造成的损害。

(7)阻止你的网站显示SQL错误信息(类型错误、字段不匹配等),以防止攻击者利用这些错误信息做出决策。

(8)我们建议在发布您的网站之前使用专业的SQL注入检测工具及时检测并修复这些SQL注入漏洞。

2. 跨站脚本漏洞

跨站脚本(通常称为XSS)发生在客户端,可用于隐私盗窃、网络钓鱼、窃取密码、传播恶意代码和其他攻击。

XSS攻击使用的技术主要是HTML和Javascript(包括VBScript和ActionScript)。 XSS攻击不会对网站服务器造成直接损害,但它们通过网站传播并攻击网站用户,导致网站用户账户被盗,给网站带来严重损害。

XSS 类型包括:

(1)非持久性跨站:反射性跨站脚本漏洞是当今最常见的跨站类型。跨站点代码通常驻留在链接内。如果您请求此类链接,此类跨站点代码将不会存储在我们的服务器上(例如数据库中)。上一章给出的例子就是这样的情况。

(2)持久性跨站:这是最直接的跨站攻击类型,跨站代码存储在服务器(例如数据库)上。常见的情况包括当用户在论坛发帖时,用户输入的Javascript代码数据没有被论坛过滤,并且查看该帖子的其他用户的浏览器可以检测到发帖者嵌入的Javascript代码将被执行。

(3)DOM跨站(DOM XSS):发生在客户端DOM(文档对象模型)的跨站漏洞。主要原因是客户端脚本处理逻辑引起的安全问题。

常用的XSS 预防技术包括:

(1) 与SQL注入防护建议类似,所有输入都被假设为可疑,并且应严格检查所有输入中的script、iframe等词语。这里的输入不仅包括用户可以直接交互的输入接口,还包括HTTP请求中cookie中的变量、HTTP请求头中的变量等等。

(2)不仅检查数据的类型,还检查其格式、长度、范围和内容。

(3)除了在客户端执行数据验证和过滤之外,主要的过滤步骤都在服务器端执行。

(4) 还应检查输出数据。即使输入经过编码,数据库中的值也可以输出到多个位置。

(5) 在发布您的应用程序之前测试所有已知的威胁。

3、弱口令漏洞

弱密码没有硬性定义。容易被其他人(您熟悉的人)猜到或被破解工具破解的密码通常被认为是弱密码。设置密码通常遵循以下原则:

(1) 不要使用空白密码或系统默认密码。这些密码众所周知,是典型的弱密码。

(2) 密码长度必须至少为8 个字符。

(3) 密码不得包含连续字符(例如AAAAAAAA)或重复字符的组合(例如tzf.tzf.)。

(4) 密码必须由大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符四种字符的组合。每种类型至少包含一个字符。如果特定类型的字符仅包含一个字符,则该字符不能是第一个或最后一个字符。

(5) 请勿在密码中包含任何有关您自己、父母、子女或配偶的信息,例如您的姓名、出生日期、周年纪念日、登录名、电子邮件地址或字典中出现的单词。

(6) 密码不得用数字或符号代替特定字符。

(7) 密码必须易于记忆并能快速输入,以免其他人在背后轻易看到您的输入。

(8) 至少每90天更改一次密码,以防止未被发现的入侵者继续使用您的密码。

4. HTTP标头跟踪漏洞

HTTP/1.1 (RFC2616) 规范定义了HTTP TRACE 方法。此方法主要由客户端用来向Web 服务器发送TRACE 请求以检索测试或诊断信息。当Web服务器启用TRACE时,发送的请求标头将在服务器响应的内容(正文)中完整返回,并且HTTP标头可能包括会话令牌、cookie或其他身份验证信息。攻击者可以利用此漏洞欺骗合法用户并获取个人信息。该漏洞通常与其他方法结合起来进行有效的攻击,并且由于HTTP TRACE请求是通过客户端浏览器脚本(例如XMLHttpRequest)发起并通过DOM接口访问的,因此攻击者很容易被利用。

防止HTTP 标头跟踪漏洞的方法通常会禁用HTTP TRACE 方法。

5、Struts2远程命令执行漏洞

Apache Struts 是一个用于构建Java Web 应用程序的开源框架。 Apache Struts 存在一个输入过滤错误,当发生转换错误时,可利用该错误注入并执行任意Java 代码。

大多数网站都存在远程代码执行漏洞,因为它们使用Apache Struts Xwork 作为网站应用框架。您的网站面临安全风险,因为该软件存在高危远程代码执行漏洞。 CNVD 负责许多此类漏洞,包括“GPS 车辆卫星定位系统”网站远程命令执行漏洞(CNVD-2012-13934)和Aspcms 留言簿远程代码执行漏洞(CNVD-2012-11590)已得到解决。这样的。

要修复此类漏洞,只需访问Apache 官方网站(http://struts.apache.org) 并将Apache Struts 升级到最新版本即可。

6. 文件上传漏洞

文件上传漏洞通常是由于网页代码中文件上传路径变量过滤不严造成的。如果文件上传功能的实现代码没有严格限制用户上传的文件后缀和文件类型,攻击者就可以通过任何可访问的目录上传任意文件。通过网络远程控制网站服务器,包括网站后门文件(Web shell)。

因此,在开发网站和应用程序时,必须严格限制和验证上传的文件,不得上传含有恶意代码的文件。同时限制相关目录的执行权限,防止Web shell攻击。

7.私有IP地址泄露漏洞

IP地址是网络用户的重要指标,是攻击者在发起攻击之前需要了解的信息。获取此信息的方法有很多种,攻击者根据不同的网络条件采用不同的方法。例如,在LAN 中使用Ping 命令来ping 网络上某人的姓名,并使用IP 版本来获取他们的IP。使用QQ直接在网上展示。最有效的方法就是拦截并分析对方的网络数据包。攻击者可以通过软件找到并直接分析截获数据包的IP头信息,并根据这些信息获知具体的IP。

最有效的“数据包分析方法”是安装可以自动去除传输数据包标头中的IP信息的软件。但是,使用这些软件也有一些缺点,例如它们会消耗大量资源,降低您的计算机性能,影响您访问某些论坛和网站,并且不适合网吧用户。目前,个人用户隐藏IP 最常见的方法是使用代理。使用代理服务器会更改传输服务发送的数据包,并使数据包分析方法失效。一些容易泄露用户IP的网络软件(如QQ、MSN、IE等)支持使用代理方式连接互联网。特别是使用“ezProxy”等代理软件连接QQ后,IP版QQ就无法使用。显示IP 地址。虽然代理可以有效隐藏用户的IP,但攻击者也可以绕过代理并找出对方的真实IP地址。用户在任何给定情况下隐藏其IP 的方法也各不相同。

8. 未加密的登录请求

Web 配置不安全,登录请求会发送未加密的用户名和密码等敏感字段,从而使攻击者能够窃听您的网络并窃取这些敏感信息。我们建议使用SSH等方式加密发送。

9、机密信息泄露的漏洞

SQL注入、XSS、目录遍历、弱口令等都可能导致敏感信息泄露,攻击者可以通过漏洞获取敏感信息。针对每种原因采用不同的保护方法。

10.CSRF

http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

Web应用程序是采用B/S架构,通过HTTP/HTTPS协议提供服务的总称。随着互联网的普及,网络应用程序已融入日常生活的各个方面,包括网上购物、网上银行应用程序、证券和股票交易以及政府审批。这些Web 访问涉及大多数应用程序的动态服务器端处理,而不是静态Web 浏览。这时,如果Java、PHP、ASP等编程语言的程序员安全意识不够,不严格检查程序参数的输入,Web应用安全问题就会接二连三地出现。

本文结合当前Web应用的安全现状,列举了常见的Web应用攻击原理和风险,并提出了如何避免Web应用攻击的建议。

Web应用程序漏洞原理

Web应用程序攻击是指攻击者使用浏览器或攻击工具向Web服务器发送URL或其他输入区域(例如表单)中的特殊请求,以发现Web应用程序中的漏洞并利用它们进行进一步操作。并控制网站。查看或未经授权修改信息。

1.1 Web应用漏洞分类

1.信息泄露漏洞

当Web 服务器或应用程序错误处理某些特殊请求,导致敏感Web 服务器信息(例如用户名、密码、源代码、服务器信息或配置信息)泄露时,就会发生信息泄露漏洞。

信息泄露的主要原因有以下三点:

您的Web 服务器配置存在问题,导致某些系统或配置文件暴露到Internet。

Web 服务器本身存在一个漏洞,允许通过在浏览器中输入特殊字符来访问恶意文件或动态脚本文件的源代码。

网站编程存在问题,没有正确过滤用户提交请求,直接使用用户提交的数据。

2、目录遍历漏洞

当攻击者将“./”附加到具有特殊含义的URL 或目录,或者“./”的某种变体(“.\\”或“.//”或其编码)允许攻击者访问未经授权的目录并在Web 服务器根目录之外执行命令。

3.命令执行漏洞

命令执行漏洞包括通过URL发起请求、在Web服务器上执行未经授权的命令、检索系统信息、篡改系统配置、控制整个系统、瘫痪系统等。

存在命令执行漏洞的情况主要有两种。

利用目录遍历漏洞访问系统文件夹并执行指定的系统命令。

攻击者发送特殊字符或命令,但Web程序没有检测或绕过用户以指令形式发送的请求,从而导致任意命令执行。

4.该文件存在漏洞

当攻击者在向Web 服务器发出请求时将格式错误的参数附加到URL 时,就会出现文件包含漏洞。 Web服务器端的程序变量没有严格过滤,无效的文件名被视为参数。这些格式错误的文件名可能是服务器上的本地文件或远程端的恶意文件。由于该漏洞是由于PHP 变量过滤不严造成的,因此只有基于PHP 开发的Web 应用程序才可能受到文件包含的影响。

5. SQL注入漏洞

SQL 注入漏洞是由于Web 应用程序无法确定用户输入数据的有效性而导致的。攻击者使用精心构造的SQL 语句通过网页的输入区域注入特殊字符和指令。使用URL、表单等)通过数据库交互获取个人信息或伪造数据库信息的行为。 SQL注入攻击在Web攻击中非常常见,攻击者可以利用SQL注入漏洞获取管理权限,在网页中添加木马和各种恶意程序,可以窃取企业信息或敏感用户信息。

6. 跨站脚本漏洞

跨站脚本漏洞的发生是因为Web应用程序在用户打开恶意链接时没有过滤或限制用户提交的语句或变量。当页面被访问时,恶意代码会通过浏览器自动执行以达到攻击目的。跨站点脚本漏洞危害极大,尤其是在当今广泛使用的在线银行中。通过跨站点脚本漏洞,攻击者可以冒充受害者并获得敏感用户帐户的访问权限并窃取敏感的公司信息。

根据各漏洞研究机构以往的研究,SQL注入漏洞和跨站脚本漏洞的流行程度位居前两位,而且造成的危害也更大。

1.2 SQL注入攻击原理

SQL注入攻击是通过构造复杂的SQL语句并将其与网页提交的内容相结合来执行的。常用的方法包括使用注释符号、恒等式(如1=1)、在连接查询中使用Union 语句以及使用Insert 或Update 语句来插入或修改数据。它还使用一些内置函数来协助攻击。

利用SQL注入漏洞攻击网站的步骤一般如下:

步骤1:检测您的网站是否存在SQL注入漏洞。

第二步:检测后台数据库类型。

第三步:根据后台数据库类型发现系统表信息。

步骤4:发现现有表信息。

步骤5:发现表中存在的列信息。

步骤6:发现表中的数据。

1.3 跨站脚本攻击原理

跨站点脚本攻击的目标是窃取客户端的敏感信息并通过冒充受害者来访问用户的敏感帐户。跨站脚本攻击主要有以下三种形式:

1.本地跨站脚本攻击

B 向A 发送恶意构造的URL,A 点击查看该URL,并将该页面保存到本地硬盘(或)。 A在本地运行网页,网页中嵌入的恶意脚本可以根据A拥有的权限执行A计算机上的任意命令。

2.反射式跨站脚本攻击

A 经常访问B 拥有的网站。 A使用用户名和密码登录B网站,B网站存储了A的敏感信息(如银行账户信息)。 C发现B的网站存在跨站脚本漏洞,编写了一个利用该漏洞的URL,并确认该域名是B网站,并且该URL背后存在恶意意图(例如检索A的脚本)。 cookie 文件)来欺骗它。电子邮件或社会工程A 访问恶意URL。当A使用C提供的URL访问网站B时,网站B上存在跨站脚本漏洞,使得嵌入在URL中的恶意脚本通过Web服务器发送回A并在A的浏览器中执行。不知不觉间,它就被完全发送给了C。

3.持续的跨站脚本攻击

针对Web攻击的特点,考虑不同Web攻击的原理和形式,基于不同的漏洞模型,开发了通用的、层次化的Web攻击检测模型,并将其集成到特征库中。这些模型抽象了Web攻击的常见形式,能够准确识别主流攻击,具有通用性。

检测方法灵活,能够准确识别变形网络攻击。

在真实的攻击中,攻击者常常会对Web攻击进行改造,比如使用URL编码技术或者改变参数等,来逃避防攻击设备的检测。 H3C根据Web应用漏洞的原理、攻击方式、攻击目标等,扩展了攻击的特征。基于同一漏洞原理的不同变种攻击,即使攻击者改变攻击参数、格式、语句等,也能被有效拦截。这扩大了IPS的防护范围,大大增加了防御灵活性,并显着减少了误报的发生。

可靠地跟踪最新的漏洞和技术,有效防止最新的攻击。

Web攻击的频率日益增加,其危害也逐渐增大。这对IPS设备的防御深度和广度提出了更高的要求。不仅要能够防御现有的Web攻击,还必须能够有效阻止最新的未通知攻击。目前,H3C已经建立了完整的攻防测试环境,可以及时发现潜在的Web安全漏洞。同时,为了防止用户网络受到攻击,我们持续跟踪最新的Web攻击技术和工具,及时更新我们的Web攻击特征库,并第一时间发布最新的Web漏洞对策。

确保正常业务运营高效运转

检测引擎是整个IPS设备运行的关键。该引擎使用高效、准确的检测算法来深入分析通过您设备的流量并匹配异常情况。具有攻击特性。如果流量与攻击特征不匹配,则允许其通过,不会中断正常的网络服务,保证正常业务高效运行的同时提供精准防护。

结论

随着互联网和Web技术的激增,Web应用安全面临的挑战日益严峻,Web系统不断面临各种攻击的威胁。在这种情况下,您需要开发一套完整的Web攻击防护解决方案。应用程序、Web 服务器软件和Web 攻击防护设备协同工作,确保您整个网站的安全。一个简单的漏洞或错误就可能导致您的整个网站受到攻击,造成巨大损失。此外,防御Web攻击是一项长期持续的任务,随着Web技术的发展和更新,Web攻击技术也在不断发展,Web安全防护策略也必须根据这些最新的安全威胁进行调整。及时控制网络攻击预防,以便您的网站可以在安全的环境中为您的企业和客户提供服务。

网络安全成长路线图

早期朝这个方向起步相对容易,一旦掌握了一些基本技术并拥有了各种现成的工具,就可以开始黑客攻击了。然而,如果你想从一个脚本小子变成一名黑客高手,你越往这个方向发展,你需要学习和掌握的东西就越多。这是学习网络安全所需的方向。

上面介绍了技术分类和学习路线。有多种学习方法。

无论您访问Bilibili 还是YouTube,都有大量与网络安全相关的视频可供您学习。当然,如果您不确定选择哪个,我们还整理了一系列链接视频教程。如果您有兴趣开始网络安全,请单击此处以获得网络安全的巨大好处。免费提供完整的入门级和高级共享的282G学习资源包。

如果你对网络安全入门感兴趣,那么你点击这里CSDN大礼包:《黑客网络安全入门进阶学习资源包》免费分享

#以上常见Web漏洞原理分析相关内容仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92483.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月27日 上午11:01
下一篇 2024年6月27日 上午11:01

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注