dvwa详解_DVWA(六):XSSReflected 反射型XSS全等级详解

XSS 概念:

由于web应用程序对用户的输入过滤不严,通过html注入篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

XSS类型:

Reflected(反射型):只是简单的把用户输入的数据反射给浏览器,需要诱导用户点击一个恶意链接才能攻击成功。

存储型:将用户输入的数据存储在服务器端,每次用户访问都会被执行js脚本

DOM型:文本对象模式xss,通过修改页面的DOM节点形成的XSS,可存储型,可反射型,取决于输出地点

(关于DOM节点,DOM为Document Obeject Mode首字母缩写,翻译为文档对象模型,在网页中所有对象和内容都被称为节点,如文档、元素、文本、属性、注释等,节点是DOM最基本的单元

并派生出不同类型的节点,他们共同构成了文档的树形结构模式)

XSS应用场景:1.利用xss获得cookie,2.重定向,3.钓鱼网站,4.DDOS

记录一些一般的payload:(这里看不懂可以先看下面的示例,看完返回来看这里就会明白一些了)

1.

2.

3.click1    #点击click1时弹出cookie值

4.  #src地址错误,然后执行onerror的内容

Low级别:

观察源码:

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

// Is there any input?

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {

// Feedback for end user

echo '

Hello ' . $_GET[ 'name' ] . '
';

}

?>

源码没有对参数做任何防御处理措施

下面给一些基本的XSS攻击

1.

2.

3.click1    #点击click1时弹出xss3

4.  #src地址错误,然后执行onerror的内容

例如我们这里输入:

构造获取cookie的payload:

然后Logout 用这段cookie值进行登录即可以被攻击者的身份访问此网站(在未关闭浏览器前)

Medium

观察源码:

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input

$name = str_replace( '

echo "

Hello ${name}
";

}

对于script标签进行了过滤,下面提供几个绕过的方法

1.大小写分开

2.ipt> 类似于SQL注入中的双写

3.用别的标签替换 :

同样也可以获得cookie 之后就可以通过cookie以被攻击者的身份访问此网站

High

观察源码:

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input

$name = preg_replace( '/

echo "

Hello ${name}
";

}?>

分析源码,可以看到,使用了preg_replace正则表达式函数,对参数进行过滤,查看源码可以看到对

执行:

1835657-20200314221411715-807882491.png

Impossible

观察源码:

使用了htmlspecailchars函数做了html实体转义,无法利用XSS

1835657-20200314221629501-2120056006.png

1835657-20200314221755223-393907167.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直线的端点画垂线的lisp_【以课说法】线段、射线、直线

课例概况课例点晴你的课堂是碎片化的知识教学,还是结构化的问题探究?如何把碎片化的知识教学变成结构化的问题探究?实施路径就是问题串,用问题串统整知识点;围绕问题串,从问题引发、问题探究,直…

ehchache验证缓存过期的api_Ehcache缓存配置

Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中…

alert 回调_JavaScript中到底什么时候回调函数Callback

什么是回调函数Callback简单的理解:回调函数是在另一个函数执行完毕后执行的函数 - 因此名称为call back。复杂的理解:在JavaScript中,函数是对象。因此,函数可以将函数作为参数,并且可以由其他函数返回。执行此操作的…

finereport文本框如何实现多值查询_如何实现参数级联查询

参数级联查询是查询控件之间的一种互动方式,比如在某个下拉框选定选项后,另一个下拉框里的选项范围会随之变化。润乾报表提供了多种编辑风格,每种编辑风格都有丰富的属性,以此为基础实现参数级联查询也很简单。下面就通过一个例子…

【HDU - 5015 】233 Matrix (矩阵快速幂)

题干: In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23333, or 233333 ... in the same meaning. And here is the question: Suppose we have a matrix called 233 matrix. In the first line, it would be 233, 233…

mysql datetime month不走索引_like百分号加前面一定不走索引吗?一不小心就翻车,关于mysql索引那些容易错的点...

like百分号加前面一定不走索引吗?正常来讲,我们都知道在mysql的like查询中,百分号加在关键词后面是走索引的,比如 select * like "张三%",而百分号在前面是不走索引的,比如 select * like "…

ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)

如果b与c互素,则(a/b)%ca*b^((c)-1)%c其中是欧拉函数。或者(a/b)%ca*b^(c-2)%c 如果b与c不互素,则(a/b)%c(a%bc)/b 对于b与c互素和不互素都有(a/b)%c(a%bc)/b成立 乘法逆元用扩展欧几里得定理: 例题:ZOJ - 3609 题干&#xf…

自定义菜单url不能带_微服务架构【SpringBoot+SpringCloud+VUE】五 || 实战项目微信公众号自定义开发...

本章主要讲解微信公众号自定义菜单、微信网页开发、模板消息推送等功能的实现;发福利了,下方关注公众号,就能免费获取项目源码1、自定义菜单开发前需要了解以下几点:1、微信公众号的自定义菜单最多包括3个一级菜单,每个…

C语言编程中关于负数的%运算的判定。

如果 % 两边的操作数都为正数,则结果为正数或零;如果 % 两边的操作数都是负数,则结果为负数或零。C99 以前,并没有规定如果操作数中有一方为负数,模除的结果会是什么。C99 规定,如果 % 左边的操作数是正数&…

无数种求逆元的方法总结

乘法逆元 对于缩系中的元素,每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) 一个数有逆元的充分必要条件是gcd(a,n)1,此时逆元唯一存在 逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于…

python两个元组相加_《第5章 Python 列表与元组》5.1.3 序列相加(Adding)!

《高中信息技术 Python编程》 教学案《第5章 Python 列表与元组》 5.1.3 序列相加(Adding)!06:151 #使用加号可以进行序列的连接操作,输入如下:2 >>>[1,2,3][4,5,6]3 [1,2,3,4,5,6]4 >>>a[1,2]5 >>>b[5,6]6 >&…

mysql 按时间查询优化_mysql如何按时间查询优化

mysql按时间查询优化的方法:1、【register_time】字段是datetime类型,转换为日期再匹配,需要查询出所有行进行过滤;2、可以利用在【register_time】字段上建立索引,查询极快。本教程操作环境:windows7系统、…

angularjs 开发流程_超级棒的30款web前端开发工具汇总,一定要收藏!

我们与企业内部的Web开发团队进行了很多次交流,研究了很长时间,最后将Debug工具与Web前端开发工具整理汇总在了一起,这些工具对每个Web开发人员都非常有用。这些工具将使您的工作更加轻松,特别是如果您是Web开发人员,W…

linux mysql io压力大_MySQL 调优基础(四) Linux 磁盘IO_MySQL

1. IO处理过程磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言。数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以write为例的 Li…

ACM - 欧拉函数(内容)

欧拉函数 : 欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。 完全余数集合: 定义小于 n 且和 n 互质的…

齐博php百度编辑器上传图片_php版百度编辑器ueditor怎样给上传图片自动添加水印?...

百度ueditor是广泛使用的所见即所得图文排版编辑插件,功能比较完善,美中不足就是不支持自动加水印。万维景盛工程师搜集到php版ueditor自动加水印的教程,希望对大家有帮助。1.打开ueditor目录下的php目录下的config.json 文件在上传配置项添加…

mysql dql_Mysql中的DQL查询语句

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 Mysql中的DQL查询语句 1、查询所有列 --查询 学生 表所有记录(行) select *from 学生 --带条件的查询 select *from 学生 where 年龄19 2、查询指定的列 --查询 所有人的姓名和性别 select 姓名,性欢迎…

递归Java_递归的Java实现

递归是一种应用非常广泛的算法(或者编程技巧)。递归求解问题的分解过程,去的过程叫“递”,回来的过程叫“归”。递归需要满足的三个条件:1. 一个问题的解可以分解为几个子问题的解;2. 这个问题与分解之后的子问题,除了…

JAVA线程并发数量控制_线程同步工具(二)控制并发访问多个资源

声明:本文是《 Java 7 Concurrency Cookbook》的第三章, 作者: Javier Fernndez Gonzlez 译者:郑玉婷控制并发访问多个资源在并发访问资源的控制中,你学习了信号量(semaphores)的基本知识。在上个指南,你实…

*【51nod - 1459】迷宫游戏(记录双向权值的Dijkstra单源最短路)

题干: 你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定…