DVWA漏洞演示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D V W A漏洞演示

一、口令破解:

(1)安全级别为低

1、登录DVWA,账户名为admin,密码为password

2、登录之后,切换到DVWA?Security设置页,检查一下安全级别是否为低(low),如果不是,修改为low,这样DVWA系统就是含有漏洞的版本了。

3、在BruteForce的测试项中,采用刚才的方式,输入用户名和密码提交,用户名为:admin,密码为password。

4、首先设置Bruter为【WebForm】,设置目标的IP地址,然后选择【Option?】,进行

详细设置。

5、设置方法为【Get】,填上必要的条件,注意的是Get的后续参数是需要使用

【InsertField】插入的,这里Bruter支持%username%,%password%字符串。,

6、选择字典攻击的字典并开始

Result中显示的密码为password密码。

(2)安全级别为中时,过程如(1),得到的结果为

(3)安全级别为高时,过程采用(1)的步骤,结果如下:

对比低中高级别的php代码得知,

低级别在查询数据库时未使用任何判断,中级别在查询数据库时使用mysql_real_escape_string 来过滤特殊字符,来避免SQL注入。

高级别在查询数据中使用了session_token以及user_token来防止口令破解。

二、XSS跨站脚本攻击

(1)存储型XSS分析

在DVWA中选择安全级别为low,并点击XSSStore

通过观察low级别下的源码得知,name和Message这两个文本框没有经过过滤就直接post到了网页,因此都存在跨站漏洞

所以我们这里在Message框输入跨站语句<进行跨转脚本攻击,由此来绕过str_replace这个替换函数

查看high级别的源码,这里利用了htmlspecialchars()函数进行过滤。

因此无法进行跨站脚本攻击。

(2)反射型XSS分析

在DVWA中选择安全级别为low,并点击XSSreflected,并在文本框中输入admin,所得结果及URL 如图所示

通过查看low级别的网页代码得知,name参数没有进行任何过滤,由此得知,该处可触发跨站脚本攻击,并实现弹框

在name处输入XSS语句进行跨站脚本攻击

对比高中低级别网页代码可知

当安全级别的XSS源码,这里在输出name参数中的数据之前,先利用str_replace()函数进行了处理,因此采用进行跨转脚本攻击,由此来绕过str_replace这个替换函数

查看high级别的源码,这里利用了htmlspecialchars()函数进行过滤。

因此无法进行跨站脚本攻击。

三:SQL注入实验

系统在初次登录时已经创建了一个DVWA的数据库。

点击DVWA中的SQLInjection,并在ID处任意输入一个字符1

通过观察url上的信息,用户之后的敏感信息显示

当将输入变为“'”时,页面提示错误

“You?have?an?error?in?your?SQL?syntax;?check?the?manual?that?corresponds?to?your?MyS QL?server?version?for?the?right?syntax?to?use?near?'''''?at?line?1”,结果如图。看到这个结果,我们可以欣慰的知道,这个表单存在着注入漏洞。

通过mysql内置函数显示我们想要的信息,如

直接在url中的id=XXX的位置输入id1’

unionselect1,schema_namefrominformation_schema.schemata+--+,来显示当前用户可读的所有的库名,结果如下:

通过id=1’unionselect1,concat(user,':',password)er+--+来获取当前用户名和密码:

由此就可以得知,本机的root密码为空。

相关文档
最新文档