python小工具之弱密码检测工具
一、引用的python模块
Crypto:
Python中一个强大的加密模块,提供了许多常见的加密算法和工具。它建立在pyc.ypodome或pyc.ypto等底层加密库之上,为Python程序员提供了简单易用的API,使其可以轻松地实现各种加密功能。
commands:
commands 模块是 Python 的内置模块,它主要有三个函数:
FUNCTIONS
getoutput(cmd)
Return output (stdout or stderr) of executing cmd in a shell.getstatus(file)
Return output of "ls -ld <file>" in a string.getstatusoutput(cmd)
Return (status, 'output) of executing cmd in a shell.
SYS: 基础系统模块
sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。
二、实现过程
python脚本如下:
import crypt
import commands
import sysdef testPass(user,cryptPass,ipaddr):
#dictfile=open('dictionary.txt','r')
start_index=cryptPass.find("$")
finish_index=cryptPass.rfind("$")
salt=cryptPass[start_index:finish_index+1]
dictfile=open('/root/dict.txt','r')
pwd_suffix = ['','.','..','!','!@#','1','123','1234','12345','123456','888','666','999','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019']
for sfx in pwd_suffix:
#print user+sfx
for separator in ['','@','#','&']:
cryptWord=crypt.crypt('%s%s%s'%(user,separator,sfx),salt)
if cryptWord==cryptPass:
#print ipaddr + " [+] Found Password: " +user+'/'+user+sfx+ " \n"
print '%s [+] Found Passwd: %s/%s%s%s \n'%(ipaddr,user,user,separator,sfx)
break
cryptWord=crypt.crypt('%s%s%s'%(user,sfx,separator),salt)
if cryptWord==cryptPass:
#print ipaddr + " [+] Found Password: " +user+'/'+user+sfx+ " \n"
print '%s [+] Found Passwd: %s/%s%s%s \n'%(ipaddr,user,user,sfx,separator)
break
for word in dictfile.readlines():
#print word
word=word.strip()
cryptWord=crypt.crypt(word,salt)
if cryptWord==cryptPass:
print ipaddr + " [+] Found Password: " +user+'/'+word+ " \n"
break
print('[-] Password not found!')def main():
cmd = "ifconfig|grep \"inet addr\"|grep -v 127.0.0.1|awk '{print $2}'"
ipaddr = commands.getoutput(cmd).replace('addr:','').replace('\n','|')
shadowfile=open('/etc/shadow')
for line in shadowfile.readlines():
user=line.split(':')[0]
cryptPass=line.split(':')[1].strip('\n')
if not (cryptPass.startswith('*') or cryptPass.startswith('!')):
print "[*] Cracking Password For: " +user
testPass(user,cryptPass,ipaddr)if __name__=='__main__':
main()
注:破解密码有两种方式,一种是通过脚本pwd_suffix定义的后缀,另一种是调用密码字典库(/root/dict.txt)来破解。
三、演示效果
创建一个测试用户testuser,密码设置成123456,然后执行检测脚本。滴,弱密码已被发现!

相关文章:
python小工具之弱密码检测工具
一、引用的python模块 Crypto: Python中一个强大的加密模块,提供了许多常见的加密算法和工具。它建立在pyc.ypodome或pyc.ypto等底层加密库之上,为Python程序员提供了简单易用的API,使其可以轻松地实现各种加密功能。 commands…...
链接器--动态链接器--延迟绑定与动态链接器是什么?学习笔记二
内容在下面链接(通过新建标签页打开): 链接器--动态链接器--延迟绑定与动态链接器是什么?学习笔记二一个例子来看延迟加载https://mp.weixin.qq.com/s?__bizMzkyNzYzMjMzNA&mid2247483713&idx1&snee90a5a7d59872287…...
JMeter CSV 参数文件的使用方法
.在 JMeter 测试中,参数化是非常重要的,参数化允许我们模拟真实世界中的各种情况。本文我们将探讨如何在 JMeter 中使用 CSV 参数文件。 创建 CSV 文件 首先,我们需要创建一个逗号分隔的值(CSV)文件,其中…...
how2heap-2.23-06-unsorted_bin_into_stack
#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h>// 从 unsorted bin 的 bk 去找合适的 void jackpot(){ fprintf(stderr, "Nice jump d00d\n"); exit(0); }int main() {intptr_t stack_buffer[4] {0};fpr…...
(学习打卡2)重学Java设计模式之六大设计原则
前言:听说有本很牛的关于Java设计模式的书——重学Java设计模式,然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧,本文主要记录笔者的学习笔记和心得。 打卡!打卡! 六大设计原则 (引读:这里…...
数据结构:第7章:查找(复习)
目录 顺序查找: 折半查找: 二叉排序树: 4. (程序题) 平衡二叉树: 顺序查找: ASL 折半查找: 这里 j 表示 二叉查找树的第 j 层 二叉排序树: 二叉排序树(Binary Search Tree&…...
编程语言的未来?
编程语言的未来? 随着科技的飞速发展,编程语言在计算机领域中扮演着至关重要的角色。它们是软件开发的核心,为程序员提供了与机器沟通的桥梁。那么,在技术不断进步的未来,编程语言的走向又将如何呢? 在技…...
SpringBoot的测试
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
C++睡眠函数:Windows平台下的Sleep函数和Linux平台的usleep函数
C/C睡眠函数:Windows平台下的Sleep函数和Linux平台的usleep函数 WinAPI Sleep Sleep函数属于Windows API,使用它需要先包含synchapi.h。 void Sleep(DWORD dwMilliseconds);函数仅有一个参数(睡眠时长),单位是毫秒。…...
详解白帽子以及红队、蓝队和紫队
企业继续数字化,其关键基础设施和运营扩大了攻击面,暴露于各种威胁途径的面前。为了解决这个问题,企业领导者认识到拥有内部专家的重要性。考虑到网络威胁领域不断发展的态势,企业领导者可以利用道德黑客以及红队、蓝队和紫队的工…...
1、docker常用技巧:docker数据位置更改
目录 🍅点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记…...
Qt之设置QLabel的背景色和前景色
方法有两种,一种是使用调色板,一种是使用样式表。 方法一:调色板 QPalette palette ; // 设置黑底绿字 palette .setColor(QPalette::Background, Qt::black); palette .setColor(QPalette::WindowText, Qt::green); // 这句不能少,否则没效果 ui->label->setAutoF…...
数模学习day06-主成分分析
主成分分析(Principal Component Analysis,PCA)主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。一般来说当研究的问题涉及到…...
Windows PowerShell的安全目标——安全警报
Windows PowerShell的安全目标——安全警报 1. 保证Shell安全 自从2006年年底PowerShell发布以来,微软在安全和脚本方面并没有取得很好的名声。毕竟那个时候,**VBScript和Windows Script Host(WSH)**是两个最流行的病毒和恶意软件的载体,…...
k8s笔记1- 初步认识k8s
k8s简介: kubernetes,俗称k8是,用于自动部署,扩缩和管理容器化应用程序的开源系统,它将组成应用程序的容器,组合成逻辑单元,便于管理和服务发现。 k8s的作用 自动化上线和回滚、存储编排…...
ARM CCA机密计算软件架构之内存加密上下文(MEC)
内存加密上下文(MEC) 内存加密上下文是与内存区域相关联的加密配置,由MMU分配。 MEC是Arm Realm Management Extension(RME)的扩展。RME系统架构要求对Realm、Secure和Root PAS进行加密。用于每个PAS的加密密钥、调整或加密上下文在该PAS内是全局的。例如,对于Realm PA…...
python基于flask实现一个文本问答系统
from flask import Flask, render_template, requestapp Flask(__name__)# 一个简单的问题-答案映射,实际中可以使用更复杂的存储结构(数据库等) qa_pairs {"什么是人工智能?": "人工智能是模拟人类智能的一种机…...
lambda表达式使用和示例
lambda表达式 什么是lambda 学习lamdba有两个结构十分关键,一个是lamdba自己,另一个是函数式接口 lamdba lamdba表达式本质上就是匿名方法,不能独立运行用于实现函数式接口定义的另一个方法,因此lamdba会产生一个匿名类lamdba…...
STM32学习笔记十八:WS2812制作像素游戏屏-飞行射击游戏(8)探索游戏多样性,范围伤害模式
前面我们的攻击手段比较单一,虽然已经分出了 EnemyT1 / EnemyT2 / EnemyT3, 但里面还是基本一样的。这回,我们尝试实现一些新的攻击方法,实现一些新的算法。 1、前面我们小飞机EnemyT1 的攻击方式是垂直向下发射子弹。 那么大飞机…...
C#获取windows系统资源使用情况
1.前言 之前有一篇博客介绍如何获取Linux服务器上的资源使用情况《Java 获取服务器资源(内存、负载、磁盘容量)》,这里介绍如何通过C#获取Window系统的资源使用。 2.获取服务器资源 2.1.内存 [DllImport("kernel32.dll")][retu…...
突破性SLAM实战:如何用SLAM Toolbox彻底改变机器人定位与建图工作流
突破性SLAM实战:如何用SLAM Toolbox彻底改变机器人定位与建图工作流 【免费下载链接】slam_toolbox Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS 项目地址: https://gitcode.com/gh_mirrors/sl/slam_toolbox …...
OpenArk:新一代Windows系统安全分析工具完整指南
OpenArk:新一代Windows系统安全分析工具完整指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 如果你正在寻找一款强大的Windows系统安全分析工具&#…...
斯坦福邱肖杰:自动化组学发现的可进化多智能体框架
摘要 大型语言模型驱动的自主智能体系统与单细胞生物学的融合,有望推动生物医学发现领域的范式转变。然而,现有生物智能体系统基于单智能体架构构建,要么功能单一、要么过于泛化,仅适用于常规分析。本文介绍1种可进化…...
5分钟制作Windows启动盘:Rufus免费工具终极指南
5分钟制作Windows启动盘:Rufus免费工具终极指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 还在为系统重装而烦恼吗?Rufus作为一款完全免费的USB格式化工具࿰…...
实战LangGraph构建智能客服系统:在快马平台实现工单自动分类与处理全流程
今天想和大家分享一个用LangGraph构建智能客服系统的实战经验。这个项目主要解决工单自动分类和处理的问题,整个过程在InsCode(快马)平台上完成,从开发到部署一气呵成。 项目背景与需求分析 传统客服系统需要人工处理大量工单,效率低下且容易…...
Spring Boot项目SQL执行监控实战:手把手集成P6spy,自定义日志格式并输出到文件
Spring Boot生产环境SQL监控全方案:P6spy高阶配置与日志持久化实战 当你负责的电商系统在促销活动期间突然出现响应迟缓,或是金融交易系统在月末结算时频繁超时,数据库查询性能往往是首要怀疑对象。但生产环境的数据库通常不允许直接连接进行…...
第一步:你只需要改这里的所有参数
算数优化算法AOA,2021年新出的智能优化算法,结合SVM做回归拟合预测建模,代码内有详细的注释替换数据就可以使用上次实验室熬大夜调催化加氢产率的SVR模型差点怀疑人生:RBF核随便蒙C和gamma,MSE有时候0.01有时候飘到0.5…...
秀米能做的它都行,AI 写作让内容生产更简单
「选题想破头,初稿磨半天,排版更费神。」这或许是当下许多小编、运营乃至企业内容负责人的日常写照。内容需求暴涨,但高质量产出一直是道门槛。传统的编辑器,如秀米等,已极大简化了图文排版与可视化编辑的流程…...
从零到上线:用Vue3+AntV G2快速搭建企业级数据大屏
从零到上线:用Vue3AntV G2快速搭建企业级数据大屏 在数字化转型浪潮中,数据可视化已成为企业决策的重要支撑。想象这样一个场景:会议室里,高管们围坐在大屏前,实时业务数据通过动态图表清晰呈现,关键指标一…...
基于PLC1200的水箱液位解耦控制系统(过程控制课程设计) #笔记学习资料 内含: 1
基于PLC1200的水箱液位解耦控制系统(过程控制课程设计) #笔记学习资料 内含: 1.PLC控制程序(博图V18) 2.设计报告(pdf版本,详细介绍整个项目设计方案、Simulink仿真模型结构图、仿真结果、PLC梯…...
