【2024版】最新BurpSuit的使用教程(非常详细)零基础入门到精通,看一篇就够了(5)

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  1. 请求行:请求行包含三个字段,分别是请求方法、请求URI和HTTP协议版本 请求方法:常见的HTTP请求方法有GET、POST、PUT、DELETE等, 它们分别表示请求获取资源、提交表单数据、更新资源、删除资源等操作。 请求URI:/index.php2. 请求头部:请求头部包含了请求的各种附加信息,` `如请求的主机、请求的用户代理、请求的内容类型等。` `Host头,User-Agent,Accept,Accept-Encoding,Accept-Language,` `Cookie等等3. 请求体:有些请求需要传递数据,这些数据需要包含在请求体中, 如POST请求就常常需要在请求体中传递表单数据。

响应包:

HTTP/1.1 200 OKAccept-Ranges: bytesCache-Control: max-age=86400Content-Length: 2947Content-Type: text/htmlDate: Wed, 12 Apr 2023 08:57:04 GMTConnection: close

上面是一个简单的响应包

  1. 状态行:状态行包含三个字段,分别是HTTP协议版本、状态码和状态消息。 状态码是指服务器返回的处理结果, 常见的有200表示成功、 404表示资源不存在、 401表示未授权 30x表示跳转,302跳转漏洞 50x表示服务器内部错误等;2. 响应头部:响应头部包含了响应的各种附加信息,` `如响应的日期、响应的内容类型、响应的长度,响应Cookie等等。3. 响应体:响应体包含了服务器返回的实际数据,如HTML、JSON等格式的数据

要学习网络安全,必须要去熟悉HTTP请求协议,慢慢来吧,上面是一个简单的请求和响应。有一些骚的操作我在后面慢慢分享。

  1. 其他操作:
    从Repeater模块的请求

Change body encoding

Copy as curl command --(一般好像是在linux上运行)

Engagement Tools -> discover content(类似于一个扫描目录的情况) 这个功能我还没怎么去使用过,又偷偷学到一招儿,

  1. 说点人生感悟:

真正的勇士是敢于接受平凡的自己,接受自己的平庸。尘归尘,土归土,一切都将趋于平静。归去,也无风雨也不晴。

Intruder模块

  1. Intruder模块

使用Intruder,您可以将不同类型的数据有效负载插入到Web应用程序中的参数中,并自动化地发起请求,以尝试发现应用程序中的任何漏洞或安全问题。例如,您可以使用Intruder来执行字典攻击、暴力破解或SQL注入等不同类型的攻击,以测试Web应用程序的安全性。
此外,Intruder还支持对多个目标同时进行攻击,从而提高测试效率。在攻击完成后,您可以使用Burp Suite的其他模块来进一步分析攻击结果,并查找成功利用漏洞的可能性。
简单的来说,Intruder模块就是一个爆破模块,爆破模块在前期打点的时候十分重要,爆破账户分分钟,对,爆破模块玩的好,贼6,有验证码,也不要怕,爆破就完事了。

  1. 使用

2.1 先来看看Intruder模块的样子是啥:

Intruder模块包括target ,Positions ,Payloads ,Options四部分
其中 target部分,我几乎没有动过,就是说没有什么用。
我们重点看的是Positions ,Payloads ,Options三部分

2.2 Positions
首先Intruder模块是通过 进行指定参数,例子: u s e r n a m e = 进行指定参数, 例子:username= 进行指定参数,例子:username=xxx$意思就是将你的字典会去替换这个xxx的值。

我们先去clear$ (清空当请求包发送到Intruder模块是自带的所有 ),然后再通过 a d d ),然后再通过add ),然后再通过add 进行添加变量值。(当初入门的时候,真的挺头大的,很多都不懂,现在好多了,希望曾经跟我一样的人少走些弯路)

Intruder模块的测试模式分为4种:Sniper(Sniper):逐个地对每个目标参数进行测试。这种方式适用于需要具体指定某个参数值进行测试的情况。Battering Ram(破城槌):选择多个不同的参数值集合作为测试数据进行并行测试,以找出所有可能的漏洞点。这种方式适用于需要大量测试数据的情况。Pitchfork(干草叉):同时对多个参数进行测试,将不同的参数组合在一起进行测试。这种方式适用于需要测试多个参数交互情况的情况。Cluster Bomb(集束炸弹):类似于Battering Ram,不同之处在于它将多个参数值集合作为测试数据,但会对每个参数集合都进行逐次的单元素组合测试。这种方式适用于需要详细测试每个参数值的情况。

(当初看着这些介绍真头大,完全看不懂)其实很简单的:
Sniper 就是爆破单个位置,你指定哪就爆破哪
如下图,就是不同的用户名,密码不变为123456。 形式如下
zhangsan 123456
lisi 123456
wangwu 123456

Battering Ram指定多个位置 他只需要你一个字典文件,所有位置的参数一样。
admin admin
1111 1111
zhangsan zhangsan
lisi lisi

Pitchfork(干草叉):一般加入两个变量值进去,比如说dict1: admin,test,root
dict2: 123456, admin123,root.形式如下
admin 123456
test admin123
root root

Cluster Bomb(集束炸弹): 一般加入两个变量值进去,比如说dict1: admin,test,root dict2: 123456, admin123,root.形式如下
admin 123456
admin admin123
admin root
test 123456
test admin123
test root
root 123456
root admin123
root root

2.3 Payloads 部分 对于payload的设置部分有很多种,反正就是记录,每一种都写一下吧

Simple list,Runtime file,Custom iterator,Character substitution,Case modification,Recursive grep,illegal Unicode,Character blocks,Numbers,Dates,Brute forcer,Null payloads,Character frobber,Bit flipper,Username generator(15种)

Simple list(简单列表):

Runtime file(通过导入文件,我个人觉得跟简单列表里面的差不多)

Custom iterator(自定义迭代)

Character substitution(字符替换)只能单个字符进行替换

Case modification(案例修改)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Recursive grep(递归grep)

注意:因为Recurisive grep 我们一般用于匹配csrf-token之类的。这就要求我们需要注意两个点:1.线程必须为单线程。2.我们是否需要设置第一个请求的token。(因为我们的token是从请求包里出来的,如果我们携带的token与此次的token不一样,就不会让你登录。即我们要去找一个正常的请求,记录它的token当初初始token进行操作。有点绕,慢慢理解)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

illegal Unicode(非法的Unicode,我感觉好像晚上网上都没说清楚怎么操作呢,我是参考的一个提问的,可能也一知半解释把)

Character blocks (字符块): 这对脏数据绕waf应该有奇效。。。

Numbers (数字)

Date (日期)

Brute forcer(爆破)

Null payloads

Extension-generated (通过插件)

总算把payload设置记录完了。。
补充介绍下Add form list —内置的一些列表
补充介绍下Add form list —内置的一些列表
补充介绍下Add form list —内置的一些列表

列举了一些我觉得常用到的简单列表!!! (以前都没有仔细看过这些,学到了学到了)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

------------------------------------默认的内置简单列表完-----------------------------------------------------------------------

这个Payload Processing 一般对于密码进行的操作,比如说前缀,后缀,密码的md5等等这些,转换大小写等。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个Payload Encoding是对请求参数中的一些字符要不要进行url编码

2.4 Options 部分

Target模块 杂项模块

  • Target 模块

Burp Suite的Target模块是一个用于配置目标应用程序和Web站点信息的工具。在进行渗透测试或漏洞扫描时,可以使用此模块来确定攻击目标并设置代理以拦截流量。

在Target模块中,您可以添加目标站点和端口,并指定代理设置以拦截所有传入和传出的请求和响应。您还可以配置Burp Suite的SSL证书,以便在HTTPS连接上进行拦截和分析。

另外,Target模块还提供了一些自动化工具,例如“Site map”功能,它可以在浏览网站时记录所有访问的页面和资源,并建立一个完整的站点地图。这样,您就可以更轻松地进行漏洞扫描,而无需手动导航到每个页面

  • Site Map

Site map的主要作用是为您提供对站点结构和内容的全面了解,列出了站点的URL,以及每个URL的HTTP响应代码、请求和响应头信息以及其他参数。通过查看Site map,您可以快速识别站点上存在的漏洞和安全问题,Site map还支持一些自动化功能,例如通过“Spider”工具自动遍历站点并添加新页面到Site map中。

要想使用Site Map 我们必须去 Dashboard --> Crawl

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

它的过滤跟前面记录的过滤是一样的。

  • scope (范围)

对于一些干扰的包,我们需要进行排除,或者只抓取某个厂商的包。可以通过如下进行设置。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

杂项模块

  1. Sequencer 模块

Sequencer模块是一个用于对随机数生成器和其他类型的输入数据进行统计分析的工具。通过对输入数据进行分析,可以确定输入数据的质量并评估其安全性。可以帮助测试人员确定应用程序在使用随机数生成器时是否足够随机,以及在处理密码和其他敏感信息时是否存在可预测的模式。使用Sequencer模块,您可以捕获一组输入数据,并对它们进行分析,以确定它们之间是否存在任何相关性或模式。在进行分析之前,您可以选择从输入数据中删除任何重复项或不可见字符。简单的来说就是:通过不停的发送数据包,用来预测应用程序的session tokens或其他重要数据项是否可以预测。

Sequencer模块分为三部分:Live capture(实时捕获),Manual load(手动加载),Analysis options(分析选项)

Live capture(实时捕获)

我这边以靶场DVWA举例把,我也有点懵,涉及到统计学。

好吧,卧槽我真的懵了,算了,放一些其他大佬的讲解把:

https://blog.csdn.net/u011781521/article/details/54772888
https://t0data.gitbooks.io/burpsuite/content/chapter10.html

算了把,我放弃了,去爆破发现会话,说实话有点不现实,如果是弱会话的,我们肉眼也能发现,如果不是弱会话,测了也白搭。意义不大。
都说到这了,提一下一个思路把: 我们可以通过Sequencer模块,发送大量的请求,去获取到大量的参数(Cookie也好,一些加密的id也许,都可以)复制,排序,发现规律即可。

Dashboard模块

下面的一张图差不多可以解释清楚吧

Logger 模块

日志记录模块,有时候我们习惯删掉Proxy 中的Http History 就来这里找吧,遇见过几次,Http History记录删除了,在这里找回了

还有 Extender 模块,Projection Option模块,User Options模块,常用的bp插件没有记录。加油吧

记录看到的一个上传的bypass,可能过时了,记录着吧:

Decoder模块 Comparer模块 User Options 模块

Decoder模块

  1. 介绍

通过Decoder模块,用户可以将经过编码的数据还原为其原始形式,以便更好地理解其内容。同时,Decoder模块还可以将普通文本转换为编码格式,以保证数据在传输过程中的安全性和完整性。使用Burp Suite Decoder模块时,用户可以选择需要使用的编码或解码技术,并将待处理的数据输入到相应的输入框中,然后单击“Decode”或“Encode”按钮即可完成操作。

  1. 简单使用

Comparer模块

  1. 介绍

Compare模块允许比较来自两个HTTP请求或响应的数据。这对于查找潜在漏洞或检测应用程序中的不良行为非常有用。例如,如果对应用程序执行了两个相同的请求,但每次响应都略有不同,那么您可以使用比较模块来查看响应之间的差异并确定网站是否存在安全问题。比较模块还支持高级过滤器,这些过滤器可帮助您在比较大型复杂响应时快速找到差异。您还可以将比较结果导出为文本文件以进行后续分析。

  1. 简单使用

支持两种方式,一种是复制粘贴,一种是直接发送过去,两种方式都比较常用。

复制粘贴

在Repeater,Proxy等模块中,将请求包发送到Comparer这即可。
具体进行比较:

User Options 模块

  1. 介绍

User Options -> Connections -> Platform Authentication 通过这些设置,您可以将Burp配置为自动对目标web服务器执行平台身份验证。可以为各个主机配置不同的身份验证类型和凭据。平台身份验证也可以按主机禁用。支持的身份验证类型有:基本、NTLMv1和NTLMv2。域和主机名字段仅用于NTLM身份验证。当遇到身份验证失败时,平台身份验证失败提示选项会导致Burp显示一个交互式弹出窗口。(直接怼的它的介绍)
我在想是不是访问的时候,弹个框让输入密码那种,我记得那种好像是Basic凭证

User Options -> Connections -> Upstream Proxy Servers
说实话,这个选项我们会常用的上,先简单说一些利用场景吧,比如说,抓一些数据包的时候,ip被Ban,需要使用这个功能,将数据包发送代理服务器上。同样抓一些嫱外的数据包的时候,也要这样来。

User Options -> Connections -> SOCKS Proxy

这个也用的比较多,跟上面的差不多,偷偷再提一句,内网穿透…内网资产测试的时候,用的上…

User Options -> TLS -> 说实话,签名,证书之类的

TLS 选项可以让用户配置 Burp Suite 如何处理使用 TLS/SSL 加密的流量。用户可以选择是否验证服务器证书、如何验证服务器证书、是否启用 TLS 握手细节记录等。这些选项可以根据具体的需求进行调整,以便更好地进行渗透测试。

User Options -> Display 与界面显示有关的配置选项。这些选项可以让用户自定义 Burp Suite 的外观和交互方式,以便更好地适应个人偏好和工作习惯。

User Options -> Misc

Extensions模块+常见bp插件

  1. Extensions模块

BurpSuite的Extensions模块涉及到多个领域,例如目录枚举、暴力破解、漏洞检测、代理服务器等等。每个扩展都有其独特的功能和优势,能够帮助测试人员更快速地发现潜在的安全问题,并提供修复建议。
除了提供功能强大的插件之外,Burp Suite还支持自定义插件和扩展的开发,让用户可以根据自己的需求定制工具。Burp Suite的扩展生态系统非常庞大,拥有丰富的资源和社区支持,使得其成为了一款备受青睐的渗透测试工具。

注:在使用扩展模块的时候,我们常常需要添加一些环境去支持python,ruby等文件的运行,如jpython,ruby等环境

安装jpython环境

下载jpython 地址:https://www.jython.org/download.html

然后将下载好的jpython.jar文件导入到burpsuit,即可下载burpsuit支持的python扩展插件。

同理安装ruby环境 去百度上找吧,名字叫:jruby-complete-9.2.11.0.jar

至此,一些常用的环境安装好。

2.常用的插件

403bypass

介绍:用python编写的用来测试绕过403的插件,被动扫描,需要打开面板里的漏洞扫描 下载地址:burpsuit 扩展商店

Autorize (后面专门去写具体使用)

介绍:Autorize 则是 Burp Suite 的一个插件,它主要用于授权测试。Autorize 插件的主要功能是自动化地检测目标应用程序中可能存在的授权漏洞。
具体操作是将高低权限账户交给Autorize,打开Autorize运行,然后使用高权限用户进行正常操作。Autorize自动会对每次请求Cookie进行低权限更改,从而进行验证是否存在越权问题。下载地址:burpsuit 扩展商店

HTTP Request Smuggler(请求走私)

介绍:前端和后端服务器的这种模棱两可的处理机制会导致HTTP请求走私,用于获取的未授权数据、接管应用程序等。下载地址:burpsuit扩展商店

Chunked coding converter 介绍:该插件主要用于分块传输绕WAF

下载地址:https://github.com/c0ny1/chunked-coding-converter

Shiro被动检测

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

介绍:前端和后端服务器的这种模棱两可的处理机制会导致HTTP请求走私,用于获取的未授权数据、接管应用程序等。下载地址:burpsuit扩展商店

Chunked coding converter 介绍:该插件主要用于分块传输绕WAF

下载地址:https://github.com/c0ny1/chunked-coding-converter

Shiro被动检测

[外链图片转存中…(img-IDx2Yslr-1715499492577)]
[外链图片转存中…(img-CDmkW3Mc-1715499492578)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 29
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值