首页 > 其他分享 >DVWA靶场学习(一)—— Brute Force

DVWA靶场学习(一)—— Brute Force

时间:2024-06-07 21:55:51浏览次数:20  
标签:Force Brute DVWA 密码 token user 设置 爆破

Brute Force

暴力破解其实就是利用不同的账户和密码进行多次尝试。

因为用户在设置密码时可能会选用比较容易记忆的口令,因此,可以使用一些保存常用密码的字典或者结合用户的个人信息进行爆破。

DVWA安全等级有Low,Medium,High和Impossible四种,随着安全等级的提高,网站的防护等级和攻击难度也不断提高。这里将DVWA安全等级设置为了Low。

Low

进入Brute Force页面,可以看到一个登录框,需要填写用户名和密码信息。

随意填写账号信息,使用BurpSuite进行抓包,可以看到Request请求中所填写的用户名和密码字段。

将抓到的数据包发送到Intruder模块(右键后选择Send to intruder),对用户名和密码字典进行爆破,选中需要爆破的字段然后点击Add。因此涉及两个字段这里选择Cluster bomb。

设置Payload,载入弱口令字典,这里使用了Github上面的一个开源项目中的字典,PasswordDic: https://github.com/wwl012345/PasswordDic

启动爆破,这里可以发现当用户名为admin,密码为password时返回的length不同,可以尝试进行登录,即可登陆成功。


Medium

整体流程与Low相同,不过服务器增加了2s的验证时间,破解速度略有减慢。

High

再次使用BurpSuite进行抓包,可以看到Get请求增加了user_token验证,并且每次登录该token值都会发生改变。

查看源码,可以看到增加了checkToken函数对user_token和session_token进行验证。

分析HTML源码,可以看到其中隐藏了user_token字段,也就是说,每次用户获取页面时,服务器会发送包含随机user_token值的页面,当用户提交表单时,就会将user_token值一同上传,服务器进行验证。也就是说,只要我们每次爆破时将对应的user_token字段一并提交即可。

重新抓包,设置需要爆破的字段,这里攻击模式改为Pitchfork。(四种攻击模式的区别可以自行查询了解。)

在Settings选择中找到Grep Extract即从响应中提取信息,选择Add。

设置要提取信息的起始位置。

Redirection选择Always。

分别设置payload,第三个位置设置为Recursive grep

设置资源池,这里Conccurrent requests设置为1。

开始爆破即可得到用户名和密码。

标签:Force,Brute,DVWA,密码,token,user,设置,爆破
From: https://www.cnblogs.com/liuzibo1024/p/18237904

相关文章

  • Codeforces Round 950 (Div. 3)G. Yasya and the Mysterious Tree(字典树处理区间异或
    Problem-G-Codeforces存个字典树板子。1#include<bits/stdc++.h>23usingi64=longlong;45constexprintN=1E7;67inttrie[N][2];8intcnt[N][2];910inttot=0;11intnewNode(){12intx=++tot;13trie......
  • Codeforces Round 949 (Div. 2)D. Turtle and Multiplication(欧拉路径、线性筛、思维
    Problem-D-Codeforces  按照官方正解做即可,顺带存个jiangly板子。1#include<bits/stdc++.h>23usingi64=longlong;4std::vector<int>minp,primes;56voidsieve(intn){7minp.assign(n+1,0);8primes.clear();910......
  • Codeforces Round 950 (Div. 3) A B C D E
    A.ProblemGeneratortimelimitpertest:1secondmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputVladisplanningtoholdm......
  • Codeforces Round 951 (Div. 2)
    A.GuesstheMaximum题意:给定一个数组,求一个k值,k满足对于任意的这个数组的区间的最大值max,k<max。求满足条件的最大k。思路:只考虑长度为2的区间即可。参与到比较中的数值一定是两个数中的大数,从所有大数中选出最小的一个即可。总结:赛时很快就A掉了,但是思考的不够细节,思维太......
  • codeforces round 961题解(A、B、C)
    A.GuesstheMaximum因为\(i<j\),所以所有的\([i,j]\)区间中都至少包含两个相邻元素,所以只要求出所有相邻元素中较大值的最小值即可。intn;inta[N];voidsolve(){cin>>n;intmin_v=1e9+1;for(inti=1;i<=n;i++){cin>>a[i];......
  • CodeForces Round #951(Div. 2) 补题记录(A~D)
    A容易发现对于任意一个长度为\(n\),下标从\(1\)开始的序列\(a\),若\(1\lel\ler<n\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l}^{r+1}a_i\)。若\(1<l\ler\len\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l-1}^ra_i\)。很显然Bob希望......
  • codeforces 1442 D Codeforces Round 681 (Div. 1, based on VK Cup 2019-2020 - Fina
    链接大意就是给你n组物品,这n组物品里面每组有\(t_i\)个,且他们是按照价值不降的顺序排列的。现在允许取k个物品,每个物品必须取在数组的开头处,每个物品在被取用后就会消失。问你最大能够拿到多少价值的物品。其中\(n,k\leq1500,\sumt_i\leq1e6,a_i\leq1e8\)很背包吧。可......
  • Codeforces Round 949题解(A、B、C)
    A.TurtleandPiggyArePlayingaGame首先\(p\)选\(2\)的话除得最慢,得的分多。考虑二进制表示,如果\(x=(1000000000)_{bin}\),则每次除以\(2\)都是相当于右移一位,除完之后仍然是\(2\)的倍数,变成\(1\)的步数就是把最高位的\(1\)移动到\(0\)位的步数。因为\(2l\ler\),所以\(l......
  • Codeforces Round 950 (Div. 3)个人题解(A~F1)
    CodeforcesRound950(Div.3)个人题解(A~F1)题解火车头#define_CRT_SECURE_NO_WARNINGS1#include<iostream>#include<vector>#include<algorithm>#include<set>#include<unordered_map>#include<cstring>#include<cstdio&......
  • Codeforces Round 949 (Div. 2) 中文题解
    A对于一个特定的\(x\),Piggy总是会选择\(p\)使得\(p\)是质数,所以分数就是\(x\)的质因子个数。容易发现至少有\(t\)个质因子的数是\(2^t\)。最大的满足\(2^t\ler\)的整数\(t\)是\(\left\lfloor\log_2r\right\rfloor\)。又因为\(2l\ler\),所以\(\log_2l+......