代码审计学习之反射型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 总结

知识学的不全,都是一些比较基础的东西,知道原理之后,后面会慢慢深入!

时间: 2024-10-16 14:00:06

代码审计学习之反射型XSS的相关文章

反射型XSS+文件上传+CSRF&mdash;DVWA

在学习的过程中,想到将几种漏洞进行组合练习,记录下学习过程.大佬请绕过!谢谢!! 测试环境:DVWA,安装方法参考上一篇:https://www.cnblogs.com/aq-ry/p/9220584.html 前期知识:了解反射型XSS.文件上传.CSRF漏洞原理及利用方法. 一.反射型XSS; 查看源码文件:WWW\DVWA\vulnerabilities\xss_r\source\low.php 未做任何过滤,构造如下HTML代码,分别为两张图片,诱惑用户去点击,形成XSS攻击: <!DO

XSS跨站脚本(pikachu)——反射型xss(get和post)

XSS漏洞是危害比较大的一个漏洞了,主要危害的是前端用户.XSS漏洞可以用来进行钓鱼攻击,前端JS挖矿,用户cookie获取.甚至可以结合浏览器自身的漏洞对用户主机进行远程控制. 这是我从B站学习视频上截取到的攻击过程的图片觉得比较生动形象.  我们需要了解XSS的三种基本类型 反射型XSS:<非持久化> 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一次性,所见即所得,一般容易出现在搜索页面. 存储型XSS:<持久化>

bluecms v1.6 sp1 代码审计学习

前言 正式开始代码审计的学习,拓宽自己的知识面.代码审计学习的动力也是来自团队里的王叹之师傅,向王叹之师傅学习. 这里参考了一些前辈,师傅的复现经验和bluecms审计的心得 安装 install.php 搭建完成 seay自动审计 文件包含漏洞 /user.php 742-751行 elseif ($act == 'pay'){ include 'data/pay.cache.php'; $price = $_POST['price']; $id = $_POST['id']; $name =

YS&ldquo;本地相册&rdquo;功能存在反射型XSS漏洞【中危】

这是在测试YS"本地相册"功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS,当我在测试"本地相册"这个功能的时候,当我用burp拦截到HTTP请求时,发现该请求有3个参数,仔细观察,发现这3个参数居然和之前有XSS漏洞的接口的参数是一模一样的,但是有区别的地方:两者接口名称(action)是不一样的,两者参数个数不一样,之前的是4个,"

DVWA篇五:反射型XSS

1      测试环境介绍 测试环境为OWASP环境中的DVWA模块 2      测试说明 XSS又叫CSS (CrossSite Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的,比如获取用户的cookie,导航到恶意网站,携带木马等等.利用该漏洞,攻击者可以劫持已通过验证的用户的会话.劫持到已验证的会话后,攻击发起者拥有该授权用户的所有权限. 3      测试

看好你的门-XSS攻击(1)-利用反射型XSS漏洞 山寨红客插红旗

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 反射型XSS漏洞 如果一个应用程序使用动态页面向用户显示错误消息,如果系统没有对用户输入的内容进行过滤和处理,就会造成一种常见的XSS漏洞. 提取用户提交的输入并将其插入到服务器响应的HTML代码中,这是XSS漏洞的一个明显特征:如果应用程序没有实施任何过滤或净化措施,那么它很容易受到攻击. 2. 前提和准备 现在很多的浏览器默认有一些防止XSS漏洞或者攻击的功能,推荐用IE浏览器做X

解决反射型XSS漏洞攻击

对于程序员来说安全防御,无非从两个方面考虑,要么前端要么后台. 一.首先从前端考虑过滤一些非法字符. 前端的主控js中,在<textarea> 输入框标签中,找到点击发送按钮后,追加到聊天panel前 进行过滤Input输入内容 1 // 过滤XSS反射型漏洞 2 filterInputTxt: function (html) { 3 html = html.replace(/(.*<[^>]+>.*)/g,""); // HTML标记 4 html =

DWVA-关于反射型xss的漏洞详解&lt;xss reflected&gt;

反射型xss low级别 代码如下: 1 <?php 2 3 header ("X-XSS-Protection: 0"); 4 5 // Is there any input? 6 if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { 7 // Feedback for end user 8 echo '<pre>Hello ' . $_GET[

反射型xss

注入的本质就是:把用户的输入的数据当作代码执行.xss注入的关键:1.第一个是用户能够控制输入 2.原本程序要执行的代码,拼接了用户输入的数据xss主要拼接的是什么? sql注入拼接的是操作数据库的sql语句.xss拼接的是网页的html代码.我们一般会拼接出合适的html代码去执行恶意的js语句.xss能做什么? 盗取cooike.获取内网ip,等等.应为达到各种各样的效果需要比较复杂的代码,所以xss平台应哟个而生,{xsspt.com}xss平台大大方便了xss攻击,只需要引入一个平台就可