[关闭]
@1kbfree 2018-06-25T16:58:56.000000Z 字数 920 阅读 1251

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

渗透测试 代码审计


image_1ce8ondhr16098qa13sv103llu940.png-204.4kB

{% note primary %}

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

{% endnote %}

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

首先将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

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

如何防御

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

继续访问刚才的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

{% centerquote %}
十年寒窗无人问,一举成名天下知
-- Cai_Team
{% endcenterquote %}

CTF_LOGO.jpg-23.3kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注