前言
本文视频版在B站:https://www.bilibili.com/video/BV1aq4y1X7oE?p=2
Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用,也使得渗透测试工作变得轻松和高效。
Burp Suite是由Java语言编写而成,而Java自身的跨平台性,使得软件的学习和使用更加方便。Burp Suite不像其他的自动化测试工具,它需要你手工的去配置一些参数,触发一些自动化流程,然后它才会开始工作。
Burp Suite可执行程序是java文件类型的jar文件,免费版的可以从免费版下载地址进行下载。免费版的Burp Suite会有许多限制,很多的高级工具无法使用,如果您想使用更多的高级功能,需要付费购买专业版。专业版与免费版的主要区别有
Burp Scanner
工作空间的保存和恢复
拓展工具,如Target Analyzer, Content Discovery和 Task Scheduler
本章主要讲述Burp Suite的基本配置,包含如下内容:
如何从命令行启动Burp Suite
如何设置JVM内存 大小
IPv6问题调试
环境配置
jdk-11 http://jdk.java.net/archive/
下载解压到自己想要的目录后,把bin目录作为路径添加到系统环境变量。
达到效果如下
Burpsuite程序下载
记得选择jar文件。
如何启动Burpsuite
如果Java可运行环境配置正确的话,当你双击burpsuite_pro_v2021.7.jar即可启动软件,这时,Burp Suite自己会自动分配最大的可用内存,具体实际分配了多少内存,默认一般为64M。当我们在渗透测试过程,如果有成千上万个请求通过Burp Suite,这时就可能会导致Burp Suite因内存不足而崩溃,从而会丢失渗透测试过程中的相关数据,这是我们不希望看到的。因此,当我们启动Burp Suite时,通常会指定它使用的内存大小。 一般来说,我们通常会分配2G的内存供Burp Suite使用,如果你的电脑内存足够,可以分配4G;如果你的电脑内存足够小,你也可以分配128M。当你给Burp Suite分配足够多的内存时,它能做的工作也会更多。指定Burp Suite占用内存大小的具体配置方法是在启动脚本里添加如下命令行参数: 假设启动脚本的名称为burp_suite_start.bat,则该bat脚本的内容为
java -jar -Xmx2048M /your_burpsuite_path/burpsuite.jar
其中参数-Xmx指定JVM可用的最大内存,单位可以是M,也可以是G,如果是G为单位的话,则脚本内容为:
java -jar -Xmx2G /your_burpsuite_path/burpsuite.jar
更多关于JVM性能调优的知识请阅读 Oracle JVM Tuning
但实际上我们一般不用这个。
第二种启动方法
这是一般的启动方法
把命令保存为文件,名字是:cmd.bat
java -jar burpsuite_pro_v2021.7.jar
双击即可启动
第三种启动方法-无界面
把一下保存为cmb.vbs
DIM objShell
DIM command
set objShell=wscript.createObject("wscript.shell")
command="java -jar burpsuite_pro_v2021.7.jar"
iReturn=objShell.Run(command, 0, TRUE)
第四种启动方法-更加帅气
using System;
using System.Diagnostics;
using System.IO;
//csc.exe /target:winexe /out:c:\users\dark5\desktop\Bp.exe /win32icon:C:\Users\dArk5\Pictures\IconGroup1001.ico C:\Users\dArk5\Desktop\1.cs
//https://images-dark5.oss-cn-hongkong.aliyuncs.com/archives/bp.ico
namespace burpsuite_pro_v2021._7
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
string startbp_seconde = "java -javaagent:BurpLoaderKeygen.jar -noverify -jar burpsuite_pro_v2021.7.jar";
if (File.Exists("config.cfg"))
{
Exec(startbp_seconde);
}
else
{
string first = "java -jar BurpLoaderKeygen.jar";
Exec(first);
}
}
static void Exec(string cmd)
{
Process p = new Process();
//设置要启动的应用程序
p.StartInfo.FileName = "cmd.exe";
//是否使用操作系统shell启动
p.StartInfo.UseShellExecute = false;
// 接受来自调用程序的输入信息
p.StartInfo.RedirectStandardInput = true;
//输出信息
p.StartInfo.RedirectStandardOutput = true;
// 输出错误
p.StartInfo.RedirectStandardError = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
//启动程序
p.Start();
//向cmd窗口发送输入信息
p.StandardInput.WriteLine(cmd+ "&exit");
p.StandardInput.AutoFlush = true;
//获取输出信息
string strOuput = p.StandardOutput.ReadToEnd();
//等待程序执行完退出进程
//p.WaitForExit();
p.Close();
}
}
}
burpsuite破解启动
正常启动是有限制的,国内已有大神做出注册机。
激活文件(注册机):
https://github.com/h3110w0r1d-y/BurpLoaderKeygen/releases
所以,以后每次启动就是通过注册机来启动,即命令改成:
java -javaagent:BurpLoaderKeygen.jar -noverify -jar burpsuite_pro_v2021.7.jar
则,以上的启动方法种的命令也全部改成这个。
IPv6问题调试
Burp Suite是不支持IPv6地址进行数据通信的,这时在cmd控制台里就会抛出如下异常
java.net.SocketException: Permission denied
同时,浏览器访问时,也会出现异常
Burp proxy error: Permission denied: connect
当出现如上问题时,我们需要修改启动脚本,添加对IPv4的指定后,重启Burp Suite即可。
java -jar -Xmx2048M -Djava.net.preferIPv4Stack=true /your_burpsuite_path/burpsuite.jar
通过 -Djava.net.preferIPv4Stack=true参数的设置,告诉Java运行环境,使用IPv4协议栈进行数据通信,IPv6协议将会被禁止使用。 这个错误最常见于64位的windows操作系统上,使用了32位的JDK