Burp Suite-使用本地文件作为响应内容

Burp Suite-使用本地文件作为响应内容

很多抓包文件都有使用本地文件作为响应内容的功能,如fiddler的AutoResponser,而Buip Suite却没有,这个功能对在开发js的逆向的时候,有很大的用处,很多js都是有压缩与混淆的,很难直接在浏览器中阅读,如果做了修改又很难进行保存,所以,有此功能,我们就可以在我们熟悉的idea工具中进行阅读与开发,每次修改完,马上还能验证效果,逆向的效率直线提升。

burp suite原生没有带换个功能,但是有这个功能的插件:http mock,下面我们就来介绍这个http mock。

安装

在buip suitede的BApp市场,Extender->BApp Store->输入http mock进行搜索,然后点击下面的install,既开始安装

BApp插件安装的目录一般都在下面部分:

C:\Users\系统用户\AppData\Roaming\BurpSuite\bapps

在Extensions的Details页面下,既能看到对应的jar包

使用

代开设置了burp suite代理的浏览器,并访问你们逆向的地址,在proxy->HTTP history页面下,会有对应的访问历史,选择你的地址,并选择Mock HTTP response(URL wihtout query),然后就可以进入到http mock的修改respone页面

这边主要介绍两个选项Basic与File Contents

  • Basic:直接在Response Editor中修改返回的内容,并保存后,刷新页面返回的内容即使我们修改后的内容,简单的逆向绕过使用这个方法即可,如果是很复杂的功能,在response editor中修改肯定没有我们的idea中方便,在idea中修改完又要复制过来,操作步骤就很繁琐了;

  • File Contents:支持外部的文件作为response返回,在使用中,需要把response editor的内容清空,然后在导入对应的文件,切记,response ediotr仅保存一个文件的路径;

功能扩展

由于response回来的内容有响应头与js文件,如果都在以为文件里面在idea中会报错的,所以我们需要吧响应的内容分成两个文件,一个是响应头,一个是js文件,但是http-mock插件并不支持,所以,只能我们自己扩展了。

  • 首先我们需要下载对应的源码

插件的官网

github.com/PortSwigger...,如果要下面对应的代码执行下面的代码,下载的比较快

bash 复制代码
git clone https://github.moeyy.xyz/https://github.com/PortSwigger/http-mock.git
  • 另外我们需要熟悉java的开发环境,这边主要使用maven进行打包管理

  • 修改代码内容,主要修改的类net.logicaltrust.model.MockEntryTypeEnum

    ini 复制代码
            @Override
            public byte[] generateResponse(byte[] entryInput, byte[] incomingRequest, IHttpService incomingHttpService) {
                IExtensionHelpers helpers = BurpExtender.getCallbacks().getHelpers();
                String inputStr = helpers.bytesToString(entryInput);
                //如果是多行
                String[] split = inputStr.split("\n");
                BurpExtender.getLogger().debugForce("line num:" + split.length);
                return mergeFilesToByteArray(split);
            }
    ​
            public byte[] mergeFilesToByteArray(String[] filePaths) {
                List<byte[]> filesContent = new ArrayList<>();
                for (String filePath : filePaths) {
                    try {
                        if(filePath!=null&&!filePath.isEmpty()){
                            filePath = filePath.trim();
                            BurpExtender.getLogger().debugForce("filePath:" + filePath);
                            Matcher matcher = quoteParser.matcher(filePath);
                            if (matcher.matches()) {
                                String path = matcher.group(2);
                                BurpExtender.getLogger().debugForce("path:" + path);
                                filesContent.add(Files.readAllBytes(Paths.get(path)));
                            }
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                        // 处理异常,例如返回null或抛出新的异常
                        return null; // 或者抛出异常,例如 throw new RuntimeException("Error reading file: " + filePath, e);
                    }
                }
    ​
                // 合并所有字节数组
                int totalLength = 0;
                for (byte[] bytes : filesContent) {
                    totalLength += bytes.length;
                }
    ​
                byte[] mergedArray = new byte[totalLength];
                int currentIndex = 0;
                for (byte[] bytes : filesContent) {
                    System.arraycopy(bytes, 0, mergedArray, currentIndex, bytes.length);
                    currentIndex += bytes.length;
                }
    ​
                return mergedArray;
            }
  • 修改完后,使用maven进行打包:

    复制代码
    mvn clean install -f pom.xml
  • 打包的路径下,BurpHttpMock-1.1.7-jar-with-dependencies.jar就是我们需要替换的文件
  • 在安装章节中有描述插件的具体路径,我们把他替换掉

  • 加载我们的包,到Extender->Exentions页面,去掉Extension loader即卸载,然后再打上勾,重新加载,即使用上我们的jar包了

  • 然后可以在response editor中输入多个文件,具体如下:
相关推荐
烷烯3 小时前
安全基础DAY1-安全概述
linux·服务器·安全·常见网路攻击
清 晨9 小时前
Web3.0引领互联网未来,助力安全防护升级
安全·web3·互联网·facebook·tiktok·instagram·clonbrowser
Jooolin9 小时前
【Linux】Linux 的权限:你必须掌握的文件安全基础
linux·安全·ai编程
Bruce_Liuxiaowei10 小时前
.htaccess 文件上传漏洞绕过总结
windows·安全·网络安全·php·apache
cver12311 小时前
建筑物实例分割数据集-9,700 张图片 城市规划与发展 灾害评估与应急响应 房地产市场分析 智慧城市管理 地理信息系统(GIS) 环境影响评估
人工智能·安全·目标检测·机器学习·计算机视觉·目标跟踪·智慧城市
潘多编程12 小时前
Spring Boot + Angular 实现安全登录注册系统:全栈开发指南
spring boot·安全·angular.js
WSSWWWSSW12 小时前
大语言模型提示工程与应用:大语言模型对抗性提示安全防御指南
网络·安全·语言模型
Teamhelper_AR18 小时前
AR眼镜:能源行业设备维护的“安全守护者”
安全·ar
德迅云安全-小潘1 天前
网络安全风险评估:企业安全防护的核心基石
安全·web安全·php
国科安芯1 天前
质子试验:守护芯片安全的关键防线
嵌入式硬件·安全·fpga开发·性能优化·硬件架构