代码审计学习之反射型XSS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码审计学习之反射型XSS相关的知识,希望对你有一定的参考价值。
0x01 基础介绍
xss漏洞分类:一般来说分三种
反射型XSS
保存型XSS
基于DOM的XSS
今天先学习反射型xss:它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。
0x02 造成原因及利用
一般来说,许多漏洞造成的原因都是因为对用户的输入太信任造成的,没有进行严谨的过滤,通常在代码审计的过程中,审计获取用户输入的函数或者操作如存储等等
一、对变量直接输出
例如:
<?php
echo$_GET[‘xss‘];
?>
二:$_SERVER变量参数
$_SERVER[‘PHP_SELF‘]
测试代码:
<?php
echo $_SERVER[‘PHP_SELF‘];
?>
弹窗:
$_SERVER[‘HTTP_USER_AGENT‘]
此函数作用是获取浏览器信息
<?php
echo $_SERVER[‘HTTP_USER_AGENT‘];
?>
运行结果:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
可通过火狐插件Modify headers 修改User-Agent:的内容就行了
$_SERVER[‘HTTP_REFERER‘]
这一个跟上一个差不多更改Referer就可以了
$_SERVER[‘REQUEST_URI‘]
此函数是获取url的内容的,而且会对特殊字符进行编码,此时必须用到php中的urldecode才能达到反射型xss的效果。
有了urldecode()后:
<?php
echo urldecode($_SERVER[‘REQUEST_URI‘]);
?>
0x03 总结
知识学的不全,都是一些比较基础的东西,知道原理之后,后面会慢慢深入!
以上是关于代码审计学习之反射型XSS的主要内容,如果未能解决你的问题,请参考以下文章