DVWA漏洞练习平台

一、Brute Force

【Low】

【Medium】

【High】

【Impossible】

二、Command Injection

【Low】

【Medium】

【High】

【Impossible】

三、CSRF

【Low】

【Medium】

【High】

【Impossible】

四、File Inclusion

【Low】

【Medium】

【High】

【Impossible】

五、File Upload

【Low】

【Medium】

【High】

【Impossible】

六、Insecure CAPTCHA

【Low】

【Medium】

【High】

【Impossible】

七、SQL Injection

【Low】
①判断是否存在注入,注入是字符型还是数字型
输入1,查询成功
DVWA漏洞练习平台

输入1’and ‘1’ =’2,查询失败,返回结果为空;
输入1’and ‘1’ =’1,查询成功,说明存在字符型注入。
DVWA漏洞练习平台

②猜解SQL查询语句中的字段数
从1开始,逐渐增加order by后面的数字的大小进行猜测

DVWA漏洞练习平台DVWA漏洞练习平台

当输入3时就出现了错误,说明数据查询的表的字段数是2,只有两列
DVWA漏洞练习平台

④确定显示的字段
我们发现,1和2都是显示位
DVWA漏洞练习平台
DVWA漏洞练习平台

④获取当前数据库
查看当前数据库名称和版本:1’ union select database(),version()#
DVWA漏洞练习平台

⑤获取数据库中的表
当mysql≥5.0的时候,mysql中存在一个数据库,名为:information_schema ,该数据库中存在一张表,名为:tables,表中存在字段table_schema、table_name,分别存放着所有数据库名称、所有表名。获取数据库dvwa中的表名:1’ union select table_name,table_schema from information_schema.tables where table_schema= ‘dvwa’#
存在两张表: guestbook、users
DVWA漏洞练习平台

6.获取users表中的字段名
1’ union select 1,group_concat(column_name) from information_schema.columns where table_name=‘users’#

DVWA漏洞练习平台

7.查看账号密码
1’ union select user,password from users#
DVWA漏洞练习平台

我们得到的是密码的md5值,将md5值在线解密,
DVWA漏洞练习平台

【Medium】

【High】

【Impossible】

八、SQL Injection (Blind)

【Low】

【Medium】

【High】

【Impossible】

九、Weak Session IDs

【Low】

【Medium】

【High】

【Impossible】

十、XSS (DOM)

【Low】

【Medium】

【High】

【Impossible】

十一、XSS (Reflected)

【Low】
①在表单输入,有输出,在dvwa的目录vulnerabilities\xss_r\source\,查看low.php源代码,可以看到没有对参数做任何防御处理措施,直接输出
DVWA漏洞练习平台
DVWA漏洞练习平台

②插入代码,反弹
DVWA漏洞练习平台

DVWA漏洞练习平台
DVWA漏洞练习平台DVWA漏洞练习平台

【Medium】
①在dvwa的目录vulnerabilities\xss_r\source\,查看Medium.php源代码,可以看到这里对输入进行了过滤,使用str_replace函数将输入中的 ,是没有办法反弹的。

DVWA漏洞练习平台

②大小写绕过:,成功反弹
DVWA漏洞练习平台

③组合过滤条件绕过:<scr,成功反弹
DVWA漏洞练习平台

④尝试使用别的标签来绕过:<body οnlοad=alert(‘xss’)>,成功反弹
DVWA漏洞练习平台

【High】
①在dvwa的目录vulnerabilities\xss_r\source\,查看high.php源代码,可以看到这里也对输入进行了过滤,preg_replace() 函数用于正则表达式的搜索和替换,这使得双写绕过、大小写混淆绕过(正则表达式中i表示不区分大小写)不再有效,虽然对

DVWA漏洞练习平台

②尝试使用别的标签来绕过:<img src="" οnerrοr=alert(‘xss’)>,成功反弹
DVWA漏洞练习平台

【Impossible】

十二、XSS (Stored)

【Low】
①在dvwa的目录vulnerabilities\xss_s\source\,查看low.php源代码,
使用trim函数对两个参数过滤掉两边的空格;
使用mysql_real_escape_string函数转义SQL语句中的特殊字符;
使用stripslashes函数过滤掉”\”
这些源码没有防御XSS漏洞,只防御了SQL注入漏洞

DVWA漏洞练习平台

②尝试一般的XSS攻击: ,成功
DVWA漏洞练习平台

【Medium】
①在dvwa的目录vulnerabilities\xss_s\source\,查看Medium.php源代码,
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签,但允许使用标签;
addslashes() 函数返回在预定义字符(单引号、双引号、反斜杠、NULL)之前添加反斜杠的字符串;
htmlspecialchars函数对message参数进行编码,因此无法再通过message参数注入XSS代码;
对于name参数,只是简单过滤了

②双写绕过:burpsuit抓包改name参数:
<sc
(name参数有长度限制)

DVWA漏洞练习平台DVWA漏洞练习平台

③大小写绕过:burpsuit抓包改name参数:

DVWA漏洞练习平台DVWA漏洞练习平台

【High】
①在dvwa的目录vulnerabilities\xss_s\source\,查看high.php源代码,
使用正则表达式过滤了

DVWA漏洞练习平台

②尝试使用别的标签来绕过:burpsuit抓包改name参数:
<img src="" οnerrοr=alert(‘sss’)>
DVWA漏洞练习平台

DVWA漏洞练习平台

【Impossible】

十三、CSP Bypass

【Low】

【Medium】

【High】

【Impossible】

十四、JavaScript

【Low】

【Medium】

【High】

【Impossible】