xss原理、攻击方式与防御

xss原理:

xss叫跨站脚本攻击,是Web程序中常见的漏洞只用于客户端的攻击方式,其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。所以做网站的时候要明白一个道理:用户的输入是不可信的,所有可输入的地方都要进行数据进行处理才能杜绝xss攻击;

xss攻击的二种方式:

1.反射型:一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人。通常为通过改变网页连接后面带的参数来达到他们的攻击目的;由于这种危害和范围都小我就不具体介绍了,具体看下方链接;

2.存储型:这种方式多用于评论或发布文章之类的,内容包含恶意代码(主要为script、link、style、iframe、frame);当有人把这些代码随评论发布出来,你点击查看的时候他就攻击成功;也可以通过这些代码随意改变你的页面;这种攻击方式危害性更大,危害面更广;

xss防御的三种方式:

1.编码:对用户输入的数据进行HTML entity编码

比如用户输入:<script>window.location.href=”http://www.baidu.com”;</script>,保存后最终存储的会是:&lt;script&gt;window.location.href=&quot;http://www.baidu.com&quot;&lt;/script&gt;在展现时浏览器会对这些字符转换成文本内容显示,而不是一段可执行的代码。

这里推荐encode.js这个三方插件对输入编码;百度找不到就去github上找;

2.过滤:移除用户上传的DOM属性和script、link、style、iframe、frame节点

比如用户输入:<style>body{display:none!important}</script>,保存后最终存储的会让你整个网页为空白页,其他同理;

if(tag==‘script‘||tag==‘style‘||tag==‘link‘||tag==‘iframe‘||tag==‘frame‘) return;  //这样就对用户输入的几个节点过滤了

3.校正:避免直接对HTML entity编码,使用DOM Parse对象进行转换,校正不匹配的DOM标签;这里推荐domParse.js这个三方插件;

参考博客:XSS攻击及防御

时间: 2024-10-27 19:06:16

xss原理、攻击方式与防御的相关文章

Web前端攻击方式及防御措施

一.XSS [Cross Site Script]跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的.  1.Reflected XSS 基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击.Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中.  2.Stor

DDoS攻击、CC攻击的攻击方式和防御方法

DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的.分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没

[转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式

[思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能. 挖低危的清风i春秋作家 发表于 7 天前01372 本帖最后由 春风得意水先知 于 2019-9-25 23:50 编辑 Mimikatz的多种攻击方式以及防御方式 Mimikatz的简介:     Mimikatz为法国人Benjamin Delpy编写的一款轻量级的调试工具,在内网渗透过程中,它多数

6.XSS攻击方式及防御措施

一.前端XSS攻击分类 1.什么是XSS攻击 XSS允许恶意的web用户将代码植入到提供给其他用户使用的页面中 2.XSS分类 反射型(非持久型)XSS 存储型(持久型)XSS DOM-Basedx型 XSS (1)反射型XSS 攻击方式:诱导用户点击率一些带恶意脚本参数的URL,而服务器直接使用了恶意脚本并返回了结果页,从而导致恶意代码在浏览器执行 (2)持久型XSS 攻击方式:将恶意代码上传或存储到了漏洞服务器上,用户访问页面时,页面中包含了恶意脚本 (3)DOM-Basedx型XSS 攻击

web攻击方式和防御方法

在http请求报文中加载攻击代码,就能发起对web应用的攻击.通过url查询字段或者表单.http首部.cookie等途径吧攻击代码传入,若这时web应用存在安全漏洞,那内部信息就会遭到窃取! 对web的攻击模式有两种: 主动攻击(主动攻击服务器) 被动攻击(上传木马程序,用户访问时触发http陷阱) 实施的安全策略主要分为两步: 客户端验证 服务端验证(输入值验证,输出值转义) 两种主要的攻击方式 1.SQL注入攻击(php防止方法是使用mysqli_real_escape_string或者a

xss跨站脚本攻击剖析与防御-读书笔记

<?php /* 1.什么是xss?           xss中文名字<跨站脚本>主要是因为web程序对输入输出过滤不足导致的.           攻击者利用xss漏洞把恶意脚本代码(HTML+Javascript)注入到网页中,           当用户浏览这些网页时,就会执行恶意代码,对受害者进行攻击,例如           盗取Cookie,会话劫持,钓鱼欺骗等各种攻击. 2.xss的危害        Cookie盗取                只要有记住密码功能,盗

浅谈xss原理

近日,论坛上面XSS满天飞,各处都可以见到XSS的痕迹,前段时间论坛上面也出现了XSS的迹象.然后我等小菜不是太懂啊,怎么办?没办法只有求助度娘跟谷歌这对情侣了. 可以说小菜也算懂了一些,不敢藏私,故发文出来大家一块学习,讨论. 下面是正文: 0x00:xss的来由 记得之前看过一篇文章,这样来形容XSS " 如果把浏览器看作WEB2.0后时代的操作系统,那么客户端脚本就相当于传统的应用程序,而XSS的攻击方式其实就相当于在被攻击者的系统上执行了一个木马程序.但这种"木马"有

XSS脚本攻击漫谈

XSS跨站脚本攻击一直都被认为是客户端  Web安全中最主流的攻击方式.因为  Web环境的复杂性以及 XSS跨站脚本攻击的多变性,使得该类型攻击很难彻底解决.那么,XSS跨站脚本攻击具体攻击行为是什么,又该如何进行有效的防范呢?本文对此进行了有针对性的具体实例分析.跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的 HTML代码,从而盗取用户资料.利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方

XSS跨站脚本攻击防御和Cookie,及SSO单点登录原理

XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等. XSS攻击 XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based X