基于DVWA的反射型Xss测试平台Low等级讲解

Dvwa是一个网站渗透测试演练平台,里面包括了Xss攻击,Sql注入攻击,Csrf漏洞、文件上传漏洞、命令注入漏洞等,而且每个漏洞都分为Low(低等级)、Medium( 中等级 )、High( 高等级 )、Impossible( 没漏洞等级 )

下载过程和安装过程网上可以找到我就不讲解了。

首先将Dvwa等级设置成Low:

image_1ce8m63q6g1s5ab1ef51ilf92m9.png-135.5kB


开始Xss漏洞讲解

Xss反射型:

image_1ce8mao1la4233k77t19h21v82m.png-203.8kB
当输入hello在输入框点击Submit后,会输出一个Hello iamfree,那么我们来看看这是如何实现的

实现的代码:

image_1ce8n2a0ijtjgs8iitt4a1ou09.png-147.4kB
因为这是Low级别的,所以我们可以清楚的看见这里没有做任何过滤,我们只需要输入一串而已的Js代码就可以实现盗取别人Cookie,做钓鱼之类的功能,下面我来简单的演示一下~

输入<img src=x onerror=alert('iamfree')>后,Url变成http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3Dalert%28%27iamfree%27%29%3E#,效果:
image_1ce8naell1jlrkv6s1214dh7n7m.png-130.1kB

<img src=x onerror=alert('iamfree')>的src表示img图片的地址,可以是本地也可以是Url形式;onerror的意思是如果图片没有正常显示的话就会执行=后面的代码,因为这里src=xx是不存在的,所以无法显示,就会报错了~

如何防御

这里的话防御很简单的,只需要一个函数即可:
image_1ce8nikp01hm91qse12112ra2802p.png-53.3kB

防御代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

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

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
// 防御的反射Xss
$name = htmlspecialchars($_GET['name']);
$html .= '<pre>Hello ' . $name . '</pre>';
}

?>

继续访问刚才的Url(http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3Dalert%28%27iamfree%27%29%3E#),看看是否有效:
image_1ce8nph771gbkh9n1v6q16p41ho736.png-175.7kB
成功的防止了Xss反射型攻击了~

htmlspecialchars函数的官方解释:

image_1ce8nug1jgbj1iib1hl91ii51vic3j.png-137.1kB

十年寒窗无人问,一举成名天下知
– Cai_Team

本文标题:基于DVWA的反射型Xss测试平台Low等级讲解

文章作者:Iamfree

作者QQ:1900065568

发布时间:2018年05月24日 - 17:05

最后更新:2018年07月10日 - 16:07

原始链接:127.0.0.1/2018/05/24/基于DVWA的Xss测试平台Low等级讲解/

许可协议:暂时请不要转载,感谢!!!

坚持写有质量的原创\转载文章,如果您觉得质量不错的话就点击下面按钮打赏我们把~
---------------本文结束感谢您的阅读,喜欢我们的话就加入我们吧~---------------