`
ruilin215
  • 浏览: 1165002 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

网络安全之_XSS攻击

 
阅读更多

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

XSS攻击的危害包括

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马

7、控制受害者机器向其它网站发起攻击

XSS漏洞的分类

XSS漏洞按照攻击利用手法的不同,有以下三种类型:

类型A,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:

Alice给Bob发送一个恶意构造了Web的URL。

Bob点击并查看了这个URL。

恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。

具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。

Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。

类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:

Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。

Charly发现Bob的站点包含反射性的XSS漏洞。

Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。

Alice在登录到Bob的站点后,浏览Charly提供的URL。

嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。

类型C,存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:

Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。

Charly注意到Bob的站点具有类型C的XXS漏洞。

Charly发布一个热点信息,吸引其它用户纷纷阅读。

Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。

类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用,目前天清入侵防御产品所能防范的XSS攻击包括类型B和类型C。

XSS的传统防御技术:

1.基于特征的防御

XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。

传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。这种检测方法的缺陷显而易见:骇客可以通过插入字符或完全编码的方式躲避检测:

躲避方法1)在javascript中加入多个tab键,得到
< IMG SRC="jav ascript:alert('XSS');" >;
躲避方法2) 在javascript中加入&#x09编码字符,得到
< IMG SRC="javascript:alert('XSS');" >;
躲避方法3) 在javascript中加入
字符,得到
< IMG SRC="jav
ascript:alert('XSS');" >;
躲避方法4)在javascript中的每个字符间加入回车换行符,得到
< IMG SRC="j/r/na/r/nv/r/n/r/na/r/ns/r/nc/r/nr/r/ni/r/np/r
/nt/r/n:alert('XSS');" >
躲避方法5)对"javascript:alert('XSS')"采用完全编码,得到
< IMGSRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x
74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53
&#x27&#x29 >

上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的

还存在大量的误报可能:在上面的例子中,对"http://www.xxx.com/javascript/kkk.asp?id=2345"这样一个URL,由于包含了关键字“javascript”,也将会触发报警。

2.基于代码修改的防御

和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免:

步骤1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

步骤2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

步骤3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。

当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞.

分享到:
评论

相关推荐

    xss.zip_3A58_XSS 检测_country59a_xss/level11_xss。

    XSS(Cross Site Scripting),即跨站脚本攻击,是网络安全领域常见的漏洞类型之一。本文将深入探讨XSS的基础概念、分类、危害以及如何进行检测,结合提供的“xss.zip_3A58_XSS检测_country59a_xss/level11_xss”...

    php_XSS防攻击插件

    XSS(Cross-site scripting)是一种常见的网络安全漏洞,它允许攻击者在用户浏览器上执行恶意脚本,从而窃取敏感信息、操纵页面内容或执行其他恶意操作。为了防止这种攻击,PHP开发者通常会使用特定的插件来过滤或...

    2020年最新版本_XSS平台源码_超强版.rar

    XSS(Cross Site Scripting)攻击是网络安全领域中一种常见的攻击方式,主要通过注入恶意脚本,使得用户在访问受影响的网站时,恶意脚本在用户的浏览器上执行,从而窃取用户信息或进行其他有害操作。这个“2020年...

    信息安全_数据安全_1_ZN2018_WV_-_I___3_XSS.pdf

    总结来说,XSS攻击是一种严重的网络安全威胁,它通过在用户浏览器中执行恶意脚本来窃取信息、破坏网站正常功能等。防御XSS攻击需要综合运用安全加固、漏洞管理、风险控制和信息安全研究等策略。开发者和安全人员应...

    xss+csrf+html练习源码.rar_XSS_csrf_csrf源码_xss源码_xss练习源码

    XSS攻击主要通过注入恶意脚本到用户浏览器中执行,而CSRF攻击则利用用户在不知情的情况下发出请求。HTML注入作为一种常见的利用手段,也会被XSS和CSRF攻击所利用。今天,我们将通过对一个名为“xss+csrf+html练习...

    xss_javaxss_XSS_

    在网络安全领域,XSS(Cross-Site Scripting)攻击是一种常见的威胁,它允许攻击者通过在网页中注入恶意脚本,来劫持用户会话、窃取敏感信息或执行其他恶意操作。Java作为广泛使用的服务器端编程语言,也可能会遭遇...

    网络安全攻击方式XSS初探.pdf

    XSS攻击(Cross-site Scripting,跨站脚本攻击)是一种常见的网络安全攻击手段,攻击者利用恶意脚本代码注入网页,当用户浏览含有恶意脚本的网页时,这些代码会在用户浏览器上执行,从而达到攻击者的目的。XSS攻击...

    XSS.zip_XSS_c xss

    XSS,全称为Cross-Site Scripting,是一种常见的网络安全漏洞,主要发生在Web应用中。攻击者通过注入恶意脚本到网页上,当用户浏览这些网页时,恶意脚本会在用户的浏览器中执行,从而实现攻击者的目的,如窃取用户...

    XSS攻击实例1

    XSS(Cross-site scripting)攻击是一种常见的网络安全威胁,它利用了网站对用户输入的不适当处理,使得攻击者能够在网页中注入恶意脚本,从而影响其他用户。在本实例"XSS攻击实例1"中,我们将探讨这种攻击的原理、...

    web安全之XSS攻击demo

    本篇将深入探讨XSS攻击的概念、类型、危害以及防范措施,并结合提供的"web安全之XSS攻击demo"进行详细讲解。 XSS攻击是通过注入恶意脚本到Web页面中,使得当其他用户浏览这些页面时,脚本被执行,从而可以盗取用户...

    XSS利用与挖掘-_更新版.rar_Exploit_XSS_XSS 利用_pkav_web exploit

    **XSS(跨站脚本攻击)是一种常见的网络安全漏洞,主要出现在Web应用程序中。这种攻击方式允许攻击者通过注入恶意脚本到网页上,当用户访问这些被篡改的页面时,恶意脚本将在用户的浏览器中执行,可能导致敏感信息...

    XSS攻击常识及常见的XSS攻击脚本汇总.pdf

    XSS攻击常识及常见的XSS攻击脚本汇总

    信息安全_数据安全_2_ZN2018_WV_-_Blind_Xss_(femida_plugin).pdf

    信息安全是一个涉及保护计算机系统和网络免遭未授权访问或破坏的学科。数据安全是信息安全的一个子集,侧重于保护数据免受窃取、篡改、泄露等风险。本文档“信息安全_数据安全_2_ZN2018_WV_-_Blind_Xss_(femida_...

    总线与触控板_XSS_

    在IT领域,XSS(Cross-Site Scripting)是一种常见的网络安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本。"总线与触控板_XSS_"这个标题可能是指一个关于XSS攻击的项目或者研究,其中可能涉及到硬件接口(如...

    防止XSS攻击解决办法

    XSS(Cross-site scripting)攻击是一种常见的网络安全威胁,它利用了网站对用户输入的不当处理,使得攻击者能够注入恶意脚本,进而控制或者窃取用户的浏览器数据。防止XSS攻击是保护Web应用安全的重要一环,对于...

    预防XSS攻击和SQL注入XssFilter

    一、什么是XSS攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如...

    网络安全技术+XSS攻击和SQL注入攻击

    ### 网络安全技术详解:XSS攻击与SQL注入攻击 #### 一、XSS攻击 **XSS(Cross-Site Scripting)攻击**,即跨站脚本攻击,是一种常见的网络安全威胁,通常发生在用户信任的应用程序上。攻击者会尝试在网页中插入...

    htmlcleaner-2.22_html_XSS_

    XSS攻击是一种常见的网络安全问题,通过注入恶意脚本到网页,攻击者可以窃取用户的敏感信息,如Cookie、会话ID等。 在标题"htmlcleaner-2.22_html_XSS_"中,"htmlcleaner"是工具的名字,"2.22"是版本号,"html"代表...

    XSS.rar_XSS

    XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络安全问题,尤其是在Web前端开发中尤为突出。XSS攻击允许攻击者在用户浏览器上执行恶意脚本,从而窃取用户数据、操纵用户界面或者执行其他有害操作。以下...

    Using_XSS_to_bypass_CSRF_protection

    XSS攻击主要发生在客户端,即用户的浏览器端。这种攻击方式之所以常见,是因为许多Web应用在处理用户提交的数据时缺乏足够的输入验证或输出编码,从而导致恶意脚本被执行。 XSS攻击的基本原理是攻击者利用Web应用中...

Global site tag (gtag.js) - Google Analytics