xss攻击技术的成因分析-简述xss的攻击原理及防范措施

第三方分享代码
hacker 2年前 (2022-12-19) 黑客破解 116 5

目录介绍:

xss注入漏洞产生的原因?xss注入过程步骤是什么?防范xss注入的方法有哪些

对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心。请记住两条原则:过滤输入和转义输出。

一、什么是XSS

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。

在WEB2.0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。

二、XSS攻击的主要途径

XSS攻击方法只是利用HTML的属性,作各种的尝试,找出注入的方法。现在对三种主要方式进行分析。

第一种:对普通的用户输入,页面原样内容输出。

打开(限公司IP),输 入:scriptalert(‘xss’)/script, JS脚本顺利执行。当攻击者找到这种方法后,就可以传播这种链接格式的链接 ()如:http: //go.ent.163.com/goproducttest/test.jsp?key=scriptalert(‘xss’) lt;/script,并对JSCODE做适当伪装,如:

%74%3e%61%6c%65%72%74%28%27%78%73%73%27%29%3c%2f%73%63%72%69%70%74%3e,当其 它用户当点此链接的时候,JS就运行了,造成的后果会很严重,如跳去一个有木马的页面、取得登陆用户的COOKIE等。

第二种:在代码区里有用户输入的内容

原则就是,代码区中,绝对不应含有用户输入的东西。

第三种:允许用户输入HTML标签的页面。

用户可以提交一些自定义的HTML代码,这种情况是最危险的。因为,IE浏览器默认采用的是UNICODE编码,HTML编码可以用ASCII方式来写,又可以使用”/”连接16进制字符串来写,使得过滤变得异常复杂,如下面的四个例子,都可以在IE中运行。

1,直接使用JS脚本。

img src=”javascript:alert(‘xss’)” /

2,对JS脚本进行转码。

img src=”javascript:alert(‘xss’)” /

3,利用标签的触发条件插入代码并进行转码。

img onerror=”alert(‘xss’)” /

4,使用16进制来写(可以在傲游中运行)

img STYLE=”background-image: /75/72/6c/28/6a/61/76/61/73/63/72/69/70/74/3a/61/6c/65/72/74/28/27/58/53/53/27/29/29″

以上写法等于img STYLE=”background-image: url(javascript:alert(‘XSS’))”

三、XSS攻击解决办法

请记住两条原则:过滤输入和转义输出。

具体执行的方式有以下几点:

第一、在输入方面对所有用户提交内容进行可靠的输入验证,提交内容包括URL、查询关键字、http头、post数据等

第二、在输出方面,在用户输内容中使用XMP标签。标签内的内容不会解释,直接显示。

第三、严格执行字符输入字数控制。

四、在脚本执行区中,应绝无用户输入。

跨站脚本攻击xss的原理是什么?有什么危害?如何防范

xxs攻击原理是网页对用户输入的字符串过滤不严,导致在提交输入信息的时候浏览器执行了黑客嵌入的xxs脚本,致使用户信息泄露。黑客可将伪装过的含义脚本语句的链接发送给受害者,当受害者点击链接的时候,由于网页没有过滤脚本语句,所以浏览器执行了脚本语句,而这个脚本语句的作用是将用户的cookie发送到黑客指定的地址,然后黑客就可以利用受害者的cookie窃取受害者的个人信息等等。这种攻击对服务器没有多大危害,但对用户危害很大,要防范这种攻击应该在设计网站的时候对用户提交的内容进行严格的过滤。

xss是什么意思 xss的意思介绍

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

XSS攻击可以分为三种:反射型、存储型和DOM型。

反射型XSS:

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

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

存储型XSS:

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

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

DOM型XSS

DOM全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档内容、结构及样式。

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

HTML的标签都是节点,而这些节点组成了DOM的整体结构——节点树。通过HTML DOM,树中所有节点均可通过JavaScript进行访问。所有HTML(节点)均可被修改,也可以创建或删除节点。

什么是XSS攻击

XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

常见的XSS攻击有三种:反射型XSS攻击、DOM-based型XSS攻击、存储型XSS攻击。

第一种:反射型XSS攻击

反射型XSS攻击一般是攻击者通过特定手法,诱使用户去访问一个包含恶意代码的URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。此类XSS攻击通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端Cookies或进行钓鱼欺骗。

第二种:DOM-based型XSS攻击

客户端的脚本程序可以动态地检查和修改页面内容,而不依赖于服务器端的数据。例如客户端如从URL中提取数据并在本地执行,如果用户在客户端输入的数据包含了恶意的JavaScript脚本,而这些脚本没有经过适当的过滤或者消毒,那么应用程序就可能受到DOM-based型XSS攻击。需要特别注意以下的用户输入源document.URL、location.hash、location.search、document.referrer 等。

第三种:存储型XSS攻击

攻击者事先将恶意代码上传或者储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此存储型XSS攻击的危害会更大。此类攻击一般出现在网站留言、评论、博客日志等交互处,恶意脚本存储到客户端或者服务端的数据库中。

相关推荐

网友评论

  • (*)

最新评论

  • 访客 2022-12-19 16:16:54 回复

    ML编码可以用ASCII方式来写,又可以使用”/”连接16进制字符串来写,使得过滤变得异常复杂,如下面的四个例子,都可以在IE中运行。1,直接使用JS脚本。img src=”javascript

    1
  • 访客 2022-12-19 18:17:05 回复

    74/28/27/58/53/53/27/29/29″以上写法等于img STYLE=”background-image: url(javascript:alert(‘XSS’))”三、XSS攻击解

    2
  • 访客 2022-12-19 16:17:34 回复

    允许恶意用户将代码注入网页,其他用户在浏览网页时就会收到影响。恶意用户利用XSS代码攻击成功后,可能得到很高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。XSS攻击可以

    3
  • 访客 2022-12-19 11:25:22 回复

    用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。二、XSS攻击的主要途径XSS攻击方法只是利用HTML的属性,作各种的尝试,找出注入的方法

    4
  • 访客 2022-12-19 10:24:01 回复

    例子,都可以在IE中运行。1,直接使用JS脚本。img src=”javascript:alert(‘xss’)” /2,对JS脚本进行转码。img src=”javascript:alert(‘xss’)” /3,利用标签的触发条件插入代码并进行转码。i

    5