dvwa靶场的简单练习

此文章仅为记录自己打靶场的过程

一、dvwa靶场的搭建

(1)phpstudy的下载安装以及配置

  1. 下载phpstudy,官网链接:小皮面板(phpstudy) - 让天下没有难配的服务器环境! (xp.cn)

  1. 下载好后直接安装,选盘看个人喜好,安装后如图

3.先启动Apache和MySQL服务之后点击网站

4.管理->打开网站

5.打开如图则创建成功

(2)dvwa的下载安装以及配置

  1. 下载dvwa,官网可能打不开,所以直接使用下载链接下载即可

下载链接:https://codeload.github.com/ethicalhack3r/DVWA/zip/v1.9

  1. 解压到phpstudy安装目录下的WWW文件夹内

3.想改名可以改一下,我就把DVWA-master改成了dvwa,后续方便些

4.将DVWA文件夹里的config文件夹中的文件进行如图所示操作

5.然后用记事本打开config.inc.php文件,

6.将

$_DVWA[ 'db_user' ] = 'dvwa';

$_DVWA[ 'db_password' ] = 'p@ssw0rd';

修改为

$_DVWA[ 'db_user' ] = 'root';

$_DVWA[ 'db_password' ] = 'root';

(怕写错可以直接把上面两行复制粘贴过去)

修改后退出保存即可

7.看一下使用的php的版本,如果是新下的那应该跟我一样只有一个

8.然后按着如图路径找到对应版本php的文件夹下的php.ini文件

9.打开浏览器输入网址http://localhost/dvwa/setup.php

10.红字部分提示修改东西,要修改的就是上一步找的文件,使用记事本打开后按ctrl+f即可打开搜索框

11.输入"allow_url_fopen"搜索,然后修改成如图的样子,退出保存后靶场就搭建完成了

二、Brute Force模块的练习

low难度

  1. 先把难度调到“low”

2.打开burp suite,burp suite资源地址:https://www.52pojie.cn/thread-1580837-1-1.html

安装方法链接里有,不在赘述,网络资源,不确定有无后门,请尽量在虚拟机中使用

3.proxy模块options里面如果有图中的IP和端口就不用管了,没有就点击add添加

4.在如图模块里创建数据库,跟下图一样即为成功

5.输入amdin,密码随便输入,这里账户就默认知道了,不然账户也设置变量就太麻烦了

6.如果发现burp suite抓不了本地包,就把链接里的local host改成本机的ipv4

参考这个链接Burp Suite抓不了DVWA本地包localhost127.0.0.1的解决办法_归去来兮-zangcc的博客-CSDN博客_burpsuite抓不到127.0.0.1的包

7..点击行动,然后发送到测试器,也就是intruder模块

8.先点击清除,然后把“password=”后面的部分框起来然后点击添加

9.点击payloads,然后点击载入中,我找的bp资源里给了密码本,随便找一个差不多的就行,然后点击开始攻击

10.然后照着下图操作即可

11.找到准确的响应之后查看请求,得到密码是“password”

medium难度

1.先看一眼源码,比low难度增加了两处,一处是转义可以符号,一处是睡眠

2.但是暴力破解还是能做的,具体的步骤与之前一样,只是耗时会增加,这里便不在赘述,为了节省时间随便写了几个payload,只是为了演示一下结果

3.结果如下,还是长度不一样的是对的

high难度

1.先看源码,保留睡眠而且增加了token,关于token的相关知识可以看这个文章,链接:什么是token?token是用来干嘛的?_儒雅的烤地瓜的博客-CSDN博客_token有什么用

2.那么就要设置两个payload的,一个是密码,一个是token,先抓包然后发送到测试模块,然后更改模式和添加payload

3.因为有睡眠,不想浪费时间就随便写了几个,同时带了正确的密码

4.进入资源池设置,创建一个只有一个并发的资源池

5.进入options,找到grep-extract点击添加

6.按着如图顺序进行操作

7.依旧如图操作,然后点击开始即可

8.还是找长度不一样的

三、Command Injection模块的练习

low难度

1.页面上写着让ping一个地址,那就ping一下自己“127.0.0.1”,然后出现乱码

2.稍微查了一下原因,是编码格式的问题,将如图所示路径下文件

3.使用替换功能将所有“utf-8”替换为“gbk2312”,然后退出保存即可

4.重新提交后,不是乱码了,正常了

5.在往下进行之前,要先了解一下命令注入的原理,可以参考这个链接:常见的Web漏洞——命令注入_江左盟宗主的博客-CSDN博客_webmin命令注入漏洞

大概原理就是直接执行了IP后面的命令

6.查看IP“127.0.0.1&ipconfig”

7.查看当前用户“127.0.0.1&whoami”

medium难度

  1. 查看源码,过滤了&&和;,那就不用这两个,用管道

2.管道的原理也可以看low难度的那个文章,而且只过滤了“&&”,可没过滤“&”,所以后者也能用

high难度

1.查看源码,这次过滤的就有点多了,但是过滤的是“| ”,不是“|”,前者多个空格,所以还是能使用管道

2.命令以及结果如图

四、Cross Site Request Forgery (CSRF)模块的练习

low难度

1.输入密码和确认密码

2.查看url,发现是get方法,把密码和确认密码直接放在url里面了

3.也就是说只要更改参数就能实现修改密码的功能,再联想一下这个模块名字,跨站请求伪造,也就是说只要做一个相同排版的界面,让用户点击我们提前设置好的链接,那么就可以将用户的密码改成我们的,但是怎么样才能让用户点击那么长的url哪?使用短链接生成器(百度即可)

4.在浏览器里面粘贴并转到缩短后的网址,发现和之前一样,证明短链接有效

medium难度

1.输入之后发现还是get提交

2.把url复制之后直接访问试一试

3.提示不行

4.看一下源码,有个stripos函数

5.百度一下stripos,大概意思就是对比refer和host,refer里面有host就可以了

6.抓一下不行的包,直接把之前的refer复制下来粘贴上去就行了

7.如图操作

8.发现成功了

high难度

1.查看源码,看到个老朋友,token

2.安装一个burp suite提供的模块“CSRF Token Tracker”

3.然后抓包,复制token,去CSRF Token Tracker

4.然后如图所示配置

5.再把刚才抓的包发送到重发器,点击发送就成功了

6.总结:high难度的csrf主要是需要拿到token,一般的做法是利用xss拿到,而单单仅是打打靶场就没必要那么麻烦了,甚至其实更简单一点甚至可以跟medium难度的做法一样,抓包加个refer就行。

这里主要是学习csrf的攻击思路,攻击者通过一些方法,代理抓包也好,脚本也好,xss也好,就是为了拿到token以及cookie等能证明身份的东西,说白了就是利用用户的登录状态,将伪装好的链接或者其他恶意代码伪装成图片资源或者跳转链接(所以网页上的广告链接千万别点!)用来获取刚才说到的东西,最后直接进行修改密码或者其他操作

五、File Inclusion模块的练习

low难度

1.总共列出了三个文件,让我们选择,随便选择一个

2.选择之后发现get方法获取文件名,随便改一个文件名然后发现警告直接给出了文件路径

3.拿到路径那之后就是发挥想象力的时候了,猜一猜有没有phpinfo.php、php.ini之类的

medium难度

六、File Upload模块的练习

low难度

1.先来个一句话木马

2.上传该文件(Windows自动报毒最开始直接删了(脏话)),甚至贴心的提供了路径,他温我哭

3.用蚁剑链接,IP是文件的路径,密码是一句话木马里面中括号括起来的“attack”(可以改别的)

4.添加之后双击就能查看所有文件了

七、Insecure CAPTCHA模块的练习

low难度

1.没什么别的提示,只有输入框,那就看看url,一个路径

2.按着这个路径找到了验证源码,这里验证四个参数

3.随便输入个密码然后抓包看看,第一个参数不是2,改成2之后放包

4.修改成功

5.点击logout退出重新登录,密码已经被修改

八、SQL Injection模块的练习

low难度

1.low难度,应该啥都没过滤,那就玩点暴力的,bp抓包

2.先随便输入点什么,我输入的0,所以要替换的就是这里了,发送到测试器

3.网上找了一个注入字典,练习Brute Force模块的时候写过完整步骤,这里不再赘述

字典链接:SQL注入万能密码字典_JacobTsang的博客-CSDN博客_sql注入字典

长度最短的都是这种报错,那就直接不看,看最长的,果然,直接都暴漏出来了,原理不是这里一句两句能说清的

九、SQL Injection (Blind)模块的练习

low难度

准备阶段:盲注就得借助工具了,在Windows虚拟机上装sqlmap就太麻烦了,所以我又在kali上装了个dvwa。参考教程:Web渗透实训——kali环境搭建+phpstudy+dvwa_林南溪的博客-CSDN博客_kali自带phpstudy这个教程里面设置dvwa参数的文章没有了,看别的也一样

1.输入1’ and 1=1#显示存在,输入1’ and 1=2#也显示存在,根据下图表格,所以是字符型

2.先抓个包,将圈出来的所有复制

3.创建一个txt文件,把复制的放进去

4.打开控制台输入命令“sqlmap -r 1.txt -dbs --batch ”

5.这里已经拿到了库名

6.然后输入这个命令“sqlmap -r 1.txt -D dvwa -dump-all --batch“就能拿到表的数据

十、Weak Session IDs模块的练习

low难度

1.准确的说这个模块不能叫练习,这个模块大概是能拿到cookie,抓包可以抓到cookie,然后就可以直接登录被抓的用户的界面,这里看一下源码。大概意思是统计点击的次数,说白了和直接写1,2,3,4没啥区别,很容易伪造

十一、DOM Based Cross Site Scripting (XSS)模块的练习

low难度

1.先看源码,没有过滤,那网上找个简单的就行了

2.第一张是原url,第二个是我加了代码之后的,就是把“English”替换成“<script>alert('你中病毒了2333')</script>”

十二、Reflected Cross Site Scripting (XSS)

low难度

1.让输入名字,查看源码,没有过滤

2.输入“<script>alert('xss')</script>”,发现已经拿到了用户的cookie

十三、Stored Cross Site Scripting (XSS)模块的练习

low难度

1.两行输入,第一行发现有长度限制,没事,我们可以在第二行写payload“<script>alert(1)</script>”

2.提交之后如图

3.提交成功后,无论输入什么都只会输出1 了,因为存储型xss会把恶意代码放入数据库,所以无论提交什么数据都会执行这一个代码,如图,两行均输入2,但是显示1

十四、Content Security Policy (CSP) Bypass模块的练习

low难度

准备阶段:这个模块有点特殊,先简单说一下csp,简单来说就是白名单,白名单里的可以信任,那么我们便可以在白名单做点手脚,比如加白名单,或者对白名单里面的网址做一点手脚

1.看一下源码,框起来的部分就是白名单

2.这里有dvwa直接准备好的,已经构建好的url

3.打开看一下,就是构造好的payload

4.可以直接用,也可以自己去对应网站创建,我就直接用了,复制然后粘贴进去点include即可,都是没有弹窗,我去看了一下别的博主的解释说是这个网站是米国的,返回较慢,所以没弹窗

十五、JavaScript Attacks模块的练习

low难度

1.题目提示输入success即可,输入后显示错误,好吧,果然没那么简单,看一下源码,后台想要的是md5(rot13("success"))

2.打开f12进入控制台,使用一下md5(rot13("success")),查看一下后台想要的结果应该是什么,记下这一串

3.抓一下包,发现提交的不一样,那就改了然后提交

4.成功了

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值