• 代码审计中的XSS反射型漏洞


                                                                                   XSS反射型漏洞

    一 XSS漏洞总共分三总

             XSS反射型漏洞,XSS保存型漏洞,基于DOM的XSS漏洞

    这次主要分享XSS反射型漏洞

             基本原理:就是通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特定的代码参数会被HTML解析,执行,如此就可以获取用户的COOIKE,进而盗号登陆。

             特点是:非持久化,必须用户点击带有特定参数的链接才能引起。

    比如hack甲构造好修改密码的URL并把密码修改成123,但是修改密码只有在登陆方乙才能修改,乙在登陆的情况下点击甲构造好的url将直接在不知情的情况下修改密码。

    二 实战例子

             1:变量的直接输出

      <?php

    //XSS反射型漏洞

    //1.变量的直接输出    

    echo $_GET['XSS'];

    ?>

             直接对GET获取的值写入一个弹框操作,成功弹出,测试代码和结果见下图

     

     

    获取cookie,ceookie就是相当于设别的一种认证的作用,获取到cookie就可以进行绕过登陆后台,把alert()括号里的值换成document.cookie即可

    alert(document.cookie)

    我测试的时候没有网,而且好像出了些故障,可能是版本的原因,获取的空白,这个各位朋友可以自己测试下。

    二。:$SERVER变量参数

     最常用的参数以及作用

      $_SERVER['PHP_SELF']    //直接在URL中输出执行

    $_SERVER['HTTP_USER_AGENT']                            //HTTP头中构造XSS

    $_SERVER['HTTP_REFERER']              //Referer头中构造

    $_SERVER['REQUEST_URI']

        $_SERVER['PHP_SELF']参数实例

           URL输入的直接在下面输出执行,所以只需要构造XSS直接弹框就行,效果如下

          $_SERVER['REQUEST_URI']参数

     

        

    基本原理如上 但多个URL编码 需要解码下 加个解码函数

    解码前执行函数  看符号被URL编码了 ,所以加个urldecode解码函数

      

    看加后成功弹出

     

    测试代码

    <?php
    
    /* XSS反射型漏洞
    
    1.变量的直接输出 
    
    echo $_GET['XSS']; */
    
     
    
    //$SERVER变量输出
    
     
    
    //1 echo $_SERVER['PHP_SELF'];
    
    //
    
    echo urldecode($_SERVER['REQUEST_URI']);
    
    ?>
    
     
  • 相关阅读:
    OpenCV图像处理之 Mat 介绍
    linux 更改网卡名称 eth0
    【git】git常用命令
    【JS】函数提升变量提升以及函数声明和函数表达式的区别
    【VUE】vue中遍历数组和对象
    加密盐的意义和用途
    sql server2005版本中,len函数计算了字符串末尾的空格
    ES之一:API使用及常用概念
    flink (一)
    ClassLoader详解 (JDK9以前)
  • 原文地址:https://www.cnblogs.com/arsense/p/6360990.html
Copyright © 2020-2023  润新知