Web安全技术 实验一
一、Pikachu环境搭建
1、XAMPP安装
首先下载XAMPP
然后启动Apache和MySQL

正常启动,端口我之前改过了,所以直接下一步;
进入Admin

至此,Xampp就安装完毕啦!
2、pikachu测试平台搭建
并将其解压在xampp的xampp/htdocs目录下

然后打开pikachu文件夹里的inc文件夹

打开config.inc.php文件

将里面对应的内容该成之前刚刚设置好的数据库服务器地址,用户名,密码和端口号
打开浏览器,输入http://127.0.0.1:80/pikachu/


这样,pikachu平台就搭建好了。
二、暴力破解
这里需要用到BurpSuite进行抓包,我把代理配置好了之后始终抓不到本地pikachu的包,但是却可以抓到其他的包。
尝试了添加证书并信任,还是无果。
这时找到一个方法:更换本机域名。
进入ipconfig查看本机IP,然后在pikachu的url里将本机IP进行替换,即将127.0.0.1替换为本机的IP。

然后再次进行抓包,成功抓到了Pikachu的包。
1.基于表单的暴力破解
随便输入,抓包看看


发送到intruder

选择最后一个

然后把多余的撞库数据clear掉

如图加载写好的字典

同理,选择Payload2。

点击 start attack,开始跑字典
发现三个length不同的username和password,去网页测试一下。


成功登入,破解完成。
2.验证码绕过(on server)
首先随意输入账户、密码,不输入验证码试试。

显示验证码不能为空。
再尝试输入错的账户、密码、验证码试试。

显示验证码输入错误,那我们尝试随意输入账户密码、正确输入验证码试试。

显示账户或者密码不存在。
返回到Burp Suite拦截到POST请求,同之前的方法发送到Repeater模块下。选择随意填写一个验证码或不填,来判断后台是否对验证码进行校验。

通过发回的响应“验证码不能为空哦!”判断出,后台对验证码进行了校验,我们不能使用之前的方进行破解,但是如果验证码不具备时效性,及同一个正确的验证码可以反复使用的话,我们可以通过不改变验证码的变量进行暴力破解。
为了再判断验验证码的时效性(后台是否会在一段时间内对验证码刷新并重新进行校验),我们填写正确的验证码再随意填写用户名和密码。并多次重复这个步骤。

通过服务器多次发回的响应“username or password is not exists~"判断,这个验证码不具备时效性,后台不会在一段时间内刷新验证重新进行校验,同一个验证码同样具有有效性。那么就可以使用之前的方法来进行暴力破解。将POST请求发送到Intruder模块下。点击Clear清除变量,再将账户和密码设置为变量,同时将验证码填为正确的验证码。

以上步骤完成后,我们设置好payload,就可以开始攻击了。

发现三个不同length的账号和密码,说明我们成功绕过了验证码,破解成功。
然后回到pikachu进行测试。

成功。
3.验证码绕过(on client)
首先随意输入用户名、密码、验证码。
Alert了一个验证码输入错误。

输入正确的验证码试试。

我们抓个包,看一下。

随意修改一下账号和密码,不修改验证码,看看是否会显示验证码错误。

试了几次发现,显示的始终是username or password is not exists~
说明这个验证码不具备时效性,后台不会在一段时间内刷新验证重新进行校验,同一个验证码同样具有有效性;或者验证了验证码只在前端处理,不传回后端,那我们就可以爆破了。
还是一样的步骤,将不要的撞库数据clear掉。

Start attack

跑出来有三个length不同的payload,说明成功绕过了验证码。
我们去pikachu测试一下。

成功。
4.token防爆破?
随便输入账号密码,抓包。

Send to intruder,attack type设置为Pitchfork,将除了密码和token外的装酷数据clear掉。

在options中的grep-extract中打勾点击add添加过滤条件,点击refetch response找到响应包中的token 选中复制token值点击确定。


将最下方的redirections选择为always

设置payload ,set为1 type为runtime file 文件选择为密码字典。

set为2 ,type为recursive grep时 复制刚才的token值到first request。
start attack,发现报错。

需要在options中将线程设置为1。

重新爆破,发现有一个包长度不同。

去pakachu测试,成功。

本次实验到此结束啦。

浙公网安备 33010602011771号