DVWA-XSS (Reflected) 反射性 XSS
反射性XSS,是非持久性,也是最常见的XSS,通过解析传入前段页面,常见为交互式输入框
LOW
审计源码
<?php
// 发送请求头
header ("X-XSS-Protection: 0");
// 判断是否传入是否通过 name 键名传参
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// 将 name 传入的内容输入到页面
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
没有对传参name进行任何过滤,所以可以直接进行弹窗
<script>alert(document.cookie)</script>

成功获取cookie
反弹cookie可以去看我的另一篇博客,DVWA-XSS (DOM) DOM型跨站脚本攻击
Medium
审计源码
<?php
// 设置请求头
header ("X-XSS-Protection: 0");
// 判断是否传入 name 键名,和 name 的值是否为空
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// 获取传入的 name值
// str_replace 替换 <script> 为空
$name = str_replace( '<script>', '', $_GET[ 'name' ] );
// 将name 传参内容输入到页面
echo "<pre>Hello ${name}</pre>";
}
?>
这里将我们传入的<script>脚本标签转为了空,根据str_replace函数的特性,只会进行一个过滤,所以可以进行双写绕过
<scri<script>pt>alert(document.cookie)</script>

成功弹窗
High
审计源码
<?php
// 设置请求头
header ("X-XSS-Protection: 0");
// 判断 name 是否传承那
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// 获取传入的内容
// 使用 preg_replace 进行正则匹配
// /.../之间的内容为正则匹配语法
// .匹配除了换行的任意字符
// * 匹配前面表达式零次或者多次
// .* 就是匹配任意字符
// /i 不区分大小写
// 对 <script> 标签进行了严格的过滤
$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );
// 将 name 输入到页面
echo "<pre>Hello ${name}</pre>";
}
?>
对<script>标签进行了严格的过滤,可以使用<img />自src自加载特性,进行弹窗
<img src=1 onerror='alert(document.cookie)' />

成功弹窗
Impossible
审计源码
<?php
// 判断是否传入 name
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// 检查 user_token
checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );
// 获取传入的 name
// htmlspecialchars() 函数会对 html 标签进行实例化
$name = htmlspecialchars( $_GET[ 'name' ] );
// 将 name 输入到页面
echo "<pre>Hello ${name}</pre>";
}
// 生成user_token
generateSessionToken();
?>
可以看到,XSS也是非常容易防护的,只需要使用htmlspecialchars函数对html标签进行实例化即可
DVWA-XSS (Reflected) 反射性 XSS的更多相关文章
- DVWA XSS (Reflected) 通关教程
XSS 介绍XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需 ...
- DVWA靶场实战(十一)——XSS(Reflected)
DVWA靶场实战(十一) 十一.XSS(Reflected): 1.漏洞原理: XSS被称为跨站脚本攻击(Cross Site Script),而Reflected被称作反射型XSS.不同于DOM和S ...
- DVWA全级别之XSS(Reflected)、XSS(Stored)【跨站脚本攻击】
XSS XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强 ...
- XSS Reflected 测试
由于最近在做XSS方面的测试,于是找到了DVWA平台进行实验测试,通过这三篇文章让大家了解XSS方面的大概内容,这三篇文章只是把你领进XSS的大门,要想真正深入的学习XSS,你还需要去学习很多东西来提 ...
- 某大型网络社区传播性XSS分析
某大型网络社区传播性XSS分析 这个XSS存在于天涯某个不起眼的子论坛,通过发布新帖子可以触发. 漏洞分析 论坛针对XSS有一定过滤措施,例如转义单双引号,过滤左右尖括号等等.所 ...
- DVWA(七):XSS(stored)存储型XSS攻击
存储型XSS : 存储XSS,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在.提交JS攻击代码存储到数据库然后再输出. low: 观察源码: <?php if( isset( ...
- 小白日记49:kali渗透测试之Web渗透-XSS(三)-存储型XSS、DOM型XSS、神器BEFF
存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留 ...
- [80Sec]深掘XSS漏洞场景之XSS Rootkit
顶80SEC的牛. 深掘XSS漏洞场景之XSS Rootkit[完整修订版] EMail: rayh4c#80sec.com Site: http://www.80sec.com Date: 2011 ...
- Java Web使用过滤器防止Xss攻击,解决Xss漏洞
转: Java Web使用过滤器防止Xss攻击,解决Xss漏洞 2018年11月11日 10:41:27 我欲乘风,直上九天 阅读数:2687 版权声明:本文为博主原创文章,转载请注明出处!有时候 ...
- xss构造--如何使用xss语句
XSS的构造 1.利用[<>]构造html/js 如[<script>alert(/xss/)</script>] 2.伪协议 使用javascript:伪协议来构 ...
随机推荐
- UnityAndroid 获取根目录文件
1. 在Unity打包时获取SD权限 2. Android根目录为 "/storage/emulated/0"; 代码: if (Directory.Exists("/s ...
- 天龙八部<三联版>二
段誉来到无锡,遇上乔峰,斗气与乔峰比酒,乔峰误以为段誉是慕容复,段誉被乔峰豪气所折服,像乔峰坦言,乔峰不但不怒,反而对段誉很认可,二人结拜 段誉跟随乔峰来到丐帮,包不同和三女因为慕容复而和丐帮发生争执 ...
- 向excel中写数据的python代码
①首先需要安装xlwt插件 安装语句:pip install xlwt ②python代码 1 import xlwt 2 ''' 3 调用xlwt模块中的Workbook方法来创建一个excel表格 ...
- Docker基本命令之 容器管理
容器管理 查看正在运行的容器: docker ps 查看完整信息:docker ps --no-trunc 查看在运行或停止运行的容器:docker ps -a 查看容器系统资源的使用情况:docke ...
- oracle函数及相关问题
show user 查看当前用户select * from tab: 查看当前数据库中的表desc 表名 : 查看表结构 between and 包含开头结尾 函数: months_between(a ...
- Linux定时运行Python代码
背景 之前定时运行py文件都是jenkins设置定时任务运行,今天想linux有没有定时运行的东西,百度一下找到了,链接:http://blog.csdn.net/netdxy/article/det ...
- md5加密js内容
避免以后都得百度,直接留一份存档 /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Diges ...
- 独显坏掉,openSUSE启动黑屏卡死
我的Dell Vostro 1440配置双显卡,独显是 AMD 的.可能是因为散热的问题,独显烧坏了.原先每次启动都有 openSUSE 的圆形启动动画,显卡烧坏后,启动动画变成三个点. 装 Debi ...
- window.location.href 下载文件页面出现跳转 (重定向失效的问题)
页面出现跳转的话,要去检查请求的接口是不是出现了问题. 解决方法:URL前面加 "/" ${process.env.VUE_APP_BASE_API} / ${url}
- Vue的学习(1)
在学习Vue之前,首先大家要知道一个mvvm模式,何为mvvm模式呢,mvvm其实是有m,v和vm组成,类似与java里面的mvc模式,只不过mvc模式是针对于后台来说,而mvvm是针对于前台来说的, ...