实战篇——Burpsuite工具BruteForc靶场实战

news/2024/10/5 5:15:54/文章来源:https://www.cnblogs.com/yaoguyuan/p/18274518

实战篇——Burpsuite工具BruteForc靶场实战

BurpSuite是一款强大的渗透工具,主要用于抓包、口令爆破和Fuzzing测试。本章通过BruteForc靶场实战,深入掌握Burp口令爆破。

经过测试,原靶场(https://github.com/3sNwgeek/BruteForc_test)在登录回显方面存在几处问题,现已修正并发布至本人的仓库(https://github.com/yaoguyuan/BruteForc_test_improved)。

环境配置:JDK+Burpsuite+SwitchySharp+Python+captcha-killer+BurpCrypto (具体配置方式此处不再赘述,不会在网上搜索相关教程)

1. 热身练习

之前正好开发了一个简单的登录网站,那就拿它热热身吧!😃

登录页面:

先抓包再爆破,最后通过Repeater模块验证一下,轻松搞定!(其实一开始在字典中偷偷加了正确口令)

image-20240628215429274

2. 突破验证码

登录页面:

image-20240628215834810

难点在于验证码。思路就是先通过GET请求获得验证码图片,然后进行验证码的识别,最后带上验证码进行爆破。

这里需要使用Burpsuite的一款插件——captcha-killer,话不多说,直接开始操作!

首先运行yanzhengma.py,开启端口监听:

image-20240628220432547

点击验证码图片,抓包,发送至captcha-killer,点击获取,得到验证码图片:

image-20240628220704060

将验证码请求包导入至Request template,填写接口URL,点击识别,可见识别结果正确!

image-20240628220848668

输入用户名、口令和验证码,抓包,发送至Intruder模块,设置攻击方式为Pitchfork

image-20240628221132674

设置Payloads,第一个payload导入口令字典,第二个payload设为Extension-generated,并选择captcha-killer:

image-20240628221335932

爆破线程数设置为1(重要),开启爆破,得到口令——1q2w3e4r!(会用captcha-killer就完事儿了)

image-20240628221615851

3. 突破前端加密

这题是最难的,并且靶场源码还有问题,导致我改了半天...

登录页面:

image-20240628222248378

看起来啥验证也没有,人畜无害。

抓个包看看:

image-20240628222456861

这一串是啥玩意儿??

发送至Repeater模块看看:

image-20240628222646215

这一串又是啥玩意儿???

通过开发者工具查看网页的源代码,才发现别有玄机:

image-20240628222949970

首先是html表单,可见点击按钮触发form_login函数(下面的responseDiv一会儿会解释)。

image-20240628223134091

form_login函数先基于username和password生成pwd_key,然后调用encryptByDES函数进行加密,最后调用post函数进行发送。

image-20240628223333313

encryptByDES函数先对密钥进行utf8编码,然后对明文进行DES加密,加密模式为ECB,填充算法为PKCS7。

image-20240628223553256

post函数是比较关键的,先对post_key进行URL编码和拼接,这样就得到了Request报文中的那一串;然后通过XHR向response.php发送POST请求。内部onreadystatechange函数会在XHR的readyState发生变化时触发,XMLHttpRequest.DONE表示XHR的readyState为 4,即请求完成且响应已就绪。因此此处用于接收并处理服务器的响应。现在终于豁然开朗了:response.message就是之前Response报文中的那一串,应该是回显信息JSON编码后的结果,将response.message传给responseDiv.innerText,用于在当前页面显示回显信息。

image-20240628223956467

将抓到的数据包放行,查看回显信息:

image-20240628225939938

随便找个JSON在线解析工具,把之前Response报文中那串扔进去,解析,果然不出所料!

image-20240628230339589

现在分析的差不多了,那就趁热打铁!

这里需要使用Burpsuite的另一款插件——BurpCrypto,用于数据加密。

这里有两个需要注意的地方,其一是填充算法选择PKCS5,因为DES加密算法数据块长度为64位(8字节),PKCS7和PKCS5等价;其二是密钥取前8个字符,因为DES加密算法密钥长度也是64位(8字节),JS中应该会发生自动截断,但这里必须给定8字节。

image-20240628231032822

创建一个processor:

image-20240628231529155

抓包,发送至Intruder模块,选择Custom iterator:

image-20240628231655822

三个position设置如下:

image-20240628231846222

image-20240628231909113

image-20240628231941980

别忘了选择之前配置的processor:

image-20240628232038955

开启爆破!得到一个长度与其他不同的响应包:

image-20240628232222181

打开JSON在线解析工具,扔进去,解析,果不其然!

image-20240628232535362

如果还想要获得口令的话,随便找个DES在线解密工具就行了:

image-20240628232943591

口令就是password!手动输入用户名和口令,登录成功!

image-20240628233019906

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/733090.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTA7~8次大作业总结

目录前言设计与分析PTA第七次作业PTA第八次作业踩坑心得总结 前言第七到八次大作业已经完成,对第七和第八次大作业里所学进行一个总结,从多方面来分析这两次作业之间的联系和差异,并从中了解自己的不足与缺点。第七次作业添加了互斥开关和窗帘,窗帘还好,只是一个简单的电路…

代码随想录算法训练营第23天 | 39.组合总和 40.组合总和Ⅱ 131.分割回文串

39.组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个…

北航软院人工智能课程笔记

北航软院人工智能课程笔记,期末复习用。你软绝世好课,实际上照搬浙大吴飞老师(慕课)&台大李宏毅老师(B站or油管)的PPT…… 上课听不进去可以直接去听这两位老师的课。 期末复习自用笔记,有误欢迎指正。绪论机器学习及有监督学习 机器学习基本概念 机器学习:就是从数…

PTA题目集7-8总结

1. 前言知识点: 继承,多态,类设计 题量:一次一道题,1000行代码左右,还行,不多 难度:家居强电电路模拟程序-3 :略难,主要是互斥开关好难设计啊!!!不知道要怎么写 家居强电电路模拟程序-4 :太难啦,提示和没有一样啊!!!真的找不到还有哪里错啦,想不到啊啊啊!!…

LLM并行训练3-数据并行

大模型训练 数据并行相关的学习笔记, 主要内容 zero, zero++前置知识 混合精度训练在参数存储时采取fp32, 开始进行fp/bp时转成fp16运算, 拿到fp16梯度后再转回fp32更新参数. ZeRO对显存占用的估算:模型状态: Weights(fp16)、grad(fp16) 和 MasterWeights(fp32 模型参数备份),…

货车运输的五种解法

上完课整的活(这里的“五种解法”之间有实现方式之外的不同) 方法1:最大生成树 + 树上倍增 本题的标准解法,先用 kruskal 建出最大生成树,再在最大生成树跑树上倍增求路径 \(min\) ,时间复杂度为 \(\Theta(n \log n + q \log n)\)。 树上倍增也可以用树剖替换,但是需要两…

一张图让你看懂10种软件架构风格

软件架构风格是构建各种软件系统的基本蓝图,确保它们满足特定的要求和质量属性。通过坚持合适的架构风格,组织可以确保其软件系统的构建与其战略目标保持一致,适应未来的变化,并在面对不断发展的技术环境和用户需求时具有弹性。 以下是最常见的样式:(单体架构):将整个…

linux三剑客-grep、sed、awk

Linux三剑客是Linux系统中最重要的三个命令,它们以其强大的功能和广泛的应用场景而闻名。这三个工具的组合使用几乎可以完美应对Shell中的数据分析场景,因此被统称为Linux三剑客。 1、grep grep是一个强大的文本搜索工具,用于在文件内容中查找指定的字符串,并将匹配到的行输…

联通网络无法使用FTP,无法使用21端口连接的解决方法

最近家里换了联通的网络,结果发现连接不上FTP了,本来以为是软件的问题。最后发现只有21端口的FTP连接不上,其它的端口没问题。 首先想到的是肯定是联通的光猫把21端口给关闭了。然后就想着通过192.168.1.1来设置一下光猫。专业网站制作、系统开发订制、微信公众号开发、接外…

LINUX命令-sed

sed命令是用于对文本文件做内容操作的神器,常见的增删改都可以,熟练运用可提高shell脚本编写能力和在terminal下的工作效率。本文编辑小绝技-sed sed命令是用于对文本文件做内容操作的神器,常见的增删改都可以,查没必要用它,用grep或者gvim打开用vim的搜索匹配就行。 sed …

毕业好几年了还要考研吗?

其实,毕业多少年都不影响我们考研,因为考研本身并没有年限或者年龄上的限制。所以,在是否考研这个问题上,我们真正应该思考的是,我们是否已经对未来做了一个比较合理的规划,考研这件事是否在未来的规划中有着重要的影响,如果是,而且现实条件也允许我们去考,那么,就应…