爆破linux密码 $6$3uwqC9JI$d9iPRmTDAoXs/IbsplxS3iyeErHqw7fUycacXNHyZk1UCSwFEydl515/zXN7OEwHnyUaqYcNG...

 1 #!/usr/bin/env python
 2 # -*- coding:UTF-8 -*-
 3 
 4 import crypt
 5 import sys
 6 
 7 # 哈希密码的前两位就是盐的前两位,这里我们假设盐只有两位。
 8 # 程序分两部分,一部分是打开字典,另一部分是哈希匹配密码
 9 
10 #standard DES, two salt
11 def desPass(cryptpass):
12     #get salt from the front place
13     saltf = cryptpass[0:2]
14     return saltf
15 
16 #for $6$        
17 def sha512Pass(cryptpass):
18     saltf = "$6$"+cryptpass.split("$")[2]
19     return saltf
20 
21 #for $5$
22 def sha256Pass(cryptpass):
23     saltf = "$5$"+cryptpass.split("$")[2]
24     # saltf = "$5$rounds=5000$anexamplestringf"
25     return saltf
26 
27 def main():
28     banner = '''
29         python CrackPass.py 5
30         one params is type for you are cracking
31         0 ---- standard DES  for 2 salt
32         5 ---- sha256 crypt  $5$salt$secret
33         6 ---- sha512 crypt  $6$salt$secret
34 
35         salt contains $5$salt
36         if $salt contain "$",will cause inaccuracy. Maybe you need set the salt by your hand,for example:# saltf = "$5$rounds=5000$anexamplestringf"
37     '''
38     print banner
39     method = sys.argv[1]
40     passfile = open('Password','r')
41     #从文件中一行一行读取
42     for line in passfile.readlines():
43         cryptpass = line.strip()
44         print "Cracking Password For: %s"%cryptpass
45 
46         #select type
47         if method == "0":
48             salt = desPass(cryptpass)
49         elif method == "6":
50             salt = sha512Pass(cryptpass)
51         elif method == "5":
52             salt = sha256Pass(cryptpass)
53         print salt
54         dictfile = open('dictionary','r')
55         for word in dictfile.readlines():
56             word = word.strip('\n')
57             cryWord = crypt.crypt(word,salt)
58 
59             if cryptpass == cryWord:
60                 print "Found passwd: %s"%word
61                 print "ok"
62                 return
63             print "Password not found!"
64 
65 if __name__ == '__main__':
66     main()

现在只写了$6$  $5$开头的和一种普通的DES两位盐加密的

爆破linux一般用¥6¥

注意一般密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文

真正的盐值包括ID部分,我上面判断salt是根据$分割,默认是密文中只有三个$

有时salt中本来就含有$,

这时就需要自己指定salt了,saltf = "$5$rounds=5000$anexamplestringf"

可以观察出来,观察不出来,就多尝试

 

我的  QQ921658495  希望与大家交流

转载于:https://www.cnblogs.com/kunspace/p/10583774.html

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

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

相关文章

[G星计划]--项目开发总结

第一轮:Dr.Mech 参加了为期7天的第一轮DEMO竞赛,最佳团队,总结一下开发过程中的一些要点。 问题: 关于项目时间安排,由于项目核心代码量并不算太多,所以前几天还是比较从容的,不过这也导致许多…

使用BeanUitls提高对象拷贝效率

首先来创建两个bean 注:一定要有set/get方法,成员变量必须要同名 public class User1 {String name;String password;String phone; /**省略get/set方法**/ } public class User2 {String name;String password;String phone; /**省略get/set方法**/ } 1.Spring的Be…

机器字长、存储字长、指令字长

机器字长:CPU一次能处理数据的位数,一般等于CPU的寄存器位数。 存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。 指令字长:计算机指令字的位数。

var let this的区别

var xx; function test(){ var aa; //声明一let bb; //声明二this.cc; //声明三 //声明一局部代码块{let dd; //声明四 } }那么,这三种方式有什么区别呢? 区别在于作用域不…

在2020年学习cocos游戏引擎

常用链接 Cocos2d-x 用户手册 参考书目 《Cocos2d-X游戏开发实战精解》 《我所理解的Cocos2d-x》 《Effective C》中文版第三版 环境搭建 macOS 10.15.6 Xcode 11.5 cocos2d-x 3.17.2 cmake 3.17.3 创建工程 采用cocos2d-x 3.17版本可直接通过cocos console创建&#xf…

gdb调试程序

编译的时候需要加上 -g 选项。 gcc -o program -g main.c 执行的时候用 gdb 执行。 gdb ./program 常用命令 l 5, 列出从5行开始的前10行代码 b 6, b fun , 设置断点,参数可以是代码行号或者函数名 r , 运行 p, 运行暂停时,可以用 p expression 输出表…

[源码学习]--UGUI

学习参考 从bitbucket上获取uGUI 2019.1源码 UGUI内核大探究 事件系统 UnityEngine.UI/EventSystem/EventSystem.cs private List<BaseInputModule> m_SystemInputModules new List<BaseInputModule>(); // 系统输入模块列表 private BaseInputModule m_Curr…

PureMVC在Unity游戏开发中的应用

作为开发人员&#xff0c;我们都想写出优雅的代码&#xff0c;可又苦于自身能力不知该如何下手&#xff0c;而框架的作用正在与能够让你规范的去开发。 之前写Web的时候&#xff0c;总被要求采用MVC架构&#xff0c;的确非常好用&#xff0c;也从来没有质疑过这种架构的好与不好…

Lua热更新学习

在游戏开发中&#xff0c;常采用Lua进行热更新&#xff0c;本文主要记录lua学习过程中的知识点 Lua框架选择腾讯维护的xLua进行学习 lua语法 Lua中文文档 常用tips // 无需结尾;分号 // nil 表示回收内存 // type() 获取类型 // 单行注释 -- // 多行注释 --[[]]-- // 字符串…

3栏布局技巧

流体布局 主要内容无法优先加载&#xff0c;影响用户体验 html结构&#xff0c;left,right&#xff0c;center&#xff0c;主要内容无法优先加载 <div class"container1"><div class"col_left">left</div> <div class"col_r…

[读书笔记] Effective C++

部分条款过于深奥&#xff0c;部分条款已了然于心&#xff0c;仅记录当下所识所学 条款02&#xff1a;尽量以const&#xff0c;enum&#xff0c;inline替换#define 对于常量宏定义&#xff0c;最好用const代替#define 对于函数宏定义&#xff0c;最好用inline代替#define #inc…

Unity资源管理--AssetBundle学习

Unity资源目录 当用Unity创建一个工程的时候&#xff0c;目录如下&#xff1a; Assets&#xff1a;存放Unity工程实际的资源目录。 Library&#xff1a;存放Unity处理完毕的资源&#xff0c;由unity自动转化生成。 Log&#xff1a;存放日志文件。 Packages&#xff1a;统一管…

[读书笔记] 设计模式与游戏完美开发

最近在看《设计模式与游戏完美开发》&#xff0c;文章将记录一些要点和一些设计模式实现 GoF定义的23种设计模式及应用场景 系统设计可以采用的设计模式&#xff1a;单例、状态&#xff08;场景切换&#xff09;、外观&#xff08;保证高内聚&#xff09;、中介者&#xff08…

auto关键字

使用前&#xff1a; #include<string> #include<vector> int main() {std::vector<std::string> vs;for (std::vector<std::string>::iterator i vs.begin(); i ! vs.end(); i){//...} } 使用后&#xff1a; #include<string> #include<vect…

[读书笔记] 代码整洁之道

书的示例是Java语言编写的&#xff0c;虽说不会影响阅读&#xff0c;但是后面几章讲应用这套方法论的时候&#xff0c;大篇幅的Java代码分析还是挺难受的&#xff0c;而且连java测试框架Junit都要细讲&#xff0c;对于非Java系的开发者来说&#xff0c;一些内容确是云里雾里。 …

iOS开发——GPUImage源码解析

一、基本概念 GPUImage&#xff1a;一个开源的、基于openGL的图片或视频的处理框架&#xff0c;其本身内置了多达120多种常见的滤镜效果&#xff0c;并且支持照相机和摄像机的实时滤镜&#xff0c;并且能够自定义图像滤镜。同时也很方便在原有基础上加入自己的滤镜Filter&#…

[读书笔记] 敏捷软件开发:原则、模式与实践

关于面向对象编程的一些理解&#xff0c;这本书主要看六大原则的部分&#xff0c;书中关于设计模式的内容由于之前的那本《设计模式与游戏完美开发》已经很好的讲解了游戏开发领域的应用&#xff0c;所以不多关注。 面向对象的六大原则 单一职责原则SRP&#xff1a;一个类应该…

Caffe-SSD相关源码说明和调试记录

1 对Blob的理解及其操作&#xff1a; Blob是一个四维的数组。维度从高到低分别是: (num_&#xff0c;channels_&#xff0c;height_&#xff0c;width_) 对于图像数据来说就是&#xff1a;图片个数&#xff0c;彩色通道个数&#xff0c;宽&#xff0c;高 Blob中数据是row-…

[游戏策划] 读书笔记

交互式媒体最有趣的地方在于&#xff0c;它让玩家直面问题&#xff0c;思考、尝试各种解决方案&#xff0c;并体验各种解决方案的结果。然后玩家可以回到思考阶段&#xff0c;规划下一步行动。这种反复试错的过程中&#xff0c;玩家的脑海里就会构建出一个互动的世界。 [读书笔…

YAML_02 playbook的ping脚本检测

ansible]# vim ping.yml---- hosts: allremote_user: roottasks:- ping:ansible]# ansible-playbook ping.yml //输出结果转载于:https://www.cnblogs.com/luwei0915/p/10615360.html