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

Posted Clay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码审计中的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\']);

?>

 

 

以上是关于代码审计中的XSS反射型漏洞的主要内容,如果未能解决你的问题,请参考以下文章

熊海CMS 1.0代码审计漏洞集合

代码审计XSS 漏洞

蝉知CMS5.6反射型XSS审计复现

记一次小有成就的代码审计

DVWA--全等级XSS反射型(Reflected)

信安小白,一篇博文讲明白存储型反射型XSS漏洞