实验六-Salt本地pojie实验
【实验目的】了解Salt型密码的加密机制,学会使用本地密码pojie工具来pojieSalt型密码,了解pojie密码原理。
【知识点】Salt,密码pojie
【实验原理】
1.Salt概念
在密码保护技术中,salt是用来修改口令散列的随机数据串。可将salt加入散列,即使系统的另一用户也选用了同一口令,也可通过唯一辨识用户口令来避免冲突。也可加入salt,使用口令散列匹配策略为进攻系统的攻击者制造困难,因为,在口令散列中增加salt可防止攻击者使用字典单词来检验整个系统。salt值属于随机值。用户注册时,系统用来和用户密码进行组合而生成的随机数值,称作salt值,通称为加盐值。
背景:
系统通常把用户的密码如MD5加密后,以密文形式保存在数据库中,来防止黑客偷窥。
产生:
随着对MD5密文查询工具的出现,而很多用户的密码又设置简单,单纯的对用户密码进行MD5加密后保存,用密文很容易就能反查询得到某用户的密码
原理:
为用户密码添加Salt值,使得加密的得到的密文更加冷僻,不宜查询。即使黑客有密文查询到的值,也是加了salt值的密码,而非用户设置的密码。salt值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符、位数可以根据要求而不一样。
用途:
当用户首次提供密码时(通常是注册时),由系统自动添加随机生成的salt值,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的加盐值,然后散列,再比较散列值,已确定密码是否正确。
其它:
经过添加salt值处理的密码,即使用户设置的原密码是相通的,数据库中的密文却是不同的。
2.口令pojie原理
密码pojie,作为黑客常用的攻击手段之一,在攻击的初步阶段实现了账号口令的暴力猜测,为深入攻击做准备。使用精心的构造口令字典、性能强劲的运算系统,能够快速、有效的完成口令强度较低的账户的pojie。无论口令加密采用DES算法、MD5算法,还是其他机制,因为它们具有单向不可逆的特性,要想从算法本身去pojie,难度相当大,通常只存在理论上的可能性。由于各种加密算法都是公开的,虽然逆向猜解不可行,但从正向猜解却是很现实的。因为,设置口令的用户是人,人们在设置口令时,习惯使用一些容易记忆且带有明显特征的口令,如用户名、生日、电话号码、亲友姓名等,这就给我们pojie口令带来机会。我们可以制作一个字典文件:里面的条目都是经常用作口令的字串。猜解口令时,就从字典文件中读出一个条目作为口令,使用与系统口令加密算法相同的方法进行加密,得到的字串与口令文件中的条目进行比较,如果相同,则猜解成功;否则,继续下一次尝试。最终结果可能得到了真正的用户口令,也可能字典文件条目用尽而不能pojie。口令pojie的方法主要是字典法,利用字典文件进行口令猜解。常见的口令猜解模式主要是:
字典模式:即使用指定的字典文件进行口令猜解。
混合模式:即指定字典规则,对字典条目进行某种形式的变化,增加字典内容,提高猜解的效率。
暴力模式:即遍历所有可能的密钥空间,进行口令猜解。
JohntheRipper
John撕裂者(工具),是一个快速的密码pojie工具,用于在已知密文的情况下尝试pojie出明文的pojie密码软件,支持目前大多数的加密算法。免费的开源软件,是一个快速的密码pojie工具,用于在已知密文的情况下尝试pojie出明文的pojie密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是pojie不够牢固的Unix/Linux系统密码。
【软件工具】
操作系统:Windows7
工具:JohntheRipper
【实验目标】
使用JohntheRipperpojie带Salt值的密码散列文件
【实验步骤】
步骤1:使用JohntheRipperpojie带Saltde密码散列文件
首先解压工具包,进入目录【D:\网络攻防技术\5.Salt型密码散列本地pojie实验】,解压工具包【Tools.rar】到当前文件夹然后打开一个命令提示符,进入实验工具目录中的【john179j5\run】子目录,使用cmd运行John.exe,查看可用参考数,打开cmd后输入如下命令,如下图所示:

或直接在run目录下空白处shift+右键选择在此处打开命令行运行john.exe。

“__format”参数用来指定所要破解的密码的类型,如下图所示,在所支持的破解类型中,其中有一个类型名为“dynamic_n”,即动态密码类型。接着运行命令“John--subformat=LIST”来查看各类支持的动态破解类型。


比如常见的Discuz论坛,其带Salt的加密机制为:md5(md5(\(pass).\)salt)对应的是“dynamic_6”这种破解类型。查看破解速度。破解速度取决于主机的机器性能以及所要破解的类型,这里以“dynamic_6”这种破解类型为例,命令为john--format=dynamic_6-test(请一定注意命令的书写格式)。

查看实验工具目录下要破解的密码文档“salt_6.txt”,内容如下所示:

每一行都是一个目标用户的密码散列信息,格式为:“用户名:最终的hash值$salt”。使用如下命令进行简单模式的密码破解:john--format=dynamic_6--singleD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

破解结束后,可以使用如下命令查看已经破解成功的密码:john--format=dynamic_6--showD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

步骤2:进行字典模式的密码破解
使用如下命令进行字典模式的密码破解:john--format=dynamic_6--wordlist=D:\网络攻防技术\5.Salt型密码散列本地破解实验\pass-1w.dicD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。这里使用了“pass-1w.dic”这个字典。

步骤3:使用暴力模式的密码破解
这里使用“Digits”字符组合模式来进行暴力破解:john--format=dynamic_6--incremental=DigitsD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。关于“Digits”模式的设置可以查看John目录中的“Join.ini”配置文件中的“[Incremental:Digits]”部分的设置,默认如下:从中可以看到,“Digits”字符集合暴力破解的密码最长为8。注:若要终止程序的运行,可以按“Ctrl+C”。

步骤4:最后查看所有已经破解成功的密码
使用如下命令查看所有已经破解成功的密码:john--format=dynamic_6--showD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

实验六-Salt本地pojie实验的更多相关文章
- VMware vSphere服务器虚拟化实验六 vCenter Server 添加储存
VMware vSphere服务器虚拟化实验六 vCente ...
- windows本地安全策略实验-远程桌面连接锁定账户
windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...
- 实验六 CC2530平台上P2P通信的TinyOS编程
实验六 CC2530平台上P2P通信的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的掌握射频通信TinyOS编程方法 学生通过本实验应理解TinyOS中 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块
实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念. ...
- 实验 六:分析linux内核创建一个新进程的过程
实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...
- Linux内核分析实验六
Linux内核分析实验六 进程控制块PCB——task_struct(进程描述符) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_s ...
- MySQL数据库实验六:存储过程建立与调用
实验六 存储过程建立与调用 一.实验目的 理解存储过程的概念.建立和调用方法. 二.实验环境 三.实验示例 1.定义一个函数,按性别计算所有学生的平均年龄. CREATE FUNCTION aver ...
- 实验六 DIV+CSS的综合应用
实验六 DIV+CSS的综合应用 [实验目的] 1.掌握DIV布局的方法: 2.利用CSS对DIV进行美化: 3.利用CSS对文本图像等网页元素进行美化 [实验环境] 连接互联网的PC ,Win7操作 ...
- HCIA-datacom 4.2 实验二:本地AAA配置实验
关于本实验 AAA是Authentication(认证).Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证.授权.计费三种安全功能.这三种安 ...
- 实验六 MapReduce实验:二次排序
实验指导: 6.1 实验目的基于MapReduce思想,编写SecondarySort程序. 6.2 实验要求要能理解MapReduce编程思想,会编写MapReduce版本二次排序程序,然后将其执行 ...
随机推荐
- [FAQ] 阿里云一口价域名购买之后在哪里看
进入控制台,产品和服务中找到"域名",进去后在左侧菜单有 "已买到的域名". 如图: Link:https://www.cnblogs.com/farwish/ ...
- 记 dotnet 8.0.4 修复的 WPF 的触摸模块安全问题
本文记录 dotnet 8.0.4 版本修复的 WPF 的触摸模块安全问题,此问题影响所有的 .NET 版本,修复方法是更新 SDK 和运行时 宣布安全漏洞地址: https://github.com ...
- jqGrid--设置单元格字体颜色
colModel: [ { name: '列名称', index: '列名称', width: 65, sortable: true, resizable: false, cellattr: addC ...
- C#的基于.net framework的Dll模块编程(四) - 编程手把手系列文章
这次继续这个系列的介绍: 一.命名空间的起名: 对于C#来说,一般命名空间的建议是:公司名(或个人名称).产品名.分类名,比如我这边是用的这个:Lzhdim.LPF.Helper,意思是个人名Lzhd ...
- EPAI手绘建模APP资源管理和模型编辑器2
g) 矩形 图 26模型编辑器-矩形 i. 修改矩形的中心位置. ii. 修改矩形的长度和宽度. h) 正多边形 图 27模型编辑器-内接正多边形 图 28模型编辑器-外切正多边形 i. 修改正多 ...
- 一篇文章让你掌握99%的Python运算符。干货很多,建议收藏!!!
Python 中的运算符是编程中的基础概念,用于执行各种操作和数据计算.以下是一些 Python 中的主要运算符的概述: 运算符 1. 算术运算符 算术运算符语法规则 +:加法 -:减法 *:乘法 / ...
- linux文本三剑客之sed命令详解
linux文本三剑客之sed命令详解 目录 linux文本三剑客之sed命令详解 1.sed命令详解 1.1 地址定界和编辑命令 1.2 搜索替换 1.3 sed高级用法 1.sed命令详解 sed称 ...
- Springboot 项目集成 PageOffice V6 最简单代码
本文描述了PageOffice产品在Springboot项目中如何集成调用.(本示例使用了Thymeleaf模板引擎) 新建Springboot项目:pageoffice6-springboot2-s ...
- C# 炸弹人 winform版
实现这个游戏的基本功能包含几个对象:玩家,怪物,墙砖,炸弹,通关的门.玩家通过上下左右方向键移动,放置炸弹,被怪物杀死,被炸弹炸死.怪物随机方向移动,能杀死玩家.炸弹有爆炸功能,炸弹的火花长度.通过的 ...
- 一个与 WSL2 建立远程的简单方法
前言 众所周知,windows 会通过虚拟交换机给本机和 wsl2(Linux 子系统)分别分配 ip.于是本机重启或重启 wsl 服务的时候会重新分配 ip.之前所作的端口转发,监听之类的都会失效. ...
