暴力破解,暴力破解zip压缩包

http://www.itjxue.com  2023-01-14 03:05  来源:未知  点击次数: 

BurpSuite 基本使用之暴力破解

0x01

之前使用 BurpSuite 进行了简单的请求修改演示,现在我们来使用 BurpSuite 进行账号密码爆破。

0x02

这次对漏洞靶场 Pikachu 进行爆破,这个靶场的第一关便是暴力破解。

0x03

基于表单的暴力破解

浏览器设置好代理,burp 开启拦截,输入账号密码,点击登录,burp 拦截到请求。

右键,选择 Send to Intruder。

然后来到 Intruder 界面,选择 Position,点击 Clear,清除默认的荷载,然后分别依次选中账号和密码部分并点击 Add,最后选择 Attack Type 为 Cluster bomb。因为我们账号和密码都不知道,所以账号密码都需要爆破,故选择这种模式。

点击?Position 旁边的 Payload,设置好字典,我这里选择从文件读取,用户名字典 6 个,密码字典 13 个,一共会爆破 6*13=78 次。

点击 Start attack,开始爆破,根据 Length,可以看到其余都是 35054,只有一个是 35030,对应账号密码为 admin 123456。

使用此账号密码尝试登录,登录成功!

0x04

验证码绕过(on server)

这一关需要验证码,并且是在服务端做校验。

但是有一点,验证码可以重复使用,只要不重新获取,就不会失效,这使得我们依旧可以爆破。

burp 拦截到请求后,发送到 Intruder,然后 drop 掉本次请求。

此时返回浏览器应该可以看到如下,说明请求被我们 drop 了。

然后我们在 Intruder 设置好 payload 就可以爆破,按照上一次的设置,依旧只需要设置账号和密码,验证码不用动。

0x05

验证码绕过(on client)

这个就更简单了,验证码在客户端验证,只需要输对验证码,点击登录,然后拦截请求,就可以直接爆破了,相当于无验证码。

0x06

token防爆破比较复杂一点,下次单独写一篇文章。

暴力破解是什么意思

所谓暴力破解就是利用软件本身的命令尝试找到密码,这种命令要对常规字符进行一一组合叠加,通常要试很多种组合方式,需要时间很长,只适用于密码比较简单,位数比较少的情况!

暴力破解原理与过程详解

顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!

但实际发送的数据并不像想象中的那样简单——“ 每次只向服务器发送用户名和密码字段即可!”,实际情况是每次发送的数据都必须要封装成完整的 HTTP 数据包才能被服务器接收。但是你不可能一个一个去手动构造数据包,所以在实施暴力破解之前,我们只需要先去获取构造HTTP包所需要的参数,然后扔给暴力破解软件构造工具数据包,然后实施攻击就可以了。

Web暴力破解通常用在,已知部分信息,尝试爆破网站后台,为下一步的渗透测试做准备。

Http 中的 response 和 request 是相对浏览器来说的。浏览器发送request,服务器返回response。

Get 和 Post :get放在url中,而post放在http的body中。

http_referer :是http中header的一部分,向浏览器发送请求时,一般会带上referer,告诉服务器我是从哪个页面链接而来,为服务器处理提供一些信息。

这里我们使用dvwa渗透测试平台中的暴力破解模块来进行演示。

先使用任意账号密码尝试登录,并同时使用 firefox F12 进行抓包分析。

这一步的作用是,收集构造HTTP数据包所需要的参数,比如cookie、get/post、referer、提交得字段名等。

可以看到cookie里面除了 username 和 password 字段之外还有一个 token,这个通常是用来防止CSRF攻击的。

收集到以上信息之后,我们就可以构造用于攻击的数据包。

需要用到的参数收集完毕之后,接下来就需要使用到爆破软件,这里我们先讲一个专用与爆破的软件——Bruter,之后会再介绍一款综合的Web类安全软件 :

如下图所示,这款软件支持包括FTP、SSH在内的十多种不同应用场景的暴力破解。我们这里是Web登录的爆破,所以选择Web Form:

点击协议右侧的选项,将我们之前获得的信息输入进去。

其实我们也可以直接在网址一栏中输入我们要攻击的URL,点击载入,它会自动将构造攻击数据包所需要的信息识别出来并填好,如果我们发现有问题或者有遗漏,也可以手动修改。

有些朋友可能要说,既然可以自动获取相关参数,那为什么我们还要花时间精力去手动收集信息呢?其实之前的手动收集主要是帮助我们理解暴力破解的原理,正所谓知其然不够,还要知其所以然。并且软件自动获取的参数也可能会出错,我们可以再验证一次。

接下来设置用户名和密码。用户名可以使用字典,如果你知道用户名是什么,你也可以直接输入字符串,比如:admin。

密码则有多种选择,如果选择字典选项,则需要加载我们自己事先准备好的字典(比如自己收集的弱口令字典),右侧还可以设置大小写、字符长度等:

如果选择暴力破解选项,就是软件使用自动生成字符串进行攻击,我们可以自定义使用到的字符种类、长度等:

至于右侧的选项,大家可以根据自己的需要进行选择,设置完毕之后点击开始,就可以开始暴力破解:

![Uploading github.pages_3_brutard7_653421.png . . .]

接下来我们介绍另一款软件 WebCruiser Web Vulnerability Scanner ,这是一款相对综合的软件,包括常见的Sql注入、XSS检测等功能,其中的暴力破解模块也非常强大!

这款软件自带web界面,我们可以直接在url一栏中输入攻击网址,并做一次任意用户名密码的登录提交,之手点击Resend按钮,可以看到已经自动对之前操作进行抓包:

之后在点击右侧的Bruter按钮,会直接跳转到Bruter界面,同样需要的参数都已经自动填好,设置好字典就可以开始破解了:

暴力破解就暂时讲到这里,之后有时间会对这篇文章进行修改和优化,如果有什么问题欢迎留言!

如果你觉得我讲的不错的话,可以关注一下我的其他文章和课程,希望能真正的帮到你

共享登录密码暴力破解是什么意思

就是在不知道用户名和密码的情况下,通过工具软件利用字典文件对用户名和密码依次进行尝试。共享登录密码暴力破解意思就是在不知道用户名和密码的情况下,通过工具软件利用字典文件对用户名和密码依次进行尝试,从而最终将用户名或密码破解出来。

RSA加解密演算与暴力破解12位

大家都知道RSA是非对称加密,解密方生成公钥和密钥,公钥公开给加密方加密,密钥留给自己解密是不公开的。

1.随机选两个质数,我们用p、q来代替 (质数的数值越大位数就越多可靠性就越高)

假设我们取了47与59

p = 47

q = 59

2.计算这两个质数的乘积,用n代替

n = 47 x 59 = 2773

n的长度就是密钥长度。2773写成二进制是101011010101,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。

3.计算n的欧拉函数φ(n)

欧拉函数公式:φ(n) = (p-1)(q-1)

代入:φ(2773) = (47 - 1) x (59 - 1) = 46 x 58 = 2668

4.随机选择一个整数e,条件是1 e φ(n),且e与φ(n) 互质

那么我们就在1到2668之间,随机选择了17

e = 17

5.计算e对于φ(n)的模反元素d

模反元素公式: ax ≡ 1 (mod b)

这是欧拉定理推导出来的,若a、b互质则a乘以一个整数除以b的余数是1。这个整数就是a与b的模反元素。

该公式可以写成:ax - b = 1 则 x = (1 + b) / a

代入: d = (1 + φ(n)) / e = (1 + 2668) / 17 = 157

是一个整数,但很多情况下结果不一定是整数,我们为了计算的方便,在公式里追加一个整数k: x = (1 + kb) / a,加上k来乘以b并不影响余数1的结果。

重新代入: d = (1 + kφ(n)) / e = (1 + k x 2668) / 23

即得到一个线性方程

求解的坐标点(k,d)有很多 (1,157)、(18,2825)、(35,5493) ....

我们随机出一个坐标点: (1,157)

即:d = 157

6.将n和e封装成公钥,n和d封装成私钥

即公开的公钥为:n = 2773,e = 17

保密的私钥为:n = 2773,d = 157

就是这样子12位RSA的公私钥生成好了!

假设我们加密一个字符"A"

再用数值表示,一般用Unicode或ASCII码表示

转ASCII码十进制为65,我们用m来代替明文,c来代替密文

m = 65

RSA加密公式:m e ≡ c (mod n)

RSA加密公式由欧拉函数公式与反模元素公式推导出来

代入:c = 65 17 % 2773 = 601

这样密文就出来了!

RSA解密公式:c d ≡ m (mod n)

RSA解密公式由欧拉函数公式与反模元素公式推导出来

代入:m = 601 157 % 2773 = 65

这样明文就出来了!

因为p、q、n、φ(n)、e、d这六个数字之中,公钥用到了两个(n和e),其余四个数字都是不公开的。其中最关键的是d,因为n和d组成了私钥,一旦d泄漏,就等于私钥泄漏

由此可见推导出d就必须因数分解出p和q

公钥里面有n = 2773

那么暴力破解的方法就是把2773因数分解出两个相乘的质数。

最简单的方法就是遍历穷举质数的乘积:

pre

var distNum = 2773;

var numList = [];

var p = 1;

var q = 1;

for(var i = 1; i 100; i++) {

var isGetResult = false; // 是否找到结果

var isUseful = true; // 是否质数

var isHave = false; // 是否在质数列表中存在

for(var j = 0; j numList.length; j++) {

if(numList[j] == i) {

isHave = true;

break;

}

}

for(var k = 2; k i; k++ ) {

if(i % k == 0) {

isUseful = false;

break;

}

}

if(!isHave isUseful) {

numList.push(i); // 加入质数列表

// 匹配乘积

for(var n = 0; n numList.length; n++) {

if(i != numList[n] i * numList[n] == distNum) {

p = i;

q = numList[n];

isGetResult = true;

break;

}

}

}

console.log(JSON.stringify(numList));

if(isGetResult) {

console.log('p = ' + p);

console.log('q = ' + q);

break;

}

}

/pre

运行结果:

RSA加密的可靠性是基于因数分解的计算难度,但随着量子计算、云计算的发达,现在用的1024位RSA甚至2048位RSA都面临着挑战,据说40个量子比特位相当于一台超级计算机。

您的意见是我改善的东西,欢迎评论提建议,如果对您有帮助,请点个赞,谢谢~~

菲麦前端专题,汇聚前端好文,邀您关注!

暴力破解与验证码安全

暴力破解 :暴力破解简单来说就是将密码进行逐个测试,直到找出正确的密码为止

? ? 暴力破解:是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作

? ? 暴力破解漏洞:如果一个web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高

暴力破解前准备 :

? ? 1.?web系统的认证安全策略:

? ??????是否要求用户设置复杂的密码;

????????是否每次认证都使用安全的验证码

????????是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等)

????????是否采用了双因素认证

????????认证过程是否带有token信息

2.工具准备:准备合适的暴力破解工具以及一个有郊的字典

三个要点:

? ? ? ?1. 对目标网站进行注册,搞清楚帐号密码的一些限制,比如目标站点要求密码必须是8位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码

? ? ? ? 2. web管理面密码使用admin/administrator/root帐号的机率较高,可以使用这三个帐号+随便一个密码字典进行暴力破解

? ? ? ? 3.?破解过程中一定要注意观察提示,如有“用户名或密码错误”“密码错误”“用户名不存在”等相关提示,可进一步利用

暴力破解分类 :

? ? B/S模式:浏览器服务器模式的认证过程是http协议实现的,因此可以用burpsuite抓包工具来破解

? ? ????1. 不带验证码的认证的破解:可直接使用burpsuite加密码字典破解

? ? ????2. 带验证码的认证的破解:如果是前端验证可使用burpsuite抓包绕过验证码来暴力破解,如果是后端验证,可使用爆破工具(如pkav)外接验证码识别器来暴力破解。(如果后台验证过程中验证码没有立即销毁,此验证码可使用24分钟)

? ? ????3. 带token信息的认证的破解:(Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,客户端带上token代表具有执行某些操作的权利)token信息每次都不一样,需要burpsuite将服务器返回的token取出用于下一次请求。

? ? C/S模式:客户端服务器模式的认证过程有多种协议实现的,因此需要用专用的集成化破解工具来破解,例如 Hydra、Bruter、X-scan

? ? ? ? 工具:

????????????Bruter:密码暴力破解工具

? ??????????Hydra:hydra是著名黑客组织thc的一款开源的暴力密码破解工具,支持多种协议,可以在线破解多种应用密码。

暴力破解的防范 :增加web系统的认证安全策略

? ??要求用户设置复杂的密码

? ??每次认证都使用安全的验证码

? ??对尝试登录的行为进行判断和限制

? ??采用双因素认证

? ??认证过程带token信息

验证码安全 :

????????是一种区分用户是计算机还是人的全自动程序,可以防止:密码暴力破解、刷票、论坛灌水。可有效防护黑客对特定用户的密码暴力破解。

验证码分类 :

? ??Gif动画验证码

????手机短信验证码

????手机语音验证码

????视频验证码

验证码常见安全问题 :

????客户端问题

????服务端问题

????基于Token验证

????验证码太简单,容易被机器识别

????暴破验证码

验证码安全防护 :

? ??1) 强制要求输入验证码,否则,必须实施IP策略。 注意不要被X-Forwaded-For绕过了!

????2) 验证码只能用一次,用完立即过期!不能再次使用

????3) 验证码不要太弱。扭曲、变形、干扰线条、干扰背景色、变换字体等。

????4) 大网站最好统一安全验证码,各处使用同一个验证码接口

思路点:暴力破解和验证码安全破解时也可以熟悉认证业务过程,并试图在业务过程中寻找业务逻辑漏洞。

弱口令:属于暴力破解漏洞的一种,是web认证界面使用了常用的或者较简单的用户名密码,使暴力破解变得简单。

(责任编辑:IT教学网)

更多

推荐word文章