首页 > 其他分享 >DVWA 之 XSS(Reflected) - 反射型XSS

DVWA 之 XSS(Reflected) - 反射型XSS

时间:2023-03-05 16:22:39浏览次数:42  
标签:XSS name 反射 Reflected DVWA alert xss 绕过

九、XSS(Reflected) - 反射型XSS

原理

XSS,全称 Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行。根据恶意代码是否存储在服务器中,XSS 可以分为反射型 XSS 和存储型 XSS

反射型 XSS 是非持久性、参数型的跨站脚本,

1. Low

查看源码

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}

?> 

array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,否则返回 false,这里键名为 name

low 级别的代码只是判断了 name 参数是否为空,如果不为空的话就直接打印出来,并没有对 name 参数做任何的过滤和检查,存在非常明显的 XSS 漏洞。

漏洞利用

输入<script>alert('xss')</script>,结果如下所示

2. Medium

Medium 级代码中,服务器端使用了 str_replace() 函数把输入的 <script>进行删除,但是 str_replace() 函数是区分大小写的,所以可以使用大写绕过,而且只过滤一遍,因此也可以使用双写绕过。

漏洞利用

  • 大写绕过:<SCRIPT>alert('xss')</SCRIPT>

  • 双写绕过:<sc<script>ript>alert('xss')</script>
  • 事件绕过:<a href = 'javascript:alert(666)'>click</a>

3. High

High 等级用 preg_replace() 函数对 <script> 标签进行正则过滤

漏洞利用

可以通过 img、body 等标签的事件或者 iframe 等标签的 src 注入恶意的 js 代码

输入<img src=1 one rror=alert('xss')>,代码执行成功

防护方法

  1. HttpOnly 属性
  2. 输入检查,检查特殊字符,XSS 特征等
  3. 输出检查,对输出进行编码

标签:XSS,name,反射,Reflected,DVWA,alert,xss,绕过
From: https://www.cnblogs.com/augustine0654/p/17180834.html

相关文章

  • DVWA之File Inclusion
    1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏......
  • DVWA 之 File Upload-文件上传
    五、FileUpload-文件上传文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞......
  • DVWA 之 Insecure CAPTCHA-不安全的验证
    六、InsecureCAPTCHA-不安全的验证原理InsecureCAPTCHA意思是不安全的验证码,CAPTCHA是CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApa......
  • DVWA 之 SQL Injection-SQL注入
    七、SQLInjection-SQL注入原理SQL注入是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到恶意执行SQL语句的目的。手工注入常规思路判断是否存在注入,注......
  • DVWA 之 SQL Injection(Blind) - SQL注入(盲注)
    八、SQLInjection(Blind)-SQL注入(盲注)原理SQL盲注与一般注入的区别在于一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常无法从显示页面......
  • DVWA 之 CSRF-跨站请求伪造
    三、CSRF-跨站请求伪造原理指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身......
  • DVWA 之 Command Injection-命令注入
    二、CommandInjection-命令注入原理命令注入是指对一些函数的参数没有做过滤或过滤不严导致的,可以执行系统或者应用指令(CMD命令或者bash命令)的一种注入攻击手段。PHP命令......
  • DVWA 环境搭建
    环境准备phpstudy官网下载:https://www.xp.cn/,下载安装完成后启动Apache和MysqlDVWA下载地址:https://github.com/ethicalhack3r/DVWA将下载后的DVWA安装包......
  • PentestLab-web安全XSS注入-EXP5
    我们打开靶机选择“Example5”观察使用工具测试选择get方法输入url使用默认字典存在xss漏洞且payload为</script>"><script>prompt(1)</script>验证我们打开靶机观察源代码......
  • DVWA靶场学习
    dvwa靶场学习容器相关启动容器:systemctlstartdocker.service列出可用容器:dockerps-a删除镜像:dockerrmi[image_id]删除容器:dockerrm[container_id]启......