DVWA漏洞演示.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DVWA漏洞演示

DVWA漏洞演示口令破解:(1) 安全级别为低 1、登录DVWA,账户名为admin,密码为password2、登录之后,切换到DVWA?Security设置页,检查一下安全级别是否为低(low),如果不是,修改为low,这样DVWA系统就是含有漏洞的版本了。在Brute Force的测试项中,采用刚才的方式,输入用户名和密码提交,用户名为:admin,密码为password。首先设置Bruter为【 Web Form 】,设置目标的IP地址,然后选择【 Option?】,进行详细设置。设置方法为【 Get 】,填上必要的条件,注意的是Get的后续参数是需要使用【 Insert Field 】插入的,这里Bruter支持%username%,%password%字符串。,选择字典攻击的字典并开始Result中显示的密码为password密码。(2)安全级别为中时,过程如(1),得到的结果为安全级别为高时,过程采用(1)的步骤,结果如下: 对比低中高级别的php代码得知,低级别在查询数据库时未使用任何判断,中级别在查询数据库时使用mysql_real_escape_string 来过滤特殊字符,来避免SQL注入。高级别在查询数据中使用了session_token以及user_token来防止口令破解。二、 XSS跨站脚本攻击(1)存储型XSS分析在DVWA中选择安全级别为low,并点击XSS Store通过观察low级别下的源码得知,name和Message这两个文本框没有经过过滤就直接post到了网页,因此都存在跨站漏洞所以我们这里在Message框输入跨站语句<<SCRIPT>alert("XSS",以后任何人只要访问这个留言页面,就可以触发跨站语句,实现弹框。对比高中低级别网页代码可知当安全级别的XSS源码,这里在输出name参数中的数据之前,先利用str_replace()函数进行了处理,因此采用<SCRIPT>alert('xss')</SCRIPT>进行跨转脚本攻击,由此来绕过str_replace这个替换函数查看high级别的源码,这里利用了htmlspecialchars()函数进行过滤。因此无法进行跨站脚本攻击。(2)反射型XSS分析在DVWA中选择安全级别为low,并点击XSS reflected,并在文本框中输入admin,所得结果及URL如图所示通过查看low级别的网页代码得知,name参数没有进行任何过滤,由此得知,该处可触发跨站脚本攻击,并实现弹框在name处输入XSS语句<script>alert('xss')</script>进行跨站脚本攻击对比高中低级别网页代码可知当安全级别的XSS源码,这里在输出name参数中的数据之前,先利用str_replace()函数进行了处理,因此采用<SCRIPT>alert('xss')</SCRIPT>进行跨转脚本攻击,由此来绕过str_replace这个替换函数查看high级别的源码,这里利用了htmlspecialchars()函数进行过滤。因此无法进行跨站脚本攻击。三:SQL注入实验系统在初次登录时已经创建了一个DVWA的数据库。点击DVWA中的SQL Injection,并在ID处任意输入一个字符1通过观察url上的信息,用户之后的敏感信息显示当将输入变为“'”时,页面提示错误“You?have?an?error?in?your?SQL?syntax;?check?the?manual?that?corresponds?to?your?MySQL?server?version?for?the?right?syntax?to?use?near?'''''?at?line?1”,结果如图。看到这个结果,我们可以欣慰的知道,这个表单存在着注入漏洞。通过 mysql 内置函数显示我们想要的信息 ,如直接在url中的id =XXX的位置输入id 1’ union select 1,schema_name from information_schema.schemata+--+,来显示当前用户可读的所有的库名,结果如下:通过 id =1’ union select 1,concat(user,':',password)from mysql.user+--+来获取当前用户名和密码:由此就可以得知,本机的root密码为空。

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档