xss编码小结
一、JS编码与HTML编码区分:
HTML实体可以使用十进制与十六进制编码;javascript可以使用Unicode与八进制与十六进制进行编码。
二、编码原理区分:
三、编码与非编码
对于JS编码:
1.<script>eval("\u0061\u006c\u0065\u0072\u0074\u0028\u002f\u0078\u0073\u0073\u002f\u0029");</script>(JS Unicode编码)
2. <script>eval("\141\154\145\162\164\50\57\170\163\163\57\51");</script>(JS八进制编码)
3.<script>eval("\x61\x6c\x65\x72\x74\x28\x27\x58\x53\x53\x27\x29");</script>(JS十六进制编码)
对于HTML编码:
1. <img src=1 onerror="alert(1)"> (HTML实体十进制编码)
2. <img src=1 onerror="alert(/xss/)"> (HTML实体十六进制编码)
对于URL编码:
1.%3Cscript%3Ealert(%2Fxss%2F)%3Cscript%3E
2. %3Cimg%20src%3D1%20onerror%3Dalert(%2Fxss%2F)%3E
3. %3Ca%20href%3D'javascript%3Aalert(%2Fxss%2F)'%3Eclick%20me%3C%2Fa%3E
对于非编码:
1.<script>alert(/xss/)</script>
2. <img src=1 onerror=alert(/xss/)>
3. <a href='javascript:alert(/xss/)'>click me</a>
最新文章
- Mac OSX网络诊断命令
- ligerUI Tree 实例 代码
- 洛谷P1465
- 腾讯面试题 腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
- form与action之setter与getter(转)
- INERT DELEYED、INSERT IGNORE replace into和insert区别
- 重操JS旧业第十弹:闭包
- 使用Iterator迭代器循环集合
- Integer、new Integer() 和 int 比较的面试题
- 字符型转换为字符串ToString
- 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结
- 使用IEDriverServer.exe驱动IE11,实现自动化测试
- Hdoj 1232.畅通工程 题解
- Git错误汇总
- day19 正则,re模块
- 《Android进阶之光》--注解与依赖注入框架
- AJPFX:外汇的价格图表类型和技术指标类型
- 003_Java笔记3:Eclipse添加jar包
- Ubuntu系统下在github中新增库的方法
- Alpha版本检测报告