• BURPSUITE的常用模块


    1. 简介

    Proxy——是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查

    看,修改在两个方向上的原始数据流。

    Spider——是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。

    Scanner[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。

    Intruder——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的

    数据,以及使用fuzzing 技术探测常规漏洞。

    Repeater——是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。

    Sequencer——是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。

    Decoder——是一个进行手动执行或对应用程序数据者智能解码编码的工具。

    Comparer——是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。

    2. 具体介绍

    2.1 仪表盘

    BP中的仪表盘有一个扫描功能,可以对一些网站进行漏洞扫描,但是BP的漏洞库不是很强大,一般扫描网站漏洞

    还是用专业的扫描工具,比如AWVS

    image-20201221144648986

    输入需要扫描的网站,如果只勾选爬行,则不会对网站进行漏洞检测

    image-20201221145645092

    详细范围中可以设置要包含的多个url或排除的url

    image-20201221150340384

    正在爬行扫描

    image-20201221145735993

    查看扫描结果

    image-20201221150101000

    查看BP中自带的漏洞库:目标 ---》问题定义,漏洞库中已经定义好了什么是高危,什么是低危漏洞

    image-20201221150558226

    2.2 目标

    在目标模块中可以对爬行的结果进行指定过滤,方便我们对扫描的结果进行查看

    image-20201221151224378

    如:只显示返回的状态码为2xx的结果

    image-20201221151457378

    image-20201221151525858

    2.3 代理

    代理模块是BP中经常使用的一个模块,做渗透测试需要抓包的时候,使用的就是BP中的代理

    image-20201221154914361

    代理就是在客户端和服务端中间多了一个传递者,不设置代理时,客户端的请求会直接发送到服务端,服务端的响

    应会直接返回到客户端,有了代理,客户端的请求会先被代理给拦截了,然后通过代理发送给服务端,当服务端做

    出响应的时候,也是代理先接收到服务端的响应然后再发送给客户端

    设置代理

    BP中默认监听的地址是127.0.0.1:8080,也可以自己指定ip和port

    image-20201221151924574

    设置谷歌浏览器代理

    image-20201221152126682

    填写ip和port

    image-20201221152211385

    打开BP中的请求拦截

    image-20201221152757060

    此时我们在谷歌浏览器中输入网址,按下回车,数据包会先被BP拦截到

    image-20201221153723885

    默认BP是无法抓取HTPPS的包,需要在浏览器中添加BP的证书,因为当浏览器向BP发送HTTPS请求的时候,会检

    验BP这个假的服务端是不是值得信任,评判的依据就是证书,但是浏览器上默认没有信任的BP证书,会自动断开

    链接,具体信息见下图

    image-20201221160134299

    导出BP上的CA证书

    image-20201221154144206

    image-20201221154205994 image-20201221154350913 image-20201221154327852 image-20201221154421965 image-20201221154450465

    在谷歌浏览器中添加BP导出的CA证书

    image-20201221160511318

    导入证书

    image-20201221161419768 image-20201221160653225

    选择证书的路径

    image-20201221160722028 image-20201221161456052 image-20201221161523434

    image-20201221161545247

    这个时候BP就可以抓取HTTPS请求的包了

    image-20201221161732672

    默认用谷歌浏览器访问百度的时候,实际上会有很多隐藏的请求,所以你在放包的时候,会有好几个包需要放行,

    所以你不用大惊小怪,当然你也可以在拦截的时候过滤掉一些垃圾包,右键设置即可

    image-20201221162153974

    BP默认是不会对服务端响应的数据包做拦截的,当然你也可以在选项中勾选拦截响应包

    image-20201221162346049

    拦截服务器的响应包

    image-20201221162636971

    HTTP历史记录,这里面会记录你所有拦截和扫描到的包

    image-20201221211028832

    拦截客户端请求中,BP默认是不会对图片,js,css等请求做出拦截,也可以自定义不拦截

    image-20201221211333481

    搜索和替换请求头,也可以自己添加请求头,达到隐藏客户端请求头的目的

    image-20201221211637240

    2.4 测试器

    测试器(Intruder)本质就是一个暴力破解的工具,我们以一个简单的登录爆破来学习这个模块

    首先准备一个登录但不需要验证码的页面链接,这里我们以bWAP的登录页面为例

    image-20201221213925371

    将拦截到的数据包发送到测试器

    image-20201221212616415

    清除变量,选择攻击类型为狙击手(Sniper)

    image-20201221212651225

    选中需要替换的数据,添加变量

    image-20201221212754412

    加载爆破字典,点击右侧开始攻击

    image-20201221213120759

    查看爆破结果,根据返回的状态码,以及数据包的长度,可以判断出bug可能是爆破出来的正确密码,因为爆破

    采用的就是撞库方法,一个一个去发请求尝试,大多数结果都是返回的登录错误页面,一旦有和大多数包不同的

    状态码或者内容长度,就极为可能是登录正确返回的数据包。

    image-20201221213814245

    有的时候密码可能是在前端加密之后提交到后台,这个时候我们就需要在爆破之前,对有效负载做处理,比如常见

    的MD5加密,如果字典很大也可以将线程数调大,加快爆破速度。

    image-20201222144055936

    image-20201222144151706

    补充

    在用BP密码爆破的时候,你有可能会遇到一种状况,就是状态码都是一样的200 OK,返回的数据包的长度也是一

    样的,但是确实存在一个数据包是登录成功返回的,那么你怎么判断呢?这个时候你就要首先去网站注册一个账号

    密码,然后正常登录,BP抓包,查看登录成功后的数据包中有无特殊的字符串,我们可以将这个特殊字符串,设

    置成匹配规则,然后再进行管理员密码爆破的时候,用这条规则匹配返回的数据包内容,进而在返回状态码和长度

    一样的情、况下,也能找到正确的那个登录请求

    image-20201222145559741

    image-20201222150036613

    四种攻击类型

    1.Sniper(狙击手),只能设置一个payload(有效负荷集),每次只能替换一个变量,你可以简单地理解为只能

    添加一种类型的爆破字典当开始攻击的时,会将具体的有效负荷集里面的值依次,替换到之前设置的变量中,去爆

    破,这种攻击模式适用于对单一位置进行爆破,比如常见的知道管理员账号,但是不知道密码,可以将密码数据添

    加成变量,然后单一爆破。

    image-20201222154052699

    2.Battering ram(破城锤),表示两个爆破点使用同一个payload值依次去执行,如果simplelist是5个,那么就

    执行5次,两个位置的值每次都是相同的。原理如下图所示:

    image-20201222154501068

    3.Pitchfork:(音叉)这个模式下,一般两个爆破点,并且会设置两个payload1和payload2,payload1就设

    置给爆破点1,payload2就设置给爆破点2,总共也是执行5次。并且一般按照payload少的执行,适合撞库攻击

    image-20201222155450339

    4.clusterbomb(集束炸弹),表示如果有两个爆破点,同时设置两个payload1,和payload2,simplelist是3

    个和3个,那么就会执行一个笛卡尔积的次数。即就是9次。

    首先payload2的第一个值设置给爆破点2,payload1的值依次执行给爆破点1,然后依次尝试,当payload1中的

    值尝试完毕后,payload2的第二个值会设置给爆破点2,payload1的值再依次执行给爆破点1,知道payload2中

    的值全部遍历一遍。

    image-20201222160856017

    image-20201222160918102

    image-20201222160933961

    2.5 重发器

    一般我们手动挖洞的时候,最常用的就是重发器,因为我们在重发器中可以更改请求包的请求头,或者是要向服务

    端提交的数据,可以不断调试的一个模块

    image-20201222170056866

    2.6 编码器

    常见编码

    image-20201222161659684

    常见解码

    image-20201222161626811

    2.7 对比器

    Burp Comparer在Burp Suite中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别。使用中

    的场景可能是:

    • 枚举用户名过程中,对比分析登陆成功和失败时,服务器端反馈结果的区别。

    • 使用 Intruder 进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪里。

    • 进行SQL注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系。

    可以按照一个字符,也可以转换成字节比较,一般分析都是用字符比较,

    image-20201222162351402

    image-20201222162412789

    2.8 插件扩展

    Burp在软件中提供了支持第三方扩展插件的功能,方便使用者编写自己的自定义插件或从插件商店中安装扩展插

    件,这里以一个过waf的第三方插件(Bypass WAF)为例,介绍如何使用,如果你恰巧擅长开发,也可以自己写

    插件然后安装在BP中使用,你会发现BP这个软件是那么的强大!

    image-20201222162927746

    可以在插件中设置一些配置,这个插件默认不需要设置

    image-20201222163028337

    使用插件,首先将安装的插件添加进去

    image-20201222163314564

    image-20201222163447064

    image-20201222163428639

    image-20201222163601532

    image-20201222170655316

    这个时候可以去抓包,测试一下

    image-20201222163956674

    多出来的这些请求头的作用就是,告诉防火墙这个数据包是本机发送的,这样防火墙就不会拦截,我们也就绕过

    了waf,但是服务端回包的时候仍然是把数据包发送到我们的电脑上

    2.9 用户选项

    这个模块主要是设置一些字体,以及页面显示,默认BP抓包的记录是保存在临时文件中的,所以你每次打开BP都

    会提示你上次的记录要不要删除等

    image-20201222164819971

    推荐在用户选项中将字符集设置成GBK,这样包里面的中文字符不会乱码

    image-20201222165029927

    如果当自己设置了一些自定义,想要恢复默认值时可以执行这个操作

    image-20201221144428513

    写在最后

    详细完整全面的BURPSUITE软件的使用可见大佬博客:

    https://www.cnblogs.com/yufusec/tag/流行工具/

  • 相关阅读:
    docker搭建ros-indigo-arm交叉编译环境
    ROS系统C++代码测试之gtest
    ROS系统python代码测试之rostest
    ROS(Robot Operating System)常用环境变量介绍
    【持续更新】 | OpenCV 学习笔记
    Mac + PyCharm 安装 Opencv3 + python2.7
    如何用Caffe训练自己的网络-探索与试验
    九度OJ-第5章-图论
    看周志华教授的一番话有感
    姿势估计实验-Realtime_Multi-Person_Pose_Estimation-CMU
  • 原文地址:https://www.cnblogs.com/xcymn/p/14464913.html
Copyright © 2020-2023  润新知