美文网首页
burpsuite 工具介绍

burpsuite 工具介绍

作者: fantasy_learner | 来源:发表于2019-11-13 18:54 被阅读0次

基础功能

  • proxy

    • 主要作用是拦截流量,并根据情况对流量做出规则替换或者手动修改

      http history 会记录 所有经过burp的流量 , 并发送给辅助模块做分析,比如 targt

    • options 相关:

      • 证书 | https

      • 修改监听端口

        • 本地端口间转发

        • 远程 主机/域名转发 | 实用性 小

        • 强制使用 ssl

        • 隐形代理

          • 在无浏览器端或者设置流量代理的应用中 代理流量的方法 | proxychain

            • 修改 /etc/host , 将目标网址指向本地

            • 修改 hostname resolution 选项 ,将接收到的请求,转发到对应的ip去

      • 对请求包和返回包做出批量修改

        • 自动修改,一些预设好的功能

        • 手动设置修改规则

          • 选定区域

          • 写正则

        • 和 repeater 的不同

          • 可以操作返回头

          • 可以对未知流量做批量替换

      • ssl pass through

        • 对指定网址 进行 ssl 直连,但是优点没有看懂...
  • repeater

    • 作用 :

      • 修改,重放包进行测试攻击

      • 查看 重点包的结果

    • 注意 repeater 的 设置选项在顶栏

    • 右上角可以设置重放包的target(host,port)

    • 设置重放时是否进行跳转follow redirections

    • change method 自己更改可能会因为一些小细节导致包出错,直接使用着用方法会更好一+点

    • 可以自动进行Url编码,空格转换成+,等等...

    • copy as curl,可以将整个Burp的包构造成curl的参数的形式请求

    • url解码和编码的快捷键,右键可以直接convert selection,进行编码和解码

    • post方法可以change body encoding,更改发包方式改成文件上传类型的

  • intruder 顶栏的设置中,可以包的内容进行替换和追加 | 自动化测试

    • 作用

      • 模糊测试 | 设置大量的payload进行模糊测试

        • 爆破 密码

        • fuzz

          • sql

          • 命令注入

      • 提取特定信息

      • 设置多种标识符

    • 攻击模式

      • sniper

        • payload位置数量 : 1

        • payload 列表数量 : 1

        • 替换方式 : 遍历payload列表

      • batteringram

        • payload 位置数量 : [:21]

        • payload 列表数量 : 1

        • 替换方式 : 遍历payload列表,所有位置值相同

      • pitchfork

        • payload 位置数量 : [:21]

        • payload 列表数量 : [:21]

        • 替换方式 : 同时遍历不同位置的payload列表 ,

          • 例如 : payloadN[index ++]
      • clusterbo,mb

        • payload 位置数量 : [:21]

        • payload 列表数量 : [:21]

        • 替换方式 : 在不同位置上依次遍历所有payload , 执行的Payload数据Payload组的乘积

          • 例如 :

            • payload 1 [a , b] , payload 2 [c , d]

              • a , c

              • a , d

              • b , c

              • b , d

    • payload 类型

      • simple list

        • 设置指定字符串,或者从多个文件中读取字符串内容
      • runtime file 运行时文件

        • 设置从指定文件中按行读取payload
      • custom iterator 自定义迭代

        • 最多8个占位,可以在不同占位设置不同的payload,从而组合成多个规则的payload
      • Character substitution 字符串替换

        • 设置字符替换规则,对内容进行枚举后,生成payload
      • bruteforcer

        • 此类 payload生成包含一个指定字符集,所有排列,特定长度的有效载荷

          • 通常用于枚举字典的生成

            Character set表示生成字典的数据集

      • Case modification 对字母大小写情况替换

        • 多种

          • no change 不变

          • to lower case 小写

          • to upper case 大写

          • to propername 首字母大写其他小写

          • to ProperName 首字母大写其他不变

      • Recursive grep 递归替换

        • 用于从服务端提取有效数据的场景

        • options (grep extract) 中设置正则抽离内容,才能为下一次请求获取数据

      • extesion-generated生成插件

        • 基于插件生成payload
      • copy otherpayload

        • 将其他位置的复制到该位置上
      • Illegal Unicode 不合法的 unicode 编码

        • 在payloads里用指定的不合法Unicode编码替换字符本身,从这些Payload列表里产生出一个或者多个有效负荷。在尝试回避基于模式匹配的输入验证时,这个有效负荷会有用的
      • Character blocks 字符串

        • 生成指定长度模式的字符,边界测试或者缓冲区溢出?
      • number 数字

        • 根据配置生成数字payload
      • dates 日期类型

        • 根据配置生成日期
      • NullPayloads 空类型

        • 空字符串 , 间隔使用 , 实际作用没想到案例

        • 这种负载类型产生的Payload,其值是一个空字符串。在攻击时,需要同样的请求反复被执行,在没有任何修改原始请求的场景下此Payload是非常有用的。它可用于各种攻击,例如cookie的序列分析、应用层Dos、或保活会话令牌是在其它的间歇试验中使用。

      • characterfrobber 字符 frobber

        • 依次修改指定字符串每个字符位置的值,测试session的有效性
      • .bitflipper bit翻转

        • 对于舍得payload 按照 bit 修改
      • usernamegenerator 用户名生成器'

      • ECB blockshuffler ECB加密块洗牌

        • 测试基于ecb加密模式的 payload
  • target

    • 在开着burp代理访问网站时,会根据访问记录进行收集分析,记录站点地图

    • 作用:

      • 手动收集站点地图

      • 分析攻击面

        • 通过不同权限用户生成的访问地图,来对比发现权限不同的影响
    • options :

      • 设置 包含规则和禁用规则

        • 可以筛选访问记录,从而获得需要的站点地图
      • 比较站点地图

        • 可以使用当前存在的站点地图,或者根据当前地图再次批量请求生成,并对请求参数做设置,从而获得不同情况下的站点地图
  • spider / scaner

    • 作用

      • 爬虫 ,层次挖掘的站点地图扫描

        • 设置多个参数,从而模拟各种情况下爬取结果
      • 简易漏扫

        • 通过 设置审计规则,黑盒判断漏洞
      • 传值可能是在path路径中,如:/a/id/1

  • Sequencer

    • 监测数据随机化质量和令牌是否可预测
  • 工具块

    • decode 解码

    • compare 比较

    • burp顶栏

      • burp collaborator外带通道 | 不是特别实用,但是临时用挺好

        • --collaborator-server,然后在顶栏打开client即可

        • 可设置 用默认的公用服务器,或者自己部署的服务器

      • burp clickbandit 点击劫持生成代码

      • burp infiltrator

        • 能够检测服务端可能存在的一些API

        • LAST交互式应用程序安全检测模式

        • save state,restore state 保存流量,恢复流量

        • 鉴权机制,检测未鉴权的接口

        • 使用方式

          • 从Burp菜单中选择 Burp Infiltrator 选项,选择应用程序类型后保存,在安装和运行Infiltrator之前不要运行应用程序。 将Infiltrator安装程序复制到应用程序的根文件夹中进行赋权并执行,执行交互完成后正常启动应用程序,最终在扫描过程中会触发一些安全报告。
      • search

        • 可以设置模式和部分,对历史数据进行查找
      • Engagement tools

        • find references 获取指定 http 消息的 refre

        • Discover content 对指定消息根据url路径进行目录和文件枚举

        • Schedule task 设置任务调度表,对指定的Url 设置多种任务并按顺序执行

        • Generate CSRF Poc , 根据选定的消息,自动生成csrf的poc内容

      • project options

        • Burp 网络连接设置(Connections)

          • platform authentication 平台身份认证

            • 自动执行到目标Web服务器的平台身份验证
          • upstream proxy server

            • 设置匹配规则,代理信息
          • socks proxy

            • 这些设置允许我们配置Burp使用SOCKS代理的方式进行所有传出的通信,但此设置只在TCP层生效
          • 代理流程

            • 本地 -> upstream proxy server - > socks server
          • timeout 超时设置

        • HTTP应答消息处理设置(HTTP)

        • SSL连接和加密设置(SSL)

        • 会话设置(Sessions)

          • 添加规则,对指定范围内的请求做出特定处理

            • 范围

              • 指定 服务器端口

              • 指定 选项卡

                • proxy , repeater ....
            • 处理

              • Use Cookies From the Session Handling Cookie Jar

                • 通过 cookie.jar 更新指定范围的 请求的 cookie
              • Set a Specific Cookie or Parameter Value

                • 设定请求中特定参数的值,如果没有该参数会添加
              • Check Session Is Valid

                • 检测当前 session 是否有效

                  • 也可以通过设置宏动作来检测session 是否有效
                • n个请求做一次检测(n 可设置) , 如果无效,则可选择地执行下一步的动作以获得新的有效会话。动作过程可设置

              • Prompt For In-Browser Session Recovery

                • 这个配置的动作是针对于会话失效后,从浏览器内部进行会话恢复的 ,

                  • 前提

                    • 需要将关键操作通过 proxy 代理来记录在burp里
              • Run a Macro

                • 宏操作是一系列请求的组合动作

                • 宏操作的设置位置 : session -> macros

              • Run a Post-Request Macro

                • 有些时候操作依靠与上一步场景中的某些值, 比如 csrf token

                • 通过宏操作来自动填充

              • Invoke a Burp Extension

                • 调用插件来对会话做出处理
        • 显示设置(Display)

          • 页面风格

          • Http消息显示主要用来设置其他Burp工具组件中http消息的显示字体、高亮等形式

          • 字符集设置是为了设置http消息显示的字符集

            • 作用 : 防止乱码

            • 默认值 : 系统当前字符集

        • 其它工具设置(Misc)

          • 快捷键

          • 日志设置

          • 临时文件位置

            • burp 工作过程中产生的临时文件
          • 自动备份设置

            • 用于自动保存 burp 当前的工作状态
          • 任务队列

            • 设置任务的周期性运行
          • 性能反馈

插件

  • 来源

    • bapp 模块

    • github PortSwigger

    • github burp collection

    • ...

  • chunk分块传输绕过waf chunk-coding-convert

  • knife,可以自动生成很多常用的payload

  • 带爆破验证码的登陆reCAPTCHA

  • content-type快速类型转换

  • xray,passsive-scan-client

  • web缓存扫描

  • 参数命令注入,可以Bypass disable_function

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n549" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 0px; margin-top: 0px; width: inherit;">find /tmp -iname 1 -or -exec whoami ; -quit

    注意 -exec+cmd+;+ 其中+号存在的地方,必须要有空格,分号要转义一下
    如果只使用
    find /tmp -iname 1 -exec whoami ; -quit ,那么必须查出来文件才会执行cmd,而加上-or就不需要一定要查出文件

    find -exec whoami ; 会有很多返回结果,所有要在分号后面加上“ -quit”这样就只有一条返回了

    tar zxvf 1.tar.gz --to-command=whoami 也是必须要存在tar的正常语法不能报错
    ​</pre>

jpython,插件开发

tip

  • 堆大小设置,插件多了之后,启动变慢,设置启动内存(利用破解版,在后面直接加参数)

    java -Xbootclasspath/p:F:\tools\burpsuite_pro_v1.7.30_sts\burp-loader-keygen.jar -jar F:\tools\burpsuite_pro_v1.7.30_sts\burpsuite_pro_v1.7.37.jar -Xms4096m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=1024M

  • chrome和firefox上的插件自动代理

    chrome-switchsharp

    firefox-switchomage

    • 我暂时没有解决 firefox 的 https 证书设置问题
  • 抓取https需要先导入ca证书

    • 打开burp , 并开启浏览器的代理设置

    • 访问 http://burp , 点 CA Certificate 从而获得证书

    • 从浏览器的设置中导入证书 , chrome 注意 选择 受信任的根证书颁发机构

相关文章

网友评论

      本文标题:burpsuite 工具介绍

      本文链接:https://www.haomeiwen.com/subject/prekictx.html