关注我们

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

adminadmin 代码审计 2018-05-03 325 0

一 XSS漏洞总共分三总


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


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


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


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


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


二 实战例子


1:变量的直接输出

<?php
 
//XSS反射型漏洞
 
//1.变量的直接输出    
 
echo $_GET['XSS'];
 
?>

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

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

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


获取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']参数

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

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


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

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

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


测试代码

<?php
 
/* XSS反射型漏洞
 
1.变量的直接输出 
 
echo $_GET['XSS']; */
 
//$SERVER变量输出
//1 echo $_SERVER['PHP_SELF'];
 
//
echo urldecode($_SERVER['REQUEST_URI']);
 
?>


喜欢0评论已闭