DVWA系列(一)----DVWA简介

一、DVWA简介

DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

DVWA是randomstorm的一个开源项目。如果你更多的了解randomstorm的服务和产品你可以访问他们官方网站www.randomstorm.com

DVWA共有十个模块,分别是:

1.Brute Force(暴力(破解))
2.Command Injection(命令行注入)
3.CSRF(跨站请求伪造)
4.File Inclusion(文件包含)
5.File Upload(文件上传)
6.Insecure CAPTCHA (不安全的验证码)
7.SQL Injection(SQL注入)
8.SQL Injection(Blind)(SQL盲注)
9.XSS(Reflected)(反射型跨站脚本)
10.XSS(Stored)(存储型跨站脚本)

需要注意的是,DVWA 1.9的代码分为四种安全级别:Low,Medium,High,Impossible。初学者可以通过比较四种级别的代码,接触到一些php代码审计的内容。

时间: 2024-08-25 19:17:02

DVWA系列(一)----DVWA简介的相关文章

DVWA系列(二)----DVWA环境搭建

一.下载源码 DVWA使用PHP写的,所以首先需要搭建web运行环境,我这里使用的是phpStudy,phpStudy使用起来方便快捷,直接点击安装程序,点几下就安装好了. 首先进入官网下载源码:http://www.dvwa.co.uk/ 或者可以进入github下载: https://github.com/ethicalhack3r/DVWA   二.安装 下载好之后解压,把源码复制到WWW目录 然后进入DVWA,打开config目录里的config.inc.php 修改数据库账号密码 然后

DVWA系列之17 CSRF攻击介绍与实施

CSRF(Cross-Site Request Forgery)跨站点请求伪造,这种攻击方式的特点是:攻击者盗用你的身份,以你的名义进行某些非法操作.CSRF能够使用你的帐户发送邮件,获取你的敏感信息,甚至盗走你的财产. 当我们打开或登录某个网站后,在浏览器与网站之间将会产生一个会话,在这个会话没有结束时,你就可以利用你的权限对网站进行某些操作,如:发表文章.发送邮件.删除文章等.当这个会话结束后,你再进行某些操作的时候,Web应用程序可能会提示"您的会话已过期"."请重新登

【 D3.js 入门系列 — 0 】 简介和安装

[ D3.js 入门系列 — 0 ] 简介和安装 发表于2014/06/12 近年来,可视化越来越流行,许多报刊杂志.门户网站.新闻.媒体都大量使用可视化技术,使得复杂的数据和文字变得十分容易理解,有一句谚语“一张图片价值于一千个字”,的确是名副其实.各种数据可视化工具也如井喷式地发展,D3 正是其中的佼佼者. 1. D3 是什么 D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档.听名字有点抽象,说简单一点,其实就是一个 JavaScript

MIFARE系列1——MIFARE简介

随着社会的发展,智能卡在很多领域得到了广泛的应用.特别是非接触卡,由于使用方便以及功能强大的特点,在管理.公交.工作证.身份识别等领域得到了快速的普及和推广. 非接触卡已经逐步发展成为一个独立的跨学科的专业领域.它将大量来自完全不同专业领域的技术综合到一起:如高频技术.电磁兼容性技术.半导体技术.数据保护和密码学.电信.制造技术和许多专业应用技术等. Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包括Mifare S50.Mifare S70.Mifare UltraL

DVWA系列之4 利用SQLMap进行medium级别注入

下面我们尝试利用SQLMap进行medium级别下的注入. 首先探测是否存在注入点,执行下面的命令: sqlmap.py -u http://192.168.80.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit 检测结果没有发现注入点,这是由于DVWA需要先登录然后才能使用,因而这里需要得到当前会话的cookie,用来在渗透过程中维持连接状态.利用Burpsuite拦截数据包,获取cookie. 在SQLMap中加--cookie参数,继续进行注入

DVWA系列之9 high级别命令执行漏洞

将DVWA Security切换到high级别,在Command Execution中查看网页源码. 这里首先也是用stripslashes函数对获取到的IP地址进行了处理,主要是为了去掉转义后添加的斜杠,原因之前已经解释过,由于在high级别下会自动启用PHP的magic_quotes_gpc魔术引号,对所有的传值数据自动用addslashes()函数转义,所以需要用stripslashes()函数去除. 接下来使用了explode函数,以"."为分隔符将$target变量中的IP地

DVWA系列之18 CSRF漏洞分析

下面我们来查看一下low级别的CSRF源码: 代码中在获取了$pass_new和$pass_conf这两个变量之后,利用mysql_real_escape_string()函数进行了过滤,这样虽然可以防止SQL注入,但却无法阻止CSRF攻击,之后这两个变量便被直接代入UPDATE语句中执行了数据库更新操作. 下面再来分析一下medium级别的代码: 可以看到这里在获取$pass_new和$pass_conf这两个变量之前,先利用一个if语句来判断"$_SERVER['HTTP_REFERER']

DVWA系列之5 SQL Injection (Blind)

所谓盲注就是指当我们输入一些特殊字符时,页面并不显示错误提示,这样我们只能通过页面是否正常显示来进行判断. 将DVWA Security设置为low,然后选择SQL Injection (Blind),查看网页源码.可以发现与之前不同的是,在mysql_numrows()函数之前多加了一个@符号,后面的注释说明@符号可以抑制报错信息. 盲注其实对渗透并没有太大影响,我们输入"' or 1=1 #"仍然可以显示出所有的数据.整个渗透过程也与之前基本一致.

DVWA系列之2 low级别SQL注入

将Security level设为on,在左侧列表中选择"SQL Injection",然后在右侧的"User ID"文本框中输入不同的数字就会显示相应的用户信息. 我们首先需要判断这里所传输的参数是文本型还是数字型,分别输入3和1+2,观察它们显示的结果并不一致,因而就判断出参数类型是文本型. 点击页面右下角的"View Source"可以查看源代码,其中最重要的是如下图所示的两行语句: 第一行是以GET方式获取用户通过id参数传来的值并赋值给