Python渗透测试之身份认证攻击_渗透测试,身份验证测试-程序员宅基地

技术标签: 学习  python  web安全  

  • 目前最为常见的 身份验证模式 采用的仍然是“用户名+密码”的方式,用户自行设定密码,在登录时如果输入正确的密码,计算机就会认为操作者是合法用户。
  • 但是这种认证方式的缺陷也很明显,如何保证密码不被泄露以及不被破解已经成为网络安全的最大问题之一。
  • 本章中将介绍基于Python实现的密码破解。密码破解是指利用各种手段获得网络、系统或资源密码的过程。

简单网络服务认证的攻击

  • 网络上很多常见的应用都采用了密码认证的模式,例如 FTP、Telnet、SSH等,这些应用被广泛地应用在各种网络设备上,如果这些认证模式出现了问题,那就意味着网络中的大量设备将会沦陷。遗憾的是,目前确实有很多网络的设备因为密码设置不够强壮已经遭到入侵。
  • 针对这些简单的网络服务认证,可以采用一种“暴力破解”的方法。这种方法的思路很简单,就是把所有可能的密码都尝试一遍,通常可以将这些密码保存为一个 字典文件。
  • 一般有如下三种思路:
    (1)纯字典攻击:这种思路最为简单,攻击者只需要利用攻击工具将用户名和字典文件中的密码组合起来,一个个地进行尝试即可。
    破解成功的概率与选用的字典有很大的关系,因为目标用户通常不会选用毫无意义的字符组合作为密码,所以对目标用户有一定的了解可以帮助更好地选择字典。
    大多数字典文件都是以英文单词为主,这些字典文件更适用于破解以英语为第一语言用户的密码,对于破解母语非英语的用户设置的密码效果并不好。
    (2)混合攻击:现在的各种应用对密码的强壮度都有了限制,例如,在注册一些应用的时候,通常都不允许使用“123456”或者“aaaaaaa”这种单纯的数字和字母的组合。例如,使用某人的名字字符+数字的加上生日就是一种很常见的密码(很多人都以自己孩子的英文名字加出生日期作为密码),如果仅使用一些常见的英文单词作为字典的内容,显然具有一定的局限性。而混合攻击则是依靠一定的算法对字典文件中的单词进行处理之后再使用。一个最简单的算法就是在这些单词前面或者后面添加一些常见的数字,例如一个单词“test”,经过算法处理之后就会变成“test1”“test2”…“test1981”“test19840123”等。
    (3)完全暴力攻击:这是一种最为粗暴的攻击方式,实际上这种方式并不需要字典,而是由攻击工具将所有的密码穷举出来,这种攻击方式通常需要很长的时间,也是最为不可行的一种方式。但是在一些早期的系统中,都采用了6位长度的纯数字密码,这种方法则是非常有效的。

破解密码字典

常见的字典文件一般是txt或者dic格式:一个常见的破解字典文件。
在这里插入图片描述

  • 在Kali Linux 系统中词典文件的来源一共有以下三个。
    (1)使用字典生成工具来制造自己需要的字典,当需要字典文件,手头又没有合适的字典文件时,就可以考虑使用工具来生成所需要的字典文件。
    (2)使用Kali Linux中自带的字典,Kali Linux中将所有的字典都保存在/usr/share/wordlists/目录下
    (3)从互联网上下载热门的字典:可以访问https://wiki.skullsecurity.org/Passwords查看最新的字典文件

  • 生成字典需要至少指定如下两项。
    (1)字典中包含词汇(也就是密码)的长度。
    (2)字典中包含词汇所使用的字符。要生成密码包含的字符集(小写字符、大写字符、数字、符号),这个选项是可选的,如果不写这个选项,将使用默认字符集(默认为小写字符)。
    长度>8 大写字母 小写字母 数字 特殊字符 密码的更换周期

使用Python来编写一个生成字典的程序,

  • 在这个程序中需要使用到一个新的模块:itertools,这是一个强大的内置模块。

  • 首先介绍一下itertools,在这个模块中提供了很多函数,其中最为基础的是三个无穷循环器。
    (1)count()函数:这个函数的作用是产生递增的序列,例如count(1,5),生成从1开始的循环器,每次增加5,即1,6,11,16,21,26,…
    (2)cycle()函数:这个函数的作用是重复序列中的元素,例如cycle(‘hello’),将序列中的元素重复,即h,e,l,l,o,h,e,l,l,o,h,…
    (3)repeat()函数:这个函数的作用是重复元素,构成无穷循环器,例如Repeat(100),即100,100,100,100,…。

  • 除了这些基本的函数之外,还有一些用来实现循环器的组合操作的函数,这些函数适用于生成字典文件。
    product()函数:它可以用来获得多个循环器的笛卡儿积,例如product(‘xyz’, [0, 1]),得到的结果就是x0,y0,z0,x1,y1,z1。
    permutations('abcd', 2) #:从’abcd’中挑选两个元素,例如ab,bc,…,并将所有结果排序,返回为新的循环器。这些元素中的组合是有顺序的,同时生成cd和dc。
    combinations('abc', 2) #:从’abcd’中挑选两个元素,例如ab,bc,…,将所有结果排序,返回为新的循环器,这些元素中的组合是没有顺序的,例如c和d只能生成cd。

一个简单的字典文件生成过程

第一步:导入itertools库。

import itertools

第二步:指定生成字典的字符,这里使用所有英文字符和数字(但是没有考虑大小写和特殊字符)。

words = "1234568790abcdefghijklmnopqrstuvwxyz"

第三步:使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/waqqy/article/details/124436922

智能推荐

webstorm怎样设置自动换行_webstorm 自动换行-程序员宅基地

文章浏览阅读544次,点赞4次,收藏2次。打开webstom,在左上角点击file,选择setting,在弹出的对话框中,左侧shu'xing选择edito,在右边选择General。勾选Soft-wrap……在其后方框中加上。*.* ,如下图所示,接着点击apply,点击ok,然后重启webstorm生效。_webstorm 自动换行

Inside the mind of a master procrastinator(拖延症人群的内心世界)-程序员宅基地

文章浏览阅读2.7k次。So in college,I was a government major,which means I had to write a lot of papers.Now,when a normal student writes a paper,they might spread the work out a little like this.So, you know – you get started maybe a little slowly,but you get enough done_inside the mind of a master procrastinator

C语言 结构体指针类型的全局变量使用_全局结构体指针-程序员宅基地

文章浏览阅读6.8k次,点赞4次,收藏22次。定义结构体文件1 <GlobalVar1.h>/******************************** file: GlobalVar1.h* author: hehl* time: 2019/11/5*******************************/#ifndef __GLOBALVAR1_H__#define __GLOBALVAR1_H__..._全局结构体指针

webRTC(十一):webrtc 实时共享桌面,程序员大厂面试都需要什么-程序员宅基地

文章浏览阅读396次,点赞5次,收藏4次。总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。第三步考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。第二步考察一下知识面,问问http、tcp的基本知识,dns是怎么工作的,或者常用框架的实现原理,看看候选人是不是除了自己的一亩三分地什么都不关心。

springboot 指定配置文件_springboot指定配置文件-程序员宅基地

文章浏览阅读6.9k次。SpringAppication会默认将命令行选项参数转换为配置信息例:启动时命令参数的指定java -jar project.jar --server.port = 9090从命令行指定的配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用它SpringApplication.setAddCommandLineProperties(false);外部配置文件Spring程序会按优先级从下面这些路劲来加载application.propert_springboot指定配置文件

【毕业设计】基于STM32单片机的疫苗箱上位机版-程序员宅基地

文章浏览阅读172次。由 STM32F103C8T6单片机最小系统+DHT11温湿度传感器+ESP8266无线模块+GPS定位模块+RFID-RC522射频识别技术+继电器。系统的软件逻辑清晰,首先先进行一次系统初始化,先进行温湿度、GPS位置、RFID刷卡检测,系统会判断增加卡处是否识别到刷卡,识别到刷卡则刷卡数加1,系统会判断减少卡处是否识别刷卡,识别到刷卡则刷卡数减1,将检测到的温湿度上传到上位机端。系统内的主要电路有单片机最小系统电路,温湿度检测电路、GPS定位检测电路、RFID刷卡电路、无线通信电路等。

随便推点

centos格式化xfs文件系统格式并设置自动启动挂载磁盘_linux 启动挂在磁盘 xfs centos-程序员宅基地

文章浏览阅读979次,点赞6次,收藏7次。快速格式化分区为 XFS 文件系统,强制格式化会删除分区上的所有数据,确保已经备份重要的数据。查看已连接的硬盘列表,主要是设备名称(如 /dev/sda)、分区信息和容量。需要修改为上一步自定义的挂载点)文件以设置开机自动挂载(注意。创建一个目录作为挂载点。运行以下命令以挂载分区。_linux 启动挂在磁盘 xfs centos

比较MYSQL和ElasticSearch的全文搜索差距_使用es模糊查询的效率比mysql快多少-程序员宅基地

文章浏览阅读4.3k次。比较MYSQL和ElasticSearch的全文搜索差距起源实验基础为啥不用别人写好的ES包?实验相关代码实验结果起源商城项目需要根据商品标题或者商品详情,进行模糊查询,在数据量较大的时候,MYSQL进行模糊查询就吃力了,需要使用全文搜索工具,例如使用人数较多的Elasticsearch。为直观比较两者的性能区别,进行了这个实验,并记录下来。实验基础1:MYSQL5.7版本 产品表..._使用es模糊查询的效率比mysql快多少

爬虫逆向爬虫遇到的常见加密算法 整理(安卓逆向 js逆向) 持续更新_8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12-程序员宅基地

文章浏览阅读757次,点赞2次,收藏3次。取盐 算法,消息摘要算法,是对数据进行一系列运算后,截取一部分关键值进行校验。因此运算过程不可逆,无法还原出加密前的 初始文本。消息摘要算法得到的结果长度一般是固定的,无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。一般地,只要输入的文本不同,对其进行摘要以后产生的摘要消息也必不相同,但相同的文本输入必会产生相同的输出。_8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

IDEA -- 普通Maven项目 没法加载相对路径配置文件_idea maven 配置 不跟着项目走-程序员宅基地

文章浏览阅读6.4k次。在网上找到一个IDEA的简体中文的文档...真的很棒.. 感谢作者以及一起制作翻译文档的同学... IntelliJ IDEA 简体中文专题教程--------------------------------------------------------在IDEA 中创建普通Maven 项目之后,可能不需要使用resourcecs目录,存放配置文件。可能想要在其他目录下放置,比如这样子。test..._idea maven 配置 不跟着项目走

javaweb酒店预订管理系统_javaweb酒店预订系统-程序员宅基地

文章浏览阅读421次。本系统完全基于JSP+SSM技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性。(4)员工管理功能,包括员工列表的查询(此员工也为管理员,只是权限不同);(10)预订管理功能,包括对客户预定信息的编辑、查询与管理;(11)入住管理功能,包括对客户入住信息的编辑、查询与管理;(6)楼层管理功能,包括对楼层信息的编辑、查询与管理;(8)房间管理功能,包括对房间信息的编辑、查询与管理;(2)用户的登陆功能,验证用户名和密码;_javaweb酒店预订系统

【基于物理的渲染(PBR)白皮书】(一) 开篇:PBR核心知识体系总结与概览_pbr是迪士尼写的吗-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏9次。先放出PBR知识体系的架构图:图很大,建议下载到本地放大查看。这张架构图是这个系列文章的内容框架,而且会随着内容的深入,不断更新。目前是1.0版。系列文章前言基于物理的渲染(Physically Based Rendering , PBR)技术,自迪士尼在SIGGRAPH 2012上提出了著名的“迪士尼原则的BRDF(Disney Principled BRDF)”之后,由于其高度的易用性以及方便的工作流,已经被电影和游戏业界广泛使用。个人了解和研究基于物理的渲染..._pbr是迪士尼写的吗