一、暴力**
【基于表单的暴力**】
①在登录框随意输入账号密码,开启burp suite抓包。
②将抓到的包,右键点击发送到intruder模块
③打开intruder,点击positions,选择需要替换的变量,先“clear”后“add”,选择适合的攻击模式:
1)Sniper:狙击手,默认每次只能有一个变量进行攻击。
2)Battering ram:冲撞车。可选多个变量同时替换,但都只用同一个字典。
3)Ptichfork:草叉型,可选多个变量,每个变量一个字典,然后一一对应实验。
4)Cluster bomb:焦束炸弹,可选多个变量,每个变量一个字典,然后交叉组合进行实验。
这里攻击方式选择cluster bomb,变量payload 1、2分别在select file选择对应的字典,user.txt和password.txt(注意:字典路径里不能够包含中文)
④点击start attack,开始**,我们可以根据length去判断哪个正确,一般length不同于其他的,就是正确的。使用**的账号密码登录,登陆成功。
【验证码绕过on server】
①确认验证码,当不输入验证码、输入验证码错、用户不存在时,会提示
②随便输入账号和密码并输入正确的验证码,进行抓包,将抓到的数据包发送到repeater模块中,修改验证码,看后台是否对验证码进行了验证。
提交验证码为空,返回提示如下
输入一个错误的验证码,提示如下。说明后台对验证码进行了验证
⑤接下来验证验证码是否存在不过期的问题。刷新页面,获取新的验证码asfv69,不在前台进行登录,我们将新获取到的验证码输入到刚刚抓到数据包中,此时我们输入的是正确的验证码,应该返回用户名和密码不正确,返回结果与我们猜想的一样
⑥更改用户名或者密码的其中一个,应该返回验证码不正确;然而返回的结果却为账号或者密码不正确。这说明验证码被重复使用,存在不过期的问题,所以我们就可以进行暴力**
⑦将数据包发送到Intruder模块,选择**方式,注意此时的验证码应填写正确的验证码,使用刚刚刷新得到的验证码,设置payloads,进行暴力**,和前面的实验类似
【验证码绕过on client】
①首先验证是否可以暴力**,当我们不输入验证码时,会提醒我们输入验证码;当输入错误的验证码时,会提醒验证码错误;当输入正确的验证码,提示用户名或者密码不存在。
②开启burpsuite抓包,请求的是POST数据,多了一个验证码
③进入pikachu目录下的vul\burteforce\bf_client.php,查看源码,我们发现验证码的生成是在前端中实现的,函数createCode()调用js生成验证码,在前端中用js来做验证码是不安全的,很容易被绕过,源码里还很调皮地给了我们提示。
④burpsuite中将数据包发送到Intruder模块并对默认的变量进行清除clear,将账号和密码设置成变量add,此时的验证码并没有社么作用,所以不用设置成变量,设置暴力**方式cluster bomb,然后start attack,
**成功
【token防**?】
二、Cross-Site Scripting
三、CSRF
【CSRF–get】
①输入账号密码登录:kobe–123456,修改信息,使用burpsuit抓包
②我们发现修改信息使用了:
GET/pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=123&phonenum=123&add=123&email=123&submit=submit
③构造一个PHP文件,上传到自己的服务器(\phpstudy\WWW),将内容全部改成111
④当我们访问该文件的时候,pikachu的个人中心的信息全部被修改
【CSRF–post】
①输入账号密码登录:kobe–123456,修改信息,使用burpsuit抓包,我们发现修改信息使用了:
/pikachu-master/pikachu-master/vul/csrf/csrfpost/csrf_post_edit.php
②构造一个PHP文件,上传到自己的服务器(\phpstudy\WWW),当我们访问该文件的时候,pikachu的个人中心的信息全部被修改
【CSRF–token】
四、SQL-Inject
五、RCE
【exec”ping”】
①输入:127.0.0.1
②用|或者&拼接别的命令,输入:127.0.0.1 | dir,可以看到目录下的一些文件
③在pikachu目录:\vul\rce,查看源代码ping.php,我们发现这里直接将变量ip进行拼接,没有做任何处理【exec”eval”】