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中输入多个文件,具体如下:
相关推荐
博睿谷IT99_3 分钟前
网络安全怎么入门?快速了解
安全·web安全
学习溢出1 小时前
【网络安全】网络钓鱼的类型
网络·安全·网络安全·网络钓鱼·社会工程
fmingzh2 小时前
NVIDIA高级辅助驾驶安全与技术读后感
人工智能·安全·自动驾驶
Blossom.1183 小时前
量子网络:构建未来通信的超高速“高速公路”
网络·opencv·算法·安全·机器学习·密码学·量子计算
落——枫3 小时前
网络安全知识点3
安全·web安全
柴郡猫^O^4 小时前
OSCP - Proving Grounds - Wpwn
安全·网络安全·安全性测试
安全系统学习4 小时前
网络安全之红队LLM的大模型自动化越狱
运维·人工智能·安全·web安全·机器学习·php
JohnYan7 小时前
工作笔记 - ASN.1密钥结构和编码研究
javascript·后端·安全
G扇子8 小时前
深入解析XSS攻击:从原理到防御的全方位指南
前端·安全