反射性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的更多相关文章

  1. DVWA XSS (Reflected) 通关教程

    XSS 介绍XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需 ...

  2. DVWA靶场实战(十一)——XSS(Reflected)

    DVWA靶场实战(十一) 十一.XSS(Reflected): 1.漏洞原理: XSS被称为跨站脚本攻击(Cross Site Script),而Reflected被称作反射型XSS.不同于DOM和S ...

  3. DVWA全级别之XSS(Reflected)、XSS(Stored)【跨站脚本攻击】

    XSS XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强 ...

  4. XSS Reflected 测试

    由于最近在做XSS方面的测试,于是找到了DVWA平台进行实验测试,通过这三篇文章让大家了解XSS方面的大概内容,这三篇文章只是把你领进XSS的大门,要想真正深入的学习XSS,你还需要去学习很多东西来提 ...

  5. 某大型网络社区传播性XSS分析

    某大型网络社区传播性XSS分析 这个XSS存在于天涯某个不起眼的子论坛,通过发布新帖子可以触发.         漏洞分析    论坛针对XSS有一定过滤措施,例如转义单双引号,过滤左右尖括号等等.所 ...

  6. DVWA(七):XSS(stored)存储型XSS攻击

    存储型XSS : 存储XSS,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在.提交JS攻击代码存储到数据库然后再输出. low: 观察源码: <?php if( isset( ...

  7. 小白日记49:kali渗透测试之Web渗透-XSS(三)-存储型XSS、DOM型XSS、神器BEFF

    存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留 ...

  8. [80Sec]深掘XSS漏洞场景之XSS Rootkit

    顶80SEC的牛. 深掘XSS漏洞场景之XSS Rootkit[完整修订版] EMail: rayh4c#80sec.com Site: http://www.80sec.com Date: 2011 ...

  9. Java Web使用过滤器防止Xss攻击,解决Xss漏洞

    转: Java Web使用过滤器防止Xss攻击,解决Xss漏洞 2018年11月11日 10:41:27 我欲乘风,直上九天 阅读数:2687   版权声明:本文为博主原创文章,转载请注明出处!有时候 ...

  10. xss构造--如何使用xss语句

    XSS的构造 1.利用[<>]构造html/js 如[<script>alert(/xss/)</script>] 2.伪协议 使用javascript:伪协议来构 ...

随机推荐

  1. element-ui casader组件动态加载的回显问题

    最近在做项目的时候用到了element-ui的cascader来做省市区的级联显示 我要做的需求就是在选择某个省的时候,再去加载省下面的所有市,在实现这个需求的过程中遇到了二级菜单不能反显的情况.以下 ...

  2. linux开机启动执行脚本或命令

    添加到    /etc/rc.d/rc.local    给文件执行权限   /etc/rc.d/rc.local 用于用户自定义开机启动程序,可以往里写开机要执行的命令或脚本,线上的配置如下: [r ...

  3. 使用excel生成多条sql语句

    前提: excel 表里有2列数据,现在要每一列 生成一个sql 语句,应用自定义字符 在第三行单元格里面写入:="zdy"&A2&"zdy"& ...

  4. PostScript语言教程(六、图形变换)

    6.1.坐标系变换 POSTSCRIPT图形操作是在一个坐标系中,这个坐标系被称为用户坐标系或用户空间,该坐标系独立于任何物理设备.POSTSCRIPT在用户空间中进行绘制,并将结果传输到特定的打印机 ...

  5. UTT艾泰路由器默认口令(admin/admin)

    网络空间资产搜索: 登陆弱口令:admin/****** 登陆成功 End!!!

  6. token能放在cookie中吗

    能. token一般是用来判断用户是否登录的, 它内部包含的信息有: uid(用户唯一的身份标识). time(当前时间的时间戳). sign(签名,token 的前几位以哈希算法压缩成的一定长度的十 ...

  7. 自己制作Switch大气层SDFile

    ️SWITCH SDFILE 每次吃灰之后,就想更新下系统,每次都得研究一遍... 决定好好研究下,发现不是很繁琐. SDFile有哪些文件组成! Atmosphere 任天堂Switch定制固件 H ...

  8. AutoCAD2018_64bit

    「AutoCAD_2018_Simplified_...hinese_Win_64bit」https://www.aliyundrive.com/s/eiLscbxkMui 点击链接保存,或者复制本段 ...

  9. Long类型转换为IP String

    package com.barry.iputil.util; public class IPFormat { public static String toIPStr(Long LongIP) { i ...

  10. <canvas>标签画登陆页鼠标滑过效果

    canvas 标签画登陆页鼠标滑过效果 如需js请留言.JS在个人博客日记中. <!DOCTYPE html> <html lang="en"> <h ...