修改启动脚本解决从盗版的burpsuite呼出调用sqlmap等系统环境变量配置的工具无法找到的环境变量配置问题
2026/6/15 6:51:57 网站建设 项目流程

2026/6/14

适用此方法的盗版burp类型

如果你的burpsuite是类似于这种,需要用户打开.VBS文件打开的,并且出现上述情况,那么请使用我的方法。

问题阐述

最近在学JS逆向,给burp装了一个叫 galaxy 的插件,对于请求进行解密之后直接跑sqlmap,呼出的cmd窗口里却显示了如下信息,就是sqlmap不存在(我早已经给系统配置过环境变量)。

'chcp' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

E:\BurpSuite V2026.3>sqlmap -r C:\Users\Administrator\.galaxy\tmp\652f3279-8e76-4914-84b2-4513d6613ca8.txt --risk=3 --level=3 --proxy=http://127.0.0.1:8080

'sqlmap' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

分析异常

值得注意的是,我之前编辑了一下我的注册表,每次打开cmd窗口都手动配置一下chcp为65001解决编码问题,而这里在burpsuite呼出窗口之后也必定会执行chcp指令,可是异常出现了,这个cmd窗口居然无法识别chcp!

这很奇怪,因为正常打开的cmd窗口,不可能没有chcp这种特别常用的环境变量,我问了kimi,它指出这个程序的环境上下文的 %PATH%,肯定连 C:\Windows\System32 都没有。

我输入 echo %PATH% 获得输出如下:

C:\>echo %PATH%

E:\BurpSuite V2026.3\\jre\\bin;

kimi指导我分析我执行的 "Burp_CN(无CMD窗口).VBS" 文件,执行之后会启动当前目录下的 "Burp Suite_CN.bat" 脚本文件,用记事本打开这个文件,可以看到:

"

@SET JAVA_HOME=%~dp0\jre\

@SET Path=%JAVA_HOME%\bin;

@echo %JAVA_HOME%

@java --version

@java -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+IgnoreUnrecognizedVMOptions -XX:MaxRAMPercentage=50 -javaagent:BurpKeygenCN.jar=hanzify --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED --add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED -Dfile.encoding=UTF-8 -noverify --enable-native-access=ALL-UNNAMED -jar burpsuite_pro.jar

"

上面可以看见 .bat脚本里有一个对于PATH环境变量的设置,就是这个 设置 导致了这个cmd不能够读取我所配置的其他在环境变量中的工具,甚至连chcp都不知道。

解决方案

在 SET Path=%JAVA_HOME%\bin; 后面追加一个 %Path% ,也就是

SET Path=%JAVA_HOME%\bin;%Path%。

这样就可以引入系统配置的PATH环境了。

提醒

其实脚本之所以配置局限的 环境变量 是为了怕调用一些工具时调用错误,就像是c++的命名空间,python为了解决pip安装包冲突而设立的虚拟环境等,起到隔离的作用,所以对于此软件的PATH也需要小心。

不过就算真的有重名冲突,

SET Path=%JAVA_HOME%\bin;%Path%,

PATH从左向右的查找顺序也应该可以保证其优先调用前者也就是java自己的工具。

完成于2026/6/14

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询