XSS-DVWA
1.反射型
LOW:
没有过滤,直接键入PAYLOAD
查看源码
这里没有任何过滤,使用htmlspecialchars()过滤
结果不弹窗
MEDIUM:
LOW等级的方法不奏效了
观察输出可能是过滤了<script>标签
审查元素发现确实过滤了<script>标签
使用大小写混写绕过 <scrIpt>alert(1)</sCript>
查看代码发现只过滤了<script>
而且只过滤了一次,所以可以嵌套<script>绕过
<scr<script>ipt>alert(1)</scrip<script>t>
还可以使用htmlspecialchars()过滤
HIGH:
MEDIUM也不会弹窗了
发现发生了过滤,而且script都被过滤了
输入<img src=1 onerror=alert(1)>
查看源码,发现仅仅是过滤了script
过滤时不推荐使用黑名单,基本上总有办法绕过
IMPOSSIBLE:
发现输入的代码变成了HTML实体查看源码发现使用了htmlspecialchars处理,并且使用了token,防止了CSRF
2.存储型
LOW:
这里Name的maxlength是10,可以审查元素给修改成大的值
输入<script>alert(1)</script>弹窗出现两次,说明在Name和Message处都存在存储型XSS
查看源码发现只是去除了两端的空白字符
使用htmlspecialchars处理
MEDIUM:
使用LOW的PAYLOAD已经不行了
还是过滤了script
在Name处成功弹窗,Message处被过滤了
查看源码
HIGH:
查看源码
IMPOSSIBLE:
直接看源码
对name,message都过滤了
3.DOM型
LOW:
直接弹窗
查看源码
emmm..毛都没有..
MEDIUM:
输入PAYLOAD
发现没有弹窗,查看元素
发现在<option>标签里,再次尝试一次,这次闭合<option>标签
还是没又弹窗,中再次查看元素
再次向上闭合<select>标签
成功弹窗
查看源码
如果出现<script,会重定向到English
HIGH:
输入MEDIUM的PAYLOAD
发现重定向到English了
URL中 #后面的字符会被当做定位标识符,所以不会被传递给服务器,只与浏览器交互,而DOM型XSS也是只与浏览器交互
所以尝试#,修改完#之后,浏览器不会重载,需要手动刷新
审查元素
剩下就是类似于MEDIUM等级,闭合标签
查看源码
只允许French,English,German,Spanish四种语言
IMPOSSIBLE:
直接看源码
告诉我们代码防御在客户端
查看index.php
如果是impossible等级的,不会解码URL,直接置为空,并不会进行解码
果然没有解码
将上面代码注释
注意:
防御XSS即使用了htmlspecialchars,只要我们在前端又进行了操作
也可能有危险,请看下面的例子
<html>
<?php
$a=htmlspecialchars($_GET['id']);
//$a=$_GET['id'];
echo 'id: '.$a;
echo '</br>';
echo 'urldecodeId: '.urldecode($a);
echo '</br>';
?>
html: <input type='text' value="<?=$a?>"/>
<br/>
<script>
var lang = document.location.href.substring(document.location.href.indexOf("id="));
document.write('JS: '+lang);
document.write('<br/>');
document.write('decodeURI: '+decodeURI(lang));
</script>
</html>
最后的转码会造成XSS
XSS-DVWA的更多相关文章
- DVWA之DOM XSS(DOM型跨站脚本攻击)
目录 Low Medium High Impossible Low 源代码: <?php # No protections, anything goes ?> 从源代码可以看出,这里low ...
- DVWA 黑客攻防演练(十一) 存储型 XSS 攻击 Stored Cross Site Scripting
上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码 ...
- 如何发起、防御和测试XSS攻击,我们用DVWA来学习(下)
上一篇我们了解了XSS攻击的原理,并且利用DVWA尝试了简单的XSS攻击,这一篇我们来实现更复杂的攻击,然后探讨防御机制和测试理念. 前面我们通过脚本注入让网页弹出了用户cookie信息,可以光弹窗是 ...
- 如何发起、防御和测试XSS攻击,我们用DVWA来学习(上)
XSS 全称Cross Site Scripting 即‘跨站脚本攻击’. 从其中文释义我们能直观的知道,这是一种对网站的攻击方式. 其原理在于,使用一切可能手段,将可执行脚本(scripting)植 ...
- 反射型XSS+文件上传+CSRF—DVWA
在学习的过程中,想到将几种漏洞进行组合练习,记录下学习过程.大佬请绕过!谢谢!! 测试环境:DVWA,安装方法参考上一篇:https://www.cnblogs.com/aq-ry/p/9220584 ...
- 1.4 DVWA亲测XSS漏洞
首先需要有配置好的DVWA环境,像下图这样 其中: XSS (DOM) : DOM型XSS漏洞 XSS (Reflected) : 反射性XSS漏洞 XSS (Stored) : 存储型XS ...
- DVWA XSS (Reflected) 通关教程
XSS 介绍XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需 ...
- DVWA XSS (Stored) 通关教程
Stored Cross Site Scripting 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户 ...
- DVWA XSS (DOM) 通关教程
DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容.结构以及样式. DOM型XSS其实是一种特殊类型的反射型XSS,它是 ...
- XSS漏洞初窥(通过dvwa平台进测试)
xss的全称是:Cross Site Script,中文名叫“跨站脚本攻击”,因为和CSS重名,所以改名XSS.作为一个网站是肯定要和用户有交互的,那么肯定就伴随着信息的输入输出,而利用xss就是通过 ...
随机推荐
- docker 不同版本 添加--insecure-registry
docker 17.0.3 vim /lib/systemd/system/docker.service 然后重启 systemctl daemon-reload , systemctl rest ...
- ajax跨域调用webservice例子
[WebMethod(Description = "这是一个描述")] public void GetTIM() { try { SqlDataAdapter da = new S ...
- zoc license code
点击导航栏上的zoc-about zoc,然后: 点击enter license: 然后输入内容即可: part A: 51698/01027/34713 part B: 00937 还有很多其他 ...
- hadoop在CentOS下的安装配置
版本:CentOS-6.8-x86_64-minimal,hadoop2.6.4,jdk1.7.0 首先把jdk.hadoop压缩包下载发送到CentOS下并解压 下载发送不多赘述,解压命令tar - ...
- zlib库的编译及使用
* 打开网址http://zlib.net/ 下载zlib源码, * 解压压缩包,进入目录:C:\Users\Administrator\Desktop\zlib-1.2.11\zlib-1.2.11 ...
- Markdown编辑器语言——30分钟入门到到精通
一.简要说明 开篇说明 其实吧这是我人生中写的第一篇博客,我也不知道怎么排版和编辑让博文显示的更加美观,现在正在学Markdown编辑语法,也是刚刚学编程的一个小菜鸟,目前是大二的在校生,我的初衷是把 ...
- 在Visual Studio 2012中使用ASP.NET MVC5
去年11月,.NET团队发布了用于 Visual Studio 2012 的 ASP.NET 和 Web 工具 2013.1 您可以从下面提供的链接下载该更新: 下载用于 Visual Studio ...
- windowbuilder
windowbuilder,也就是原来的SWT Designer.Google收购了Instantiations,把它的工具也重新免费发布了.用过swt designer的人都知它是非常好用的swin ...
- 20155238 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结 第十章 串流设计 输入串流:将数据从来源取出. 输出串流:将数据写入目的地. 输入串流代表对象为java.io.InputStream实例 输出串流代表对象为java.io.Outp ...
- [arc081F]Flip and Rectangles-[黑白染色]
Description 传送门 Solution 有一个神秘的结论..我不知道大佬是怎么场上推出来的. 一个黑白染色图,每次可以任意翻转行或列的颜色,如果每个2*2的子矩阵内黑色格子都是偶数个,则可以 ...