信息安全工程实践笔记--Day2 暴力破解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


实验目标

环境搭建,Buipsuit 爆破工具的使用;暴力破解、验证漏洞等。

一、弱口令分类

常见的弱口令分为默认型弱口令(系统服务弱口令、应用组件弱口令、设备弱口令)和社工型弱口令

1.系统服务弱口令

(注:不要买字典 找同行分享 买的字典质量并不高)
3389远程桌面弱口令
SSH
FTP
Telnet

2.设备弱口令

路由器
摄像头
安全设备
弱口令

3.社工型的弱口令

即满足密码复杂度要求又好记的密码。
获取用户账号的方式:
①中国常用名Top500,常见组合
. 拼音的全拼+[数字1
. 姓全拼+名的首字母+ [数字]
②招聘网站
③社交工具(脉脉)
④Google hacking
⑤工号

二、弱口令的攻击方式

1.将屏幕记录下来
2.对键盘进行多种监控
3.钓鱼及伪造网站诈骗
4.暴力破解
5.使用嗅探器进行获取
6.通过社工手段分析推理

暴力破解获取密码的方式

根据用户个人信息、个人兴趣 利用工具生成字典 这样爆破的几率是很大的

三、bp实操

1.bp模块讲解

①在虚拟机上安装bp,并打开
在这里插入图片描述

②bp在使用之前必须在浏览器上挂代理,如果不挂代理抓不到包:浏览器–选项–高级–网络–设置–手动代理–ip为127.0.0.1;端口8080未被占用就8080;否则9090
在这里插入图片描述
③回到bp 打开proxy(核心模块)–option(设置),在add中添加代理的端口(比如此处添加9090,然后将其选中)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
④intercept–intercept is on 关上抓包功能,打开浏览器,打开靶场(事先需要 pikachu靶场搭建),proxy抓包后发送到intruder模块进行暴破
在这里插入图片描述

在这里插入图片描述
⑤在爆破中有四个模式

在这里插入图片描述

1.sniper(狙击手模式)

首先试用sniper(狙击手模式),
clear–add 重新标记请求信息中的用户名和密码变量,payload类型中选用最常见的simplelist(实际上也就四五个brute forcer比较常见,其余的都不用看),payload假如设置abc:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
可以看出则sniper会把字典中每个字符只在一个指定位置放一次,因此sniper适用于单一变量的情况
只有一个字典

2.battering ram(工程锤模式)

battering ram适用于两个或以上变量的情况,会把字典中每个字符在所有指定位置同时放一次
只有一个字典(所有位置用相同字典,同时每个位置都是一样的)

3.pitchfork (草叉模式)

适用于字典不止一个,都想加载在不同的位置(不同位置用不同的字典,但是字典中的变量是一一对应的
在这里插入图片描述

4.cluster bumb(极速炸弹模式)

很多位置,很多字典,各种字典组合都用上
(笛卡尔积,两个位置,一个位置字典三个字符,一共九种组合)
在这里插入图片描述
请求行(post/get)
还有一种请求方式叫head 和get很像 但只有头部信息 没有空行和后面的数据 更高效

2.bp 验证码暴破

首先打开题目,打开bp抓包,随便输入一个密码,就得到抓取的响应数据包
在这里插入图片描述

将数据包发送到intruder模块,在其中标记需要爆破的变量。由于账号和验证码在题中已经是固定的,因此只选中密码作为变量
在这里插入图片描述

用一个字典进行暴破,因为正确密码和错误密码浏览器渲染方式不同,完成之后查看响应包的长度,不一样的即为正确密码
在这里插入图片描述

3.tompat(涉及密文)

在这里插入图片描述
按照上面的思路抓包,发现请求中并没有账户密码的明文,关注authorization中的basic,后面是密文,
在这里插入图片描述

在这里插入图片描述
把密文放入bp的decoder模块进行解密,多试几次就可以知道用的是base64加密,并且规则是 【用户名:密码】 共三个占位
在这里插入图片描述
在设置payload的时候,在第三个模块payload processing的add中选择encode,然后选择base64加密,这样就可以对paylosd加密。注意最后取消 url-encode 的复选框
在这里插入图片描述

在这里插入图片描述
在payload的模式中选则迭代模式,然后给三个占位分别选择字典,之后运行就行了
在这里插入图片描述

跟其他长度不同的,就是爆破出的密码(同理也需要解密出明文)

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值