XSS(跨站脚本攻打,Cross-sitescripting,不是CSS,因为CSS是一个叠层表)是网络安全中的常见问题。XSS攻打允许恶意网络用户将代码插入其他用户使用的页面。以达到打击的目的。例如,盗取用户cookie,破坏页面结构,重新导向到其他站点等等。

使用XSS攻打可以获得什么?

窃取cookies,读取cookie目标站点,然后将其发送到黑客服务器,例如以下代码:

1-1.png


这里提到的浏览器的自带防御功能,是指浏览器对这类问题的存在,对DOM对象的访问将有自己的禁用方法,避免了XSS注入的最基本问题。举例来说,在IE8和IE8的老版本中,Firefox也可以执行代码,但是Firefox却禁止访问DOM对象,因此在Firefox下执行操作时会出现异常:documentisnotdefined。

1.阅读用户未公开的资料,如:邮件列表或内容、系统客户资料、联系方式等,如代码等。

2.篡改网页、钓鱼或恶意散布。

3.网站重定向。

XSS防御。

实例:注入转义。

在对URL进行解析和发起get请求时,都需要读取URL包含的参数,如果在DOM中直接插入url中的参数,就有可能构成XSS攻打,攻打者可以利用这个漏洞向其他用户发送一个带有恶意链接,而这个用户也有可能中招。例如:

1-2.png


URL的param参数值并非合理的,而是由攻打者创建的。

再次提醒:超链接中的URL。

1-3.png


以上方法可以通过点击链接注入XSS来获得当前用户的cookie。

防卫方式

1.当恶意代码值显示为某个标签的内容:在不需要html输入的地方过滤html标签和一些特殊字符(<>&等),将其转换成浏览器无法解释的字符。

2.当恶意代码以标签的形式显示为一种属性时,通过将属性截断,打开新的属性或恶意方法:属性本身存在的单引号和双引号都需要转码;对用户输入的html标签和标签属性进行白名单过滤,或者对某些有漏洞的标签和属性进行特殊过滤。

xss攻打的常用方法。

1.绕过XSS-Filter,利用<>标签将Html/JavaScript代码插入其中;

2.使用HTML标签的properties值进行xss攻打。比如:

1-4.png


(当然,并非所有Web浏览器都支持Javascript伪协议,因此这类XSS攻打有一些限制)

空格、回车、标签。若XSSFilter只在黑名单中包含敏感输入字符,如javascript,用户可以使用空白、回车和Tab键绕过过滤,例如:

1-5.png


利用各种活动执行跨站脚本。比如:

1-6.png


onerror事件在视乎src错误时执行。

使用CSS进行交叉访问。比如:

1-7.png


违反过滤规则。比如:

1-8.png


1.使用字符编码技术,使XSS代码不仅可以绕过服务端的过滤,而且可以更好地隐藏Shellcode;(JS支持unicode、eacapes、十六进制、小数等编码形式)

2.将xss攻打的代码拆分为多个站,适用于应用程序不能过滤XSS关键字符的情况,例如<,>)但对输入字符长度有限制;

3.DOM型XSS主要由客户机脚本通过DOM向页面动态输出数据,该脚本不依赖于向服务器提交数据,而是从客户机获取DOM中的数据在本地执行。易于生成具有DOM类型XSS的输入源包括:Document.URL.

1-9.png


XSS攻打防御

原理:数据不依赖于客户输入。

注:攻打代码不需要加入。

使用XS筛选器。

为有效验证用户提交的数据,请输入一个过滤,该过滤只接受在指定长度范围内且符合预期格式的内容,阻止或忽略除此之外的任何数据。例如:电话号码必须包含数字和中划线,并且要规定长度的上限。对一些常见的敏感字符进行过滤,Html标签进行过滤或删除

热门词汇: Web安全 CSRF XSS 原理
相关资讯
  • 随着时代的发展和变迁,公司的主力军绝大多数都是80后或者90后,而且我们这辈子的习惯大部分都是在网上查询、翻阅资料,很多公司的购买者和企业创始人都是这个年龄段的人,和之前在网上吃饭交往的订单不一样。所...查看全文>>

  • 入门:如何学习PHP? 2021-03-18 PHP-w

    当今的网络技术正在飞速发展,企业也必须与时俱进,只有高度重视并充分利用网络技术,才能在实际操作中,让网络成为企业发展的助推器。作为网站开发的一种通用语言,PHP语言简单、易移植、应用空间大,逐渐受到网...查看全文>>

  • php的基本数据类型 2021-04-14 PHP-w

    PHP(PreHypertextPreprocessor)是超文本预处理器,是在服务器方面实施的脚本语言,特别适合网络开发,可以嵌入HTML。PHP语法使用C、Java和Perl。该语言的主要目标是允许网络开发者快速创建动态网页。 php总...查看全文>>

  • 什么叫PHP?PHP(英语名HypertextPreprocessor,中文名字“HTML文件预CPU”)是一种通用性开源系统开发语言。 语法消化吸收了C语言、Java和Perl的特性,有利于学习培训,应用普遍,关键适用Web开发设计行业...查看全文>>

  • 作为php的支持者,写这篇文章的主要目的是为PHP声援打call。本文将涉及以下五个方面:网上PHP的唱衰现状,科普PHP的辉煌历史,分析PHP的使用价值和发展前景,对将要进入PHP行业的新手提出建议。 第一、网上P...查看全文>>

  • PHP性能优化 2021-04-08 PHP-w

    优化代码当然可以提高PHP性能。但是,除了代码以外的要素也成为PHP的性能瓶颈。因此,程序员需要理解代码部署的整个服务器环境有助于他们在编写代码时做好一定的心理准备,并在性能有问题时快速识别和定位性能瓶...查看全文>>

在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部