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

DVWA篇之XSS反射型

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

Pikachu漏洞练习平台实验——XSS

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

XSS攻击及防御总结和各平台通关思路

代码审计XSS 漏洞