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中输入多个文件,具体如下:
相关推荐
Hongyu62 小时前
移动平板电脑安全管控方案
安全·电脑·移动安全·mdm·终端安全管理·emm
武汉唯众智创9 小时前
职业院校网络安全攻防对抗实训室解决方案
网络·安全·web安全·网络安全·攻防对抗·网络安全攻防对抗实训室·网络安全攻防对抗
qq_3129201110 小时前
主机安全---开源wazuh使用
安全
原点安全12 小时前
原点安全签约金网络数科,共建一体化数据安全防护体系
网络·安全
key0612 小时前
OWASP Top 10 攻击场景实战
网络·安全
Amy1870211182313 小时前
逆功率检测设备防逆流解决方案守护电网安全
安全
rockmelodies13 小时前
【JAVA安全】Java 集合体系详解
java·python·安全·集合
浮江雾14 小时前
XXE漏洞1-XXE 漏洞简介-XML 语法-DTD 讲解-外部实体讲解
xml·安全·web安全·漏洞·xxe
2301_7807896616 小时前
网络劫持对用户隐私安全有何影响?
网络·安全·php
galaxylove16 小时前
Gartner发布2025年中国网络安全成熟度曲线:网络安全的重点正转向保护AI、推动业务转型和增强组织韧性
人工智能·安全·web安全