【新手入门】BP爆破详解——PHP+phpStudy+MySQL自建后端自用

 2024-02-11 03:02:19  阅读 0

php生成验证码图片_验证码php_验证码识别php

本文是看学论坛上的一篇优秀文章

看学论坛作者ID:张公子T40

前因

这是一个课程项目。 老师让我做一个实验。 我想到这个是因为我第一次对网络安全产生兴趣是在我闯入一个网站的时候。 因为它涉及到很多技术环节,虽然不是很详细。 很难,但也相当麻烦。 用老师的话说:

验证码识别php_验证码php_php生成验证码图片

另一位和我一起工作的同学是郭老板:

好了,废话不多说,进入正题。

目的

本实验采用自建的名为“”的平台作为实验环境,让实验者熟悉本地渗透测试环境的简单搭建过程,了解配置方法和使用方法。

随后要求实验人员按照实验手册一步步尝试在该平台上使用弱口令爆破,以熟悉此类攻击方式。

工具

:Burp Suite 是一个用于攻击 Web 应用程序的集成平台。 它包含许多工具,并具有许多为这些工具设计的界面,以促进更快地攻击应用程序的过程。 所有工具共享一个强大且可扩展的框架,可以处理和显示 HTTP 消息、持久性、身份验证、代理、日志记录和警报。 使用前需要根据实验使用的浏览器设置代理。

可以从这里下载:

:PHP调试环境的程序集成包。 本程序包集成了最新+PHP+MySQL++,一次安装,无需配置即可使用。 是一个非常方便易用的PHP调试环境。 该程序不仅包含PHP调试环境,还包含开发工具、开发手册等。现在新版本相当好用,它叫小皮系统。

可以从这里下载:

建立一个网站

1.下载网站源码

我是根据git上某位高手的框架修改重写的(原来的框架中有验证码,我注释掉了,因为我的系统部分暂时不需要)。 可以从git下载:如果git速度慢,可以从下载附件下载。

2.使用php创建网站

(在执行此操作之前先启动MySQL),设置域名并导入Web项目。 我设置的域名是.

3. 数据库创建

当然,你也可以在上一步中勾选创建数据库。 这里,我们将省略第一步,从第二步开始(但不建议这样做,最好自己创建数据库,让环境更干净)。

(1)进入mysql主页,按照图中顺序创建一个新数据库。

php生成验证码图片_验证码php_验证码识别php

(2) 建表users,字段数设置为3,单击“执行”。

(3)如图所示设置三个数据,然后保存。

验证码php_验证码识别php_php生成验证码图片

4. 访问验证

查看环境是否成功,访问域名:

如果正常显示说明网站搭建成功,则注册一个新的账号、()、密码。 如果反馈注册成功,则说明数据库连接成功,可以开始下一步实验。

防爆试验

1、注册、登录相关信息的收集

第一个是主页。 可以看到底部的轮播滚动图片标注了个人公开信息。 换句话说,我们可以从这里知道:用户的电子邮件地址和号码。 这种操作在交友网站上很常见。

然后去注册,查看注册时是否会有有用的密码规则信息:

php生成验证码图片_验证码php_验证码识别php

正如你所看到的,没有太多有用的信息,但是经过一番尝试,虽然我知道注册时的密码至少是六位数字,但并没有提供任何实质性的想法。

于是乎,当我来到第三个导航栏选项卡登录“登录”时,我发现和注册一个很大的区别就是多了一个忘记密码的选项:

验证码识别php_验证码php_php生成验证码图片

这通常包含与密码相关的信息。 点进去后发现确实如此:

验证码识别php_php生成验证码图片_验证码php

最后一个注释中,很明显ID(就是我们一开始看到的数字)是相亲时分配的,密码是身份证的后六位数字。

此时,可以确定的是:

Ø 登录时需要两项信息:邮箱和密码

Ø 密码规则为身份证后六位

2. 通过查看网页上披露的用户信息,选择您要攻击的目标账户。

在主页轮播中,如果选择一个用户,可以看到他的电子邮件地址是:,我们选择这个账户作为攻击目标。 (这是因为我们一开始就用这个邮箱地址作为账号,如果你用其他的,可以尝试爆另一个)

3. 构建密码规则的码本

构造密码本:从逻辑上来说,六位数字可以生成10的6次方的数字,即,但因为是身份证的后六位数字,所以有区别:

现在规则已经清楚了,您可以开始编写脚本来生成密码本:

在 .py 文件中构建以下代码:

print ('password set')passwords = open('passwords.txt','w')for i in range(1, 32):    day = str(i)    if (i < 10):        day = '0' + day    for j in range(100):        if (j < 10):            dayafter = '0' + str(j)        else:            dayafter = str(j)                for k in range(100):            end = str(k)            if(k<10):                end = '0' + end            password = day+dayafter+end            passwords.write('\n'+password)            print(password+'\n')passwords.close()

然后在控制台运行(这一步在Linux和环境下都是一样的),.py,就会生成密码本.txt。

验证码php_php生成验证码图片_验证码识别php

4. BP、代理等配置设置入门

现在,目标账户已经被锁定,并且知道了用户ID和注册邮箱,然后密码本就已经生成了。 接下来,正式进入爆破阶段。 在此之前,您需要设置Burp套件(BP)。 BP已经在工具阶段被引入。 ,这里我们就直接开始网络代理设置的介绍:

使用 ,打开一个新选项卡并输入:about:。 在“常规”部分中,滚动到底部,然后出现“网络设置”。

验证码php_php生成验证码图片_验证码识别php

点击进入,选择手动代理配置,配置内容如图。 目的是利用127.0.0.1代理,这样就可以在bp中拦截到,相当于每次传输都要经过bp,这样我们就可以利用bp传输的信息进行分析利用:

验证码识别php_验证码php_php生成验证码图片

接下来进入bp的proxy栏并打开,如图:

验证码php_php生成验证码图片_验证码识别php

在 中打开 Found Love 网站,并在登录选项中随机输入密码。 如果bp效果如下图,则说明设置成功:

验证码识别php_验证码php_php生成验证码图片

5. BP加密密码破坏选定目标账户

此时我们看到的Raw中的内容就是传输的数据包。 我们来分析一下,我们明显可以看出:

 email=fondlove%40outlook.com&password=57657456&rem=1&login=

最后一行有两个可疑内容:电子邮件和您刚刚随机输入的密码。 如果你能设置这块并添加密码键盘,你就可以找到密码。 点击进入发送至。

接下来是爆破的核心步骤。

(1)回车,可以看到有些部分已经预设好了,不用再管了,因为是从之前截取的包中提取出来的。

(2)进入,还记得我们一开始说的有疑问吗? 正如你在这里看到的,bp 为我们添加了 § 括号,但除了疑虑之外的所有内容也都放在括号中。

这里需要说明的是,bp包含了所有可变因素。 我们只要是可变的,那么我们可以选择不需要的元素,然后使用Clear§按钮将§符号去掉,如图:

(3) 需要补充说明,顶部的类型:

①(狙击模式)

对于单个密码,假设确定了两个位置A和B,那么密码包中有两个密码1和2,那么攻击方式如下:

验证码识别php_验证码php_php生成验证码图片

一次只会攻击一个位置!

② ram(电池ram模式)

与该模式的区别在于,相同情况下,攻击次数减半,并且每次在两个位置都使用相同的密码,如下表:

③(货叉模式)

与前两者不同的是,码本可以有多组,而与RAM相同的是,是一一对应的。 现在添加包含3和4的码本,暴力破解过程如下表所示:

验证码识别php_php生成验证码图片_验证码php

④ 炸弹(炸弹模式)

与分叉模式类似,多个码本对应多个位置。 不同的是,它不再是一一对应,而是交叉组合。 每个码本中的密码与其他码本中的所有密码一一对应,如下表所示:

php生成验证码图片_验证码识别php_验证码php

这里我们只设置了该位置的密码本,所以选择狙击模式。

(4) 输入。 此时,传输包的设置已经完成。 仅加载密码本。 有负载功能。 点击加载我们之前创建的码本:

(5)点击开始,进入爆破。

(6)等待爆破结束并解释

进入如图所示界面后,剩下的就是等待了。 三个方框中,最下面的一个代表进度,代表到目前为止已经运行了多少个密码; 中间有两个小框: ,一个是请求接口。 ,一是返回接口。

当我们想要检查密码是否正确时,可以点击查看; 当我们想查看何时生成正确的密码时,我们可以点击(它代表响应时间,因为正确和错误的密码的反馈时间是不同的),当发现异常的持续时间时,可以点击查看。

(7)爆破结束

可以看到密码时间减少了,和其他的不一样,里面可以看到Login! 这句话表明爆破成功。 此时返回网站并使用邮箱和密码登录即可看到如图所示的效果。 (当我们再次操作浏览器时,需要关闭bp的代理)

验证码识别php_验证码php_php生成验证码图片

当您想再次进行此实验时,可以点击退出:

(八)总结

从渗透测试的角度来看,爆破时需要按照前期交互、信息收集、威胁建模、漏洞分析、渗透攻击、渗透后攻击、渗透报告七个步骤对网站进行分析。 当然,这里需要的是粗体的四个部分。 通过从网站收集信息而获得有用的信息; 通过分析与登录位置相关的信息,例如是否有时间来判断是否有时间来构建威胁; 最后对威胁进行分析,得到密码规则,并对密码规则进行评估生成代码; 最后一步是通过BP进行渗透攻击。

其实就爆破而言,说起来不难,但是很简单。 也可以看到步骤很多,无脑爆破肯定不如自己写密码。 有时候遇到有人有验证码,你看看是不是可以禁用JS什么的,或者如果BP拦截后验证码没有变化,你也可以按照这个思路用BP来爆破。

在某些有验证码的情况下,也可以通过光学文字识别来实现,虽然效率会慢一些,但也不是不可能。 如果你有兴趣,可以继续尝试。 稍后我可能会写一篇与此相关的文章。

-结尾-

看学ID:张先生T40

*本文由看学论坛张公子T40原创。 转载时请注明来自看学社区。

标签: 密码 爆破 进入

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码