zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

      源代码:

    可以看到是用htmlspecialchars 对get参数message进行处理,但是他默认不对单引号进行处理的。

    只对预定义的字符进行处理:

    • & (和号)成为 &
    • " (双引号)成为 "
    • ' (单引号)成为 '
    • < (小于)成为 <
    • > (大于)成为 >
    它的语法如下:
    htmlspecialchars(string,flags,character-set,double_encode)

        其中第二个参数flags需要重要注意,很多开发者就是因为没有注意到这个参数导致使用htmlspecialchars()函数过滤XSS时被绕过。因为flags参数对于引号的编码如下:

     可用的引号类型:

    • ENT_COMPAT - 默认。仅编码双引号。
    • ENT_QUOTES - 编码双引号和单引号。
    • ENT_NOQUOTES - 不编码任何引号。
    默认是只编码双引号的!默认只编码双引号!默认只编码双引号……重要的事情说三遍!!!

     如果我们的源码是:htmlspecialchars($message, ENT_QUOTES),

    这个时候才用我们的payload 就不行了,单引号被转义了。

    payload:

    输入: ' onclick='alert(111)'       点击触发xss

    输入:' onmouseover='alert(1)      触发xss

    输入:  ' onmouseover='javascript:alert(1)'   触发xss

  • 相关阅读:
    6.1 tar:打包备份
    6.3-4 zip、unzip
    6.5 scp:远程文件复制
    S7 Linux用户管理及用户信息查询命令
    7.6 passwd:修改用户密码
    7.2-5 usermod
    DES
    FreeRTOS笔记
    第4章 裸机系统和多任务系统
    第008课_第1个ARM落版程序及引申
  • 原文地址:https://www.cnblogs.com/kuaile1314/p/11373374.html
Copyright © 2011-2022 走看看