DVWA靶场全解析
1.Brute Force
1.1low
我们直接在输入栏内随便填写数据,之后使用bp进行抓包
抓到包后发送到instruder模块进行爆破,由于需要同时爆破用户名和密码两个字段,所以我们选择集束炸弹模式
设置好字典后开始爆破,最后根据响应头的不同得到用户名和密码
1.2medium
这个级别与low基本一致,直接爆破即可得到用户名和密码
要注意的是降低进程数,防止检测频繁无法爆破
1.3high
查看这一关的源代码,可以知道比上两关多了token验证
我们先正常抓包,可以看到附带了token
对于这个的破解方法是选择集束炸弹模式进行破解,第二个字段选择token,将我们刚才得到的直接复制就好
最后得到密码
2.Command Injection
命令注入就是在需要输入数据的地方输入了恶意代码,而且系统并没有对其进行过滤或者其他处理导致恶意代码也被执行,最终导致数据泄露或者正常数据被破坏
常用到的连接符:
A&B(简单的拼接,AB之间无制约关系),A&&B(A执行成功才会执行B),A|B(A的输出作为B的输入),A||B(A执行失败,然后才会执行B)
2.1low
打开题目后随便输入一个指令来查看回显
得到了一些乱码
我们此时去靶场文件中找到dvwaPage.inc.php文件,选择在记事本中进行编辑,将所有的utf-8编码替换为gb2312编码
替换完成后选择保存重启小皮后,发现乱码已经可以正常显示了
接下来我们使用&&连接127.0.0.1和想要执行的命令发现可以正常显示和执行了
2.2medium
打开题目源码发现,代码过滤掉了&&和;两个符号
我们可以选择使用&来连接命令绕过也可以选择&;&绕过
2.3high
依旧是查看源代码
我们可以发现这次是过滤掉了绝大数的连接符号,但是观察后我们可以发现仍然有很多的连接符未被过滤如: |(前面加空格); || (前后加空格)等等,依照对应的逻辑,依旧可以注入
3.CSRF
3.1low
打开网站后是一个修改密码的页面
当我们输入密码进行修改后,提示修改成功后,我们会发现这是一个get型提交,所以我们可以直接再url中进行修改,提交后即修改完成
3.2medium
我们再次使用url修改发现失败
使用bp进行抓包,发现该等级多了对referer的验证
将正常输入的前置网站链接复制改包,即可修改完成
4.File Inclusion
4.1low
打开网站后发现我们可以查看目录下的三个文件
并且查看对应文件的提交方式也是直接在url后使用get方式进行提交
所以我们可以尝试直接修改url值来查看我们需要的文件
4.2medium
查看源代码发现这个等级对http和https进行了过滤
我们使用hthttp双写即可轻松绕过
4.3high
首先查看源代码
我们发现代码的要求是传入的page要以file开头,所以我们使用php伪协议中的file://进行文件读取