DVWA初学

DVWA初学笔记

DVWA的介绍

DVWA是用PHP和MySQL编写的用于常规web漏洞教学和检测web脆弱性测试程序,它包含SQL注入、XSS、CSRF等常见的一些安全漏洞。我们可以在本机或者靶机甚至服务器搭建DVWA环境,供我们练习渗透技术,也可以查看后端是怎么写的,了解原理。最重要的还是自己搭的平台,合法的进行练习和渗透。这点很重要,最好不要随意攻击他人网站,毕竟现在有网络安全法了。DVWA的官方网站是http:// www.dvwa.co.uk/

DVWA的安装

搭建PHP环境

想要运行DVWA必须搭建一个PHP环境,而且在Windows下进行搭建和配置环境时十分复杂的。所以一般使用一个集成化软件PHPStudy,这是一个可以很轻松进行本地环境搭建的软件。不过之前也爆出了有后门的问题,不过据我了解,现在官网上的版本已经被修复过了,大家可以去下载没有后门的版本。附上网址:http://www.phpstudy.net/

安装步骤这里就不过多描述了,一般就是选择全部安装,如果使用不了,可以看看是不是被安全软件或者防火墙拦截了,或者相关端口被调用。

在这里插入图片描述

安装DVWA

首先下载DVWA文件

然后要确保可以进入http://localhost/phpmyadmin或者连接上数据库,如下图:

在这里插入图片描述

将DVWA压缩包文件解压到phpstudy的www目录下

在这里插入图片描述

然后在地址栏里输入http://localhost/DVWA-1.9/setup.php

这里的DVWA-1.9是你放在www文件夹里的文件名,是什么就写什么。

在这里插入图片描述

点击create/reset database,如果出现"could not connect to the database - please check the config file."的错误信息。就要打开DVWA/config/config.inc.php文件,进行一些改动

在这里插入图片描述

再重新创建数据库即可。

进入链接http://localhost/DVWA/login.php,其中默认用户名/密码有几个,这里就说一个,其他大家自行去获取吧。admin/password。这是其中一个账号密码。

配置安全级别

在页面的左侧有个“DVWA Security”,可以进入进行安全级别选择,安全级别越高渗透难度就越大,所以一般都从low级别开始,不要随意就impossiable,不太现实。记得设置完要submit不然就又是impossible了。

DVWA基本使用

brute Force(暴力破解)

一般是利用burpsuit和字典及逆行你暴力破解,例如轰动全国的2014年12306撞库事件,本质就是,暴力破解攻击。

command injection(命令注入)

通过构造恶意结构的参数来破环命令语句结构,从而达到执行恶意代码的目的。PHP命令注入攻击漏洞就是PHP应用里最常见的脚本漏洞之一。Windows和Linux系统都可以用&&来执行多条命令,这就给漏洞利用创造了机会。因为只有&&和;会被过滤,所以&不会被过滤,就可以输入"localhost&net user"利用漏洞。

CSRF(跨站请求伪造)

利用尚未失效的cookie、会话等身份认证信息,诱骗其单击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害人的身份向身份认证信息所对应的服务器发送请求,从而完成非法操作。CSRF和XSS最大的区别就是,CSRF没有盗取cookie而是直接利用。

CSRF的最基础利用就是直接使用构造链接:http://localhost/dvwa/vulnerabilities/csrf?password_new=password&password_conf=password&Change=Change#

当受害者单击了这个链接,他的密码就会被改为password。当然这是比较简单的攻击方式,从链接就知道是在改密码。

File Inclusion(文件包含)

当服务器开启了allow_url_include选项时,就可以通过PHP的某些特性函数利用URL去包含动态包含文件。如果没有对文件的来源进行严格的审查就会导致任意文件或命令被执行。

文件包含漏洞分为本地文件包含和远程文件包含,远程文件包含漏洞则是因为开启了PHP配置里的allow_url_fopen选项。

File Upload(文件上传漏洞)

通常是由于上传文件的类型和内容没有进行严格的审查,使得攻击者有机可乘,上传木马来获取服务器的webshell权限。所以这个漏洞会给系统以毁灭性的破坏,有很多的中间件都曾经爆出过文件上传漏洞,例如Apache、Tomcat、Nginx等

但是文件上传漏洞的重点是你要能够成功上传文件到服务器。其次是你上传的文件必须是可以进行执行的,最后还要知道上传文件的路径。也就是上传木马,得到路径,远程利用。

Insecure CAPTCHA(不安全的验证流程)

CAPTCHA是全自动区分计算机与人类的图灵测试。之所以说是不安全的是因为,在验证过程里存在逻辑漏洞。

测试时需要先在http://www.google.com/recaptcha上注册recaptcha_public_key和recaptcha_prive_key,将其填入DVWA中config目录下的config.inc.php文件里,就可以看到初始界面。

SQL Injection(SQL注入)

测试是否存在注入点,这里用户交互的地方为表单,这就是常见的SQL注入漏洞存在的地方。正常测试输入1,可以得到正常的查询结果。以后再详细说明SQL。

SQL injection(盲注)

所谓盲注就是再我们输入一些特殊字符时没有回显,影响不大,输入‘or 1=1#依旧可以显示所有的数据。

XSS(reflected)(反射型XSS)

XSS就是跨站脚本攻击,通过向web网页植入恶意的Script代码,当用户浏览网页时就会执行代码,从而恶意攻击用户。

XSS(stored)(储存型XSS)

相比较于放射型XSS漏洞,存储型XSS影响更加持久,如果加入的代码过滤不严,那么这些代码会储存在服务器里,用户访问该页面就会触发代码执行,这种XSS比较危险,容易造成蠕虫、盗取cookie等。

在name栏输入1,在message栏输入一下代码,可以看到下图

<script>alert(/xss/)</script>

在这里插入图片描述

参考文献

[1]陈铁明.网络空间安全实战基础:第一版.北京:人民邮电出版社,2018

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值