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

一世执手 提交于 2020-04-07 13:35:25

                                                                               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']);

?>

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!