Python爆破shadow文件密码

news2024/11/14 22:04:15

原理

加密算法(明文,盐值) = 密文

上面是shadow文件中密码的加密公式,我们可以用Python中的crypt()函数进行上述运算,如果得出的密文与原来的一致,说明密码爆破成功。

关于盐值和shadow文件的字段详解,请移步我的这篇博客:用户、权限和组

步骤

查看shadow文件的root用户的字段:

在这里插入图片描述

将root用户的字段复制出来,赋给一个变量shadow_line:

shadow_line="root:$y$j9T$uEgezfJhn7Ov5naU8bzZt.$9qIqkWYObaXajS5iLDA43uFhdrtt4ZfbmiZjkZFYve2:18711:0:99999:7:::"

从shadow文件中,提取密码密文:

用split()函数分割,指定分隔符为:,取第二段字符串

crypt_text=shadow_line.split(":")[1]

从密码密文中,提取盐值:

rindex()函数从右取指定符号,输出它所在的位置

salt=crypt_text[0:crypt_text.rindex("$")]

从密码字典中,读取密码,这里没有密码字典,直接给一个值:

password="root"

将读取的密码与盐值进行加密运算,得到猜测的密码密文:

new_crypt_text=crypt.crypt(password,salt)

将得出的密码密文与原来的做对比,如果一致,说明密码猜对了:

if new_crypt_text == crypt_text:
	print(f"[+] password found:{password}"")
else:
	print(f"[+] password not found!")

将这些代码组成完整代码,放到一个pj.py文件中:

import crypt
shadow_line="root:$y$j9T$uEgezfJhn7Ov5naU8bzZt.$9qIqkWYObaXajS5iLDA43uFhdrtt4ZfbmiZjkZFYve2:18711:0:99999:7:::"
print(f"[+] The shadow line is {shadow_line}")

crypt_text=shadow_line.split(":")[1]
print(f"[+] The crypt text is {crypt_text}")

salt=crypt_text[0:crypt_text.rindex("$")]
print(f"[+] The salt is {salt}")

password="root"
new_crypt_text=crypt.crypt(password,salt)

if new_crypt_text == crypt_text:
	print(f"[+] password is {password}"")
else:
	print(f"[+] password not found!")

执行该文件,破解出密码是root:
在这里插入图片描述

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

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

相关文章

Vue-01:MVVM数据双向绑定与Vue的生命周期

一、Vue介绍 1.1 什么是Vue ? Vue是一个渐进式的JavaScript框架,用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性,而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特…

Rocketmq并发和顺序消费的失败重试机制

文章目录 问题并发消费触发时机客户端发起请求 CONSUMER_SEND_MSG_BACKBroker处理CONSUMER_SEND_MSG_BACK请求 顺序消费Q&A消费的时候是一批的消息, 如果其中某条消费失败了,是所有的消息都会被重试吗?用户可以自己控制重试次数、重试间隔时间吗?批量消费消息,…

Redis分布式锁的实现方式、实现原理

目录 一、分布式锁的重要性与挑战1.1 分布式系统中的并发问题竞态条件数据不一致死锁 二、分布式锁的基本原理与实现方式2.1 分布式锁的基本概念2.2 基于数据库的分布式锁原理与实现方式优缺点 2.3 基于缓存的分布式锁原理与实现方式优缺点 三、Redis分布式锁的实现与使用3.1 使…

elasticsearch19-数据同步

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

算法通关村第13关【黄金】| 数论问题

1.欧几里得算法 思路:欧几里得算法 【欧几里得演算法(辗转相除法)】 https://www.bilibili.com/video/BV19r4y127fu/?share_sourcecopy_web&vd_sourced124eda224bf54d0e3ab795c0b89dbb0 class Solution {public int findGCD(int[] nums) {int min Integer.MA…

001:vue3 实现自定义指令v-copy复制

文章目录 1. 实现效果2. vue3 注册全局自定义指令详解(v-copy)3. main.js 注册全局自定义指令,挂载到 vue 上4. 页面使用 1. 实现效果 2. vue3 注册全局自定义指令详解(v-copy) 在src中,新建 directive 文…

鸟哥的LInux私房菜 基础学习篇 第四版 学习笔记

第一章 目前被称为纯种的Unix指的是System V以及BSD这两套软件。 要实现多任务的环境,除了硬件(主要是CPU)需要能够具有多任务的特性外,操作系统也需要支持这个功能。 如果网络有问题时,去/var/log目录查日志。 第二…

基于Java的高校科研信息管理系统设计与实现(亮点:完整严谨的科研项目审批流程、多文件上传、多角色)

高校科研信息管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1…

Kafka自带zookeeper---集群安装部署

kafka简介 kafka官网:http://kafka.apache.org/kafka下载页面:http://kafka.apache.org/downloadskafka配置快速入门:http://kafka.apache.org/quickstart 首先让我们看几个基本的消息系统术语: •Kafka将消息以topic为单位进行…

STM32的HAL库SPI操作(master 模式)-根据时序图配置SPI

SPI相关基础知识 SPI基本概念请自行百度,参考:百度百科SPI简介.我们讲重点和要注意的地方。 master模式下要关注的地方 接线一一对应 也就是说主控的MISO,MOSI,SCLK,[CSn]分别和设备的MISO,MOSI,SCLK,[CSn]一一对应相连,不交叉&#xff0…

Linux 本地Yearning SQL 审核平台远程访问

文章目录 前言1. Linux 部署Yearning2. 本地访问Yearning3. Linux 安装cpolar4. 配置Yearning公网访问地址5. 公网远程访问Yearning管理界面6. 固定Yearning公网地址 前言 Yearning 简单, 高效的MYSQL 审计平台 一款MYSQL SQL语句/查询审计工具,为DBA与开发人员使用…

二叉树的几个递归问题

我的主页:Lei宝啊 愿所有美好如期而遇 前言: 二叉树的递归是二叉树很重要的问题,几乎解决二叉树的问题都要使用递归,接下来我们将解决二叉树几个最基础的递归问题。 目录 前言: 二叉树的前序,中序&…

负载均衡原理及应用

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

JDK8源码阅读环境配置

说明 环境 jdk 版本:1.8.0_381 系统:macos 13.5.1 Intel 目的 学习 jdk8 源码,并能自定注释。 新建 java 工程 在 idea 中新建 java 工程,注意并非 maven 工程。如下图:完成后,如下图: 配置…

中外超市纷争“到家”13年 永辉盒马山姆谁也不服谁

59岁的侯毅,需要一次机会,向刘强东、向张勇,还有马云证明盒马的可能。 日前,盒马香港IPO意外“搁置”,无形之中给国内零售市场再次增添了一丝寒意。 近几年国内线下商超市场一片低气压,不续租、关店、亏损…

5万条汉语精选字词大全ACCESS\EXCEL数据库

《5万条汉语精选字词大全ACCESS数据库》精选了51675个词条,解释内容包含了拼音,英语,解释,例名。不管你是学生还是老师亦或是正在学习中文的外国友人,都可以轻松搜索掌握以及了解你想要知道的词或字。 截图下方有显示“…

Java环境搭建安装IDE

Java环境搭建、安装IDE 文章目录 Java环境搭建、安装IDE1. 下载Java JDK ,配置环境变量,在命令行环境下完成hello world程序;简介安装Step 0 安装包准备工作Step 1 下载 Java JDKStep 2 配置环境变量配置 JAVA_HOME配置 Path配置 CLASSPATH S…

长胜证券:A股或处于主题驱动向业绩驱动的切换点

长胜证券指出,上星期社融、经济数据好于预期,降准进一步表现方针呵护,但海外扰动下商场以震荡为主。大势上,本轮“方针底”到“商场底”阶段外资定价权更高,当前处于国内基本面预期底部与海外基本面预期顶部的最后角力…

力扣刷题(简单篇):两数之和、两数相加、无重复字符的最长子串

坚持就是胜利 一、两数之和 题目链接:https://leetcode.cn/problems/two-sum/ 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应…

RAID配置:确保数据安全性

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…