首页 > 代码库 > 代码审计中的XSS反射型漏洞
代码审计中的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反射型漏洞