├── Launcher.jpg ├── launcher.jpg ├── loader.jar ├── burp_suite.ico ├── burp_suite.icns ├── flake.nix ├── flake.lock ├── install.sh ├── update.sh ├── install_macos.sh ├── .github └── workflows │ └── burp-pro.yml ├── install.ps1 ├── default.nix └── README.md /Launcher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiv3r/Burpsuite-Professional/HEAD/Launcher.jpg -------------------------------------------------------------------------------- /launcher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiv3r/Burpsuite-Professional/HEAD/launcher.jpg -------------------------------------------------------------------------------- /loader.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiv3r/Burpsuite-Professional/HEAD/loader.jar -------------------------------------------------------------------------------- /burp_suite.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiv3r/Burpsuite-Professional/HEAD/burp_suite.ico -------------------------------------------------------------------------------- /burp_suite.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiv3r/Burpsuite-Professional/HEAD/burp_suite.icns -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A nixos flake for burpsuite pro"; 3 | 4 | inputs = { 5 | nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 6 | }; 7 | 8 | outputs = { 9 | self, 10 | nixpkgs, 11 | }: let 12 | system = "x86_64-linux"; 13 | pkgs = import nixpkgs { 14 | inherit system; 15 | config = { 16 | allowUnfree = true; 17 | }; 18 | }; 19 | in { 20 | packages.${system} = { 21 | burpsuitepro = 22 | pkgs.callPackage ./default.nix { 23 | }; 24 | default = self.packages.${system}.burpsuitepro; 25 | }; 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "nixpkgs": { 4 | "locked": { 5 | "lastModified": 1749285348, 6 | "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", 7 | "owner": "nixos", 8 | "repo": "nixpkgs", 9 | "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", 10 | "type": "github" 11 | }, 12 | "original": { 13 | "owner": "nixos", 14 | "ref": "nixos-unstable", 15 | "repo": "nixpkgs", 16 | "type": "github" 17 | } 18 | }, 19 | "root": { 20 | "inputs": { 21 | "nixpkgs": "nixpkgs" 22 | } 23 | } 24 | }, 25 | "root": "root", 26 | "version": 7 27 | } 28 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Installing Dependencies 4 | echo "Installing Dependencies..." 5 | sudo apt update 6 | sudo apt install git wget openjdk-21-jre -y 7 | 8 | # Cloning 9 | git clone https://github.com/xiv3r/Burpsuite-Professional.git 10 | cd Burpsuite-Professional 11 | 12 | # Download Burpsuite Professional 13 | echo "Downloading Burp Suite Professional Latest..." 14 | version=2025 15 | wget -O burpsuite_pro_v$version.jar https://github.com/xiv3r/Burpsuite-Professional/releases/download/burpsuite-pro/burpsuite_pro_v$version.jar 16 | 17 | # Execute Key Generator 18 | echo "Starting Key loader.jar..." 19 | (java -jar loader.jar) & 20 | 21 | # Execute Burpsuite Professional 22 | echo "Executing Burpsuite Professional..." 23 | echo "java --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 -javaagent:$(pwd)/loader.jar -noverify -jar $(pwd)/burpsuite_pro_v$version.jar &" > burpsuitepro 24 | chmod +x burpsuitepro 25 | cp burpsuitepro /bin/burpsuitepro 26 | (./burpsuitepro) 27 | -------------------------------------------------------------------------------- /update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Remove old files 4 | echo "Removing Old Files..." 5 | sudo rm -f /bin/burpsuitepro 6 | 7 | # Installing Dependencies 8 | echo "Installing Dependencies..." 9 | sudo apt update 10 | sudo apt install git wget openjdk-21-jre -y 11 | 12 | # Cloning 13 | git clone https://github.com/xiv3r/Burpsuite-Professional.git 14 | cd Burpsuite-Professional 15 | 16 | # Download Burpsuite Professional 17 | echo "Downloading Burp Suite Professional Latest..." 18 | version=2025 19 | wget -O burpsuite_pro_v$version.jar https://github.com/xiv3r/Burpsuite-Professional/releases/download/burpsuite-pro/burpsuite_pro_v$version.jar 20 | 21 | # Execute Key Generator 22 | echo "Starting Key loader.jar..." 23 | (java -jar loader.jar) & 24 | 25 | # Execute Burpsuite Professional 26 | echo "Executing Burpsuite Professional..." 27 | echo "java --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 -javaagent:$(pwd)/loader.jar -noverify -jar $(pwd)/burpsuite_pro_v$version.jar &" > burpsuitepro 28 | chmod +x burpsuitepro 29 | cp burpsuitepro /bin/burpsuitepro 30 | (./burpsuitepro) 31 | -------------------------------------------------------------------------------- /install_macos.sh: -------------------------------------------------------------------------------- 1 | git clone https://github.com/xiv3r/Burpsuite-Professional.git 2 | cd Burpsuite-Professional 3 | 4 | 5 | # Download Burpsuite Professional 6 | echo "Downloading Burp Suite Professional Latest..." 7 | version=2025 8 | url="https://portswigger.net/burp/releases/download?product=pro&type=Jar" 9 | curl -L "$url" -o "burpsuite_pro_v$version.jar" 10 | 11 | # Execute Key Generator and Burp Suite Simultaneously 12 | echo "Starting Key loader.jar and Burp Suite Professional..." 13 | (java -jar loader.jar) & 14 | sleep 2 # Brief delay to ensure loader.jar starts first 15 | java --add-opens=java.desktop/javax.swing=ALL-UNNAMED \ 16 | --add-opens=java.base/java.lang=ALL-UNNAMED \ 17 | --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ 18 | --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \ 19 | --add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED \ 20 | -javaagent:loader.jar \ 21 | -noverify \ 22 | -jar burpsuite_pro_v$version.jar & 23 | 24 | 25 | echo "Creating burpsuitepro shortcut..." 26 | cat << 'EOF' > burp 27 | #!/bin/bash 28 | echo "Executing Burp Suite Professional..." 29 | java --add-opens=java.desktop/javax.swing=ALL-UNNAMED \ 30 | --add-opens=java.base/java.lang=ALL-UNNAMED \ 31 | --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ 32 | --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \ 33 | --add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED \ 34 | -javaagent:$(pwd)/loader.jar \ 35 | -noverify \ 36 | -jar $(pwd)/burpsuite_pro_v$version.jar & 37 | EOF 38 | 39 | #app bundle 40 | echo "Creating burpsuitepro app bundle..." 41 | jpackage --name "Burp Suite Professional" \ 42 | --input $(pwd) \ 43 | --main-jar burpsuite_pro_v$version.jar \ 44 | --type app-image \ 45 | --icon $(pwd)/burp_suite.icns \ 46 | --dest ~/Applications/ \ 47 | --java-options "--add-opens=java.desktop/javax.swing=ALL-UNNAMED" \ 48 | --java-options "--add-opens=java.base/java.lang=ALL-UNNAMED" \ 49 | --java-options "--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED" \ 50 | --java-options "--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED" \ 51 | --java-options "--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED" \ 52 | --java-options "-javaagent:$(pwd)/loader.jar" \ 53 | --java-options "-noverify" -------------------------------------------------------------------------------- /.github/workflows/burp-pro.yml: -------------------------------------------------------------------------------- 1 | name: Burpsuite Professional 2 | 3 | on: 4 | workflow_dispatch: 5 | release: 6 | types: [published] 7 | schedule: 8 | - cron: "0 12 * * 0" 9 | 10 | jobs: 11 | download-and-release: 12 | runs-on: ubuntu-24.04-arm 13 | 14 | steps: 15 | - name: Checkout repository 16 | uses: actions/checkout@v4 17 | with: 18 | fetch-depth: 0 19 | 20 | - name: Download files 21 | run: | 22 | sudo apt update 23 | sudo apt install axel -y 24 | mkdir -p downloads 25 | cd downloads 26 | axel -o burpsuite_pro_v2025.jar https://portswigger.net/burp/releases/download?product=pro&type=Jar 27 | 28 | - name: Determine release tag 29 | id: get_tag 30 | run: | 31 | if [ "${{ github.event_name }}" == "release" ]; then 32 | TAG_NAME="${{ github.event.release.tag_name }}" 33 | else 34 | TAG_NAME="burpsuite-pro" 35 | fi 36 | echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT 37 | 38 | - name: Delete existing release assets 39 | uses: actions/github-script@v7 40 | with: 41 | script: | 42 | const { data: releases } = await github.rest.repos.listReleases({ 43 | owner: context.repo.owner, 44 | repo: context.repo.repo 45 | }); 46 | 47 | const targetRelease = releases.find(release => release.tag_name === '${{ steps.get_tag.outputs.tag_name }}'); 48 | 49 | if (targetRelease) { 50 | console.log(`Found release with tag: ${{ steps.get_tag.outputs.tag_name }}`); 51 | console.log(`Release ID: ${targetRelease.id}`); 52 | 53 | const { data: assets } = await github.rest.repos.listReleaseAssets({ 54 | owner: context.repo.owner, 55 | repo: context.repo.repo, 56 | release_id: targetRelease.id 57 | }); 58 | 59 | console.log(`Found ${assets.length} assets to delete`); 60 | 61 | for (const asset of assets) { 62 | console.log(`Deleting asset: ${asset.name} (ID: ${asset.id})`); 63 | await github.rest.repos.deleteReleaseAsset({ 64 | owner: context.repo.owner, 65 | repo: context.repo.repo, 66 | asset_id: asset.id 67 | }); 68 | } 69 | 70 | console.log('All existing assets deleted'); 71 | } else { 72 | console.log(`No release found with tag: ${{ steps.get_tag.outputs.tag_name }}`); 73 | } 74 | env: 75 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 76 | 77 | - name: Upload files to existing release 78 | uses: softprops/action-gh-release@v1 79 | with: 80 | tag_name: ${{ steps.get_tag.outputs.tag_name }} 81 | files: | 82 | downloads/*.* 83 | env: 84 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 85 | -------------------------------------------------------------------------------- /install.ps1: -------------------------------------------------------------------------------- 1 | # Set Wget Progress to Silent, Becuase it slows down Downloading by 50x 2 | echo "Setting Wget Progress to Silent, Becuase it slows down Downloading by 50x`n" 3 | $ProgressPreference = 'SilentlyContinue' 4 | 5 | # Check JDK-21 Availability or Download JDK-21 6 | $jdk21 = Get-WmiObject -Class Win32_Product -filter "Vendor='Oracle Corporation'" |where Caption -clike "Java(TM) SE Development Kit 21*" 7 | if (!($jdk21)){ 8 | echo "`t`tDownloading Java JDK-21 ...." 9 | wget "https://download.oracle.com/java/21/archive/jdk-21_windows-x64_bin.exe" -O jdk-21.exe 10 | echo "`n`t`tJDK-21 Downloaded, lets start the Installation process" 11 | start -wait jdk-21.exe 12 | rm jdk-21.exe 13 | }else{ 14 | echo "Required JDK-21 is Installed" 15 | $jdk21 16 | } 17 | 18 | # Check JRE-8 Availability or Download JRE-8 19 | $jre8 = Get-WmiObject -Class Win32_Product -filter "Vendor='Oracle Corporation'" |where Caption -clike "Java 8 Update *" 20 | if (!($jre8)){ 21 | echo "`n`t`tDownloading Java JRE ...." 22 | wget "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=247947_0ae14417abb444ebb02b9815e2103550" -O jre-8.exe 23 | echo "`n`t`tJRE-8 Downloaded, lets start the Installation process" 24 | start -wait jre-8.exe 25 | rm jre-8.exe 26 | }else{ 27 | echo "`n`nRequired JRE-8 is Installed`n" 28 | $jre8 29 | } 30 | 31 | # Download Burpsuite Professional 32 | Write-Host "Downloading Burp Suite Professional Latest..." 33 | $version = "2025" 34 | # Invoke-WebRequest -Uri "https://portswigger.net/burp/releases/download?product=pro&version=$version&type=Jar" ` 35 | # -OutFile "burpsuite_pro_v$version.jar" 36 | Invoke-WebRequest -Uri "https://portswigger.net/burp/releases/download?product=pro&type=Jar" ` 37 | -OutFile "burpsuite_pro_v$version.jar" 38 | 39 | # Creating Burp.bat file with command for execution 40 | if (Test-Path burp.bat) {rm burp.bat} 41 | $path = "java --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 -javaagent:`"$pwd\loader.jar`" -noverify -jar `"$pwd\burpsuite_pro_v$version.jar`"" 42 | $path | add-content -path Burp.bat 43 | echo "`nBurp.bat file is created" 44 | 45 | 46 | # Creating Burp-Suite-Pro.vbs File for background execution 47 | if (Test-Path Burp-Suite-Pro.vbs) { 48 | Remove-Item Burp-Suite-Pro.vbs} 49 | echo "Set WshShell = CreateObject(`"WScript.Shell`")" > Burp-Suite-Pro.vbs 50 | add-content Burp-Suite-Pro.vbs "WshShell.Run chr(34) & `"$pwd\Burp.bat`" & Chr(34), 0" 51 | add-content Burp-Suite-Pro.vbs "Set WshShell = Nothing" 52 | echo "`nBurp-Suite-Pro.vbs file is created." 53 | 54 | # Download loader if it not exists 55 | if (!(Test-Path loader.jar)){ 56 | echo "`nDownloading Loader ...." 57 | Invoke-WebRequest -Uri "https://github.com/xiv3r/Burpsuite-Professional/raw/refs/heads/main/loader.jar" -OutFile loader.jar 58 | echo "`nLoader is Downloaded" 59 | }else{ 60 | echo "`nLoader is already Downloaded" 61 | } 62 | 63 | # Lets Activate Burp Suite Professional with keygenerator and Keyloader 64 | echo "Reloading Environment Variables ...." 65 | $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") 66 | echo "`n`nStarting Keygenerator ...." 67 | start-process java.exe -argumentlist "-jar loader.jar" 68 | echo "`n`nStarting Burp Suite Professional" 69 | java --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 -javaagent:"loader.jar" -noverify -jar "burpsuite_pro_v$version.jar" 70 | -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | buildFHSEnv, 5 | fetchurl, 6 | jdk, 7 | makeDesktopItem, 8 | unzip, 9 | }: let 10 | version = "2025.1.1"; 11 | 12 | productName = "pro"; 13 | productDesktop = "BurpSuite Professional"; 14 | burpHash = "sha256-17COQ9deYkzmaXBbg1arD3BQY7l3WZ9FakLXzTxgmr8="; 15 | 16 | burpSrc = fetchurl { 17 | name = "burpsuite.jar"; 18 | urls = [ 19 | "https://portswigger.net/burp/releases/download?product=${productName}&version=${version}&type=Jar" 20 | "https://web.archive.org/web/https://portswigger.net/burp/releases/download?product=${productName}&version=${version}&type=Jar" 21 | ]; 22 | hash = burpHash; 23 | }; 24 | 25 | loaderSrc = ./.; 26 | 27 | pname = "burpsuitepro"; 28 | 29 | description = "An integrated platform for performing security testing of web applications"; 30 | desktopItem = makeDesktopItem { 31 | name = "burpsuitepro"; 32 | exec = pname; 33 | icon = pname; 34 | desktopName = productDesktop; 35 | comment = description; 36 | categories = [ 37 | "Development" 38 | "Security" 39 | "System" 40 | ]; 41 | }; 42 | in 43 | buildFHSEnv { 44 | inherit pname version; 45 | 46 | runScript = "${jdk}/bin/java --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 -javaagent:${loaderSrc}/loader.jar -noverify -jar ${burpSrc} &"; 47 | 48 | targetPkgs = pkgs: 49 | with pkgs; [ 50 | alsa-lib 51 | at-spi2-core 52 | cairo 53 | cups 54 | dbus 55 | expat 56 | glib 57 | gtk3 58 | gtk3-x11 59 | jython 60 | libcanberra-gtk3 61 | libdrm 62 | udev 63 | libxkbcommon 64 | libgbm 65 | nspr 66 | nss 67 | pango 68 | xorg.libX11 69 | xorg.libxcb 70 | xorg.libXcomposite 71 | xorg.libXdamage 72 | xorg.libXext 73 | xorg.libXfixes 74 | xorg.libXrandr 75 | ]; 76 | 77 | extraInstallCommands = '' 78 | mkdir -p $out/share/pixmaps 79 | mkdir -p $out/share 80 | 81 | ${lib.getBin unzip}/bin/unzip -p ${burpSrc} resources/Media/icon64${productName}.png > $out/share/pixmaps/burpsuitepro.png 82 | 83 | cp ${burpSrc} $out/share/burpsuite_pro_v${version}.jar 84 | cp ${loaderSrc}/loader.jar $out/share/loader.jar 85 | 86 | # Create loader executable 87 | mkdir -p $out/bin 88 | echo "#!${pkgs.bash}/bin/bash" > $out/bin/loader 89 | echo "\"${jdk}/bin/java\" -jar \"$out/share/loader.jar\" \"\$@\"" >> $out/bin/loader 90 | chmod +x $out/bin/loader 91 | 92 | cp -r ${desktopItem}/share/applications $out/share 93 | ''; 94 | 95 | meta = with lib; { 96 | inherit description; 97 | longDescription = '' 98 | Burp Suite is an integrated platform for performing security testing of web applications. 99 | Its various tools work seamlessly together to support the entire testing process, from 100 | initial mapping and analysis of an application's attack surface, through to finding and 101 | exploiting security vulnerabilities. 102 | ''; 103 | homepage = "https://github.com/sammhansen/Burpsuite-Professional.git"; 104 | changelog = 105 | "https://portswigger.net/burp/releases/professional-community-" 106 | + replaceStrings ["."] ["-"] version; 107 | sourceProvenance = with sourceTypes; [binaryBytecode]; 108 | license = licenses.unfree; 109 | platforms = jdk.meta.platforms; 110 | hydraPlatforms = []; 111 | maintainers = with maintainers; [ 112 | bennofs 113 | fab 114 | ]; 115 | mainProgram = "burpsuite"; 116 | }; 117 | } 118 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |  2 | 3 |
Burp Suite Professional is the web security tester's toolkit of choice. Use it to automate repetitive testing tasks - then dig deeper with its expert-designed manual and semi-automated security testing tools. Burp Suite Professional can help you to test for OWASP Top 10 vulnerabilities - as well as the very latest hacking techniques. Advanced manual and automated features empower users to find lurking vulnerabilities more quickly. Burp Suite is designed and used by the industry's best.
9 | 10 |
57 |
137 |