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>,保存后最终存储的会是:<script>window.location.href="http://www.baidu.com"</script>在展现时浏览器会对这些字符转换成文本内容显示,而不是一段可执行的代码。
这里推荐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这个三方插件;
dome地址:https://github.com/MrLQZ/xss 环境为node+express
参考博客:XSS攻击及防御
转载于:https://www.cnblogs.com/lqzweb/p/7308249.html
xss原理、攻击方式与防御相关推荐
- XSS跨站脚本攻击原理与常见的脚本及《XSS跨站脚本攻击剖析与防御》摘录总结
XSS跨站脚本攻击原理与常见的脚本及<XSS跨站脚本攻击剖析与防御>摘录总结 一.XSS跨站脚本攻击的原理 1.什么是XSS跨站脚本 2.跨站脚本攻击产生因素 二.XSS跨站脚本攻击的类别 ...
- xss攻击突破转义_WEB安全之XSS攻击方式与防御方式
上一期给大家简单介绍XSS以及其操作,本期将带大家了解XSS比较常见的攻击方式与防御方式,一起去了解一下~ XSS 常见攻击方法 1.绕过 XSS-Filter,利用 <> 标签注入 Ht ...
- 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献
本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...
- Web前端攻击方式及防御措施
一.XSS [Cross Site Script]跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户 ...
- XSS跨站脚本攻击剖析与防御笔记
读书笔记,希望某位小伙伴用得上 第一章XSS初探 1.概念:Cross-Site Scripting简称XSS,是由于WEB应用程序对用户的输入过滤不足而产生的,攻击者利用网站漏洞把恶意脚本注入到网站 ...
- 常见web攻击方式与防御方法
1. 客户端攻击 1.1 跨站脚本攻击(XSS) 跨站脚本攻击(XSS)是客户端脚本安全中的头号大敌.OWASP TOP 10威胁多次把XSS列在榜首. 1.1.1 XSS分类 XSS根据效果的不同可 ...
- php攻击方式及防御方法,Syn Flood 攻击 及其一般防御方法
防火墙通知受到Syn Flood攻击,并解释说: A SYN Flood is an attempt to consume memory and resources. A Normal TCP/IP ...
- 目前最全DDOS攻击方式及防御措施,不看你就亏了!
DDoS的攻击方式 1.Synflood 该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应. 这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没 ...
- 网络验证常见的攻击方式与防御手段
目前,各种网络验证系统攻击事件层出不穷,搭过服务器的人可能都知道,DDOS攻击是中小型网络验证服务器的噩梦.基本上一打就死,而防御DDOS攻击的办法也只有一种就是硬抗,普通的DDOS硬防防火墙基本上都 ...
最新文章
- android 使用广播监听网络状态
- fetchsize jdbc_MySQL JDBC FetchSize解析
- Geoserver在Linux上的安装(图文教程)
- UI设计的扁平化图标模板素材
- Qemu-6.1.0多热补丁管理
- sorted(iterable[, key][, reverse])
- 【CCCC】L3-001 凑零钱 (30分),,01背包路径打印
- 信号与系统第四章总结
- 阿里巴巴优酷视频增强和超分辨率挑战赛-持续更新
- Java DES 加密解密工具类实现
- Notepad++ 替代品开源了,好用 !!!
- ../,./,/的区别
- 求解单位冲激响应的笔记
- 用户数据报协议(UDP)
- 1000个瓶子里面999瓶是水,多少次试验确定哪瓶是毒药
- 两年滴滴和头条的后端开发经验!字字都是肺腑之言!
- 高斯-克吕格(Gauss-Kruger)投影与UTM投影的区别
- java fix sence_repair fix mend的区别
- ACM训练日记—1月20日
- Java实现视频分类 【内链】
热门文章
- Android插件化原理解析——Hook机制之动态代理
- Android5.0源码分析—— Zygote进程分析
- Blind Return Oriented Programming (BROP) Attack - 攻击原理
- Apk去签名校验详解
- php伪静态教程,DedeCMS实现全站PHP伪静态
- JZOJ 5982. 【WC2019模拟12.27】路径排序
- 租赁mt4虚拟服务器,mt4服务器出租
- Cortex-A 的内核寄存器组
- 开发流媒体服务器_Github选出10大开源免费的RTSP流媒体项目
- 数据挖掘讲座:我所知道的一点Data Mining