代码审计中的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反射型漏洞的主要内容,如果未能解决你的问题,请参考以下文章