15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 【新手向】BP爆破详解——PHP+phpStudy+MySQL自搭后台实现自用的爆破平台

【新手向】BP爆破详解——PHP+phpStudy+MySQL自搭后台实现自用的爆破平台

时间:2023-05-31 17:06:01 | 来源:网站运营

时间:2023-05-31 17:06:01 来源:网站运营

【新手向】BP爆破详解——PHP+phpStudy+MySQL自搭后台实现自用的爆破平台:本文为看雪论坛优秀文章

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

附件链接:https://bbs.pediy.com/thread-259511.htm

前言:

这是一个课程项目,老师让做一个实验,我就想到这个,因为我自己第一次感受到开始对网安感兴趣就是暴破了一个网站,因为牵扯到很多的技术链,虽然都不是很难,但是也挺麻烦的。用老师的话说就是:







跟我合作的另一位同学是郭老板:https://bbs.pediy.com/user-post-876577.htm

好,闲言碎语不要讲,我们进入主题。

目的:

本实验以自行搭建一个叫做“FoundLove”的平台为实验环境,使实验人员熟悉本地渗透测试环境的简易搭建流程,了解phpStudy的配置方法和Burpsuite的Intruder使用方法。之后要求实验人员跟随实验手册一步一步尝试使用Burpsuite对此平台进行弱口令爆破从而熟悉此类攻击方式。

工具:

Burpsuite:Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。使用前需要配合实验中使用的浏览器设置代理。

可以从这里下载:https://blog.csdn.net/weixin_43811883/article/details/90272016

phpStudy:phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。现在改了新版还挺好用的,叫小皮系统。

可以从这里下载:https://www.xp.cn/


搭建网站:

  1. 下载网站源码,是我根据git上一个大神的框架改了改写的(原框架中有验证码,我那部分这个系统中暂时不用我就注释掉了),foundlove 可以从git上下载:https://github.com/WayneDevMaze/foundlove.git ,如果git速度慢,可以从附件下载。
  2. php创建网站(在这之前先启动MySQL和Apache),设置域名并导入web工程,域名我设置的是foundlove



  1. 数据库创建:当然上一步也可以勾选创建数据库,这里就省掉第一步,从第二步开始(不过不建议这么做,数据库最好自己创建,使环境更干净):
    1. 通过phpstudy进入mysql主页,然后按图中顺序,新建foundlove数据库。



    1. 构建一个叫做users的表,并令其字段数为3,点击执行。



    1. 将三个数据如图设置,然后保存



  1. 访问验证,看看环境是否成功:
    访问域名:

如果正常显示表明phpstudy网站搭建成功,然后在Register地方注册一个新账户,foundlove@outlook.com, 密码014523,如果反馈注册成功,则说明数据库连接成功,可以开始下一步实验。

爆破试验:

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

首先是welcome首页,可以看到在底部轮播滚动的图片上,标有个人公开信息,也就是说,我们可以从这里知道:用户邮箱和编号,在相亲网站中,这种操作是很常见的。

然后进入注册查看一下,注册的时候会不会有有用的对密码的规则信息:







可以看到,并没有太多有用的信息,但是经过一些尝试,虽然知道了注册的时候密码至少六位,但是没有提供实质性的思路。







于是乎,来到第三个导航栏标签登录 ”Login” ,发现跟注册一个很大的不同就是,有忘记密码选项:







这里面一般情况下就会包含有跟密码相关的信息,点进去之后发现果然:







在注意事项的最后一条,很明显可以看到,ID(也就是最一开始我们看到的编号)是相亲现场分配的,密码则是身份证后六位。

至此,已经可以确定的是:

Ø 登录时需要两个信息:邮箱和密码;
Ø 密码的规则是身份证后六位;

2. 经过查看网页公开用户信息,选定想要暴破的目标账户

在首页轮播中,选中一位用户,可以看见其邮箱为:foundlove@outlook.com,我们选定这个账户为攻击目标。(这里是因为我们一开始弄得账号是这个邮箱,如果自己用的别的,可以尝试爆破别的)

3. 对密码规则进行构建密码本

构建密码本:按理来说六位数可以生成10的6次方个数,也就是1000000,但是因为是身份证后六位,所以有所区别:




现在规则说清楚了之后,可以开始写脚本生成密码本:

Python:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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和Windows环境下操作相同),python id_number.py,即可生成密码本passwords.txt




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

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

























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

此时我们看到的Raw里的内容就是传输的包,我们分析一下,很明显可以看到,

1

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

最后一行有两块可疑内容:email和password,57657456就是刚刚随机输入的密码,如果能够把这一块进行设置,加上密码本就能找出密码,点击Action,进入Send to Intruder。








接下来就是爆破的核心几步:

(1)进入Intruder,可以看到target部分已经预设好,这里就不需要再管了,因为这是从之前截获的包里提取出来的;

(2)进入positions,还记得我们一开始说的值得怀疑的地方吗?这里可以看到,bp已经帮我们加了§括起来,但是除了怀疑的password别的也在括起来了。







这里需要说明的就是,bp把所有可变因素都给括起来的,我们只需要password是可变的,因此可以选中不需要的元素,然后用Clear§按钮去掉§符号,如图:







(3)需要额外说明,最上方的attack type:

① Sniper(狙击手模式)

针对单一密码,假设确定了两个位置A和B,然后密码包payload里有两个密码1、2,那么攻击模式如下:

Attack No.

Position A

Position B

0

1

Null

1

2

Null

2

Null

1

3

Null

2

一次只会对一个位置进行攻击!

② Battering ram(攻城锤模式)

与sniper模式不同的地方在于,同样情况下,攻击次数减半,每次两个位置用同样的密码,如表:

Attack No.

Position A

Position B

0

1

1

1

2

2

③ Pitchfork(叉子模式)

跟前两种不同的地方在于,可以多组密码本payload,又于battering ram相同的地方在于,一一对应,现在添加包含3、4的密码本payload,暴力破解过程如表:

Attack No.

Position A

Position B

0

1

3

1

2

4

④ Cluster bomb(炸弹模式)

跟叉子模式相似的是多个密码本对应多个位置,不同的是不再是一一对应,而是交叉组合,每一个密码本里的密码都对应于另一密码本所有密码,如表:

Attack No.

Position A

Position B

0

1

3

1

2

3

2

1

4

3

2

4

此处我们仅在password位置设置密码本,因此选择狙击手模式。

(4)进入Payloads,此时在传输包方面的设置已经完成,只剩下加载密码本了,Payload Options处有load功能,点击加载我们之前创建的密码本:







(5)点击Start Attack进入爆破。

(6)等待爆破结束及说明







当进入如图界面时,剩下的就是等待了,三个框中,最底下的代表的就是进度,代表当前已经跑过多少密码了;中间的小框有两个:Request、Response,一个是请求界面,一个是回返界面,当我们想要查看密码是否正确的时候,可以点击Response查看;当我们想要看时候有正确密码产生的时候,可以点击length(代表的是反应时长,因为密码正确和错误所反馈的时间是不同的),发现异常时长时,即可点击Response查看;

(7)爆破结束







可以看到密码在014523处时间变少,跟其他的都不一样,并且在response里看到有Login success!字样,说明爆破成功,此时回到foundlove网站,用邮箱密码登录即可看到如图效果。(当我们再次操作浏览器时,要在bp的proxy处关掉intercept)







当想要载再次进行此实验的时候可以点击logout退出即可:




(8)小结

从渗透测试的角度来说,在进行爆破时,需要对网站按照前期交互、信息收集、威胁建模、漏洞分析、渗透攻击、后渗透攻击、渗透报告的七大步骤进行分析,当然这里需要的是加粗的那四部分,通过对网站进行信息收集,获取有用信息;通过分析登录位置相关信息,比如是否有次数判定来构建威胁;最后把威胁进行分析,获取密码规则,并对密码规则进行代码生成;最后面是通过BP对其进行渗透攻击。

其实爆破来说,说难不难,说简单呢,也可以看到步骤挺多,而且无脑爆破肯定不如自己写密码本来的好一点,有时候碰到有验证码的,可以看看是不是可以禁用JS什么的,或者BP拦截之后,如果验证码不变了,也可以用BP按这个思路进行爆破。一些有验证码情况下,也可以通过光学文字识别来达到,就是效率会变慢,但是也不是不行。有兴趣也可以继续尝试,之后可能会做一篇跟这个相关的。



关键词:爆破,后台,实现,平台,新手

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭