Skip to content

Commit

Permalink
Merge changes
Browse files Browse the repository at this point in the history
  • Loading branch information
PortSwiggerSupport committed Jan 8, 2024
2 parents 91ea264 + 0383580 commit 2791a5b
Show file tree
Hide file tree
Showing 28 changed files with 1,146 additions and 2,984 deletions.
11 changes: 3 additions & 8 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,10 @@

name: Java CI with Maven

on:
on:
push:
branches: [ master ]
tags:
- 'v*'
pull_request:
branches: [ master ]
tags:
- 'v*'
- '*'

jobs:
build:
Expand Down Expand Up @@ -40,6 +35,6 @@ jobs:
- name: Release
uses: hackvertor/[email protected]
with:
tag: "latest_hackvertor_release"
name: ${{github.ref_name}}
allowUpdates: true
artifacts: "releases/*.jar"
2 changes: 1 addition & 1 deletion BappManifest.bmf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Uuid: 65033cbd2c344fbabe57ac060b5dd100
ExtensionType: 1
Name: Hackvertor
RepoName: hackvertor
ScreenVersion: 1.7.49
ScreenVersion: 1.8.9
SerialVersion: 42
MinPlatformVersion: 0
ProOnly: False
Expand Down
55 changes: 52 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,59 @@
# Hackvertor

Hackvertor is a tag based conversion tool written in Java implemented as a Burp Suite extension. Tags are constructed as follows:
<@base64_0><@/base64_0> the @ symbol is used as an identifier that it's a Hackvertor tag followed by the name of the tag in this case base64, the name is then followed by an underscore and a unique tag number.
<@base64><@/base64> the @ symbol is used as an identifier that it's a Hackvertor tag followed by the name of the tag in this case base64.

Tags also support arguments. The find tag allows you to find a string by regex and has parenthesis after the unique tag number:
<@find_0("\\w")>abc<@/find_0> this indicates it supports arguments. The argument in this case is the regex string to find on the text inbetween the tags. Hackvertor allows you to use two types of arguments either strings (double, single) or numbers (including hex).
Tags also support arguments. The find tag allows you to find a string by regex and has parenthesis after the tag name:
<@find("\\w")>abc<@/find> this indicates it supports arguments. The argument in this case is the regex string to find on the text in-between the tags. Hackvertor allows you to use three types of arguments either strings (double, single), boolean (true, false) or numbers (including hex).

# Changelog

**1.8.10 2024-01-08**

- Added new line and space tags
- Added ean13 tag to the tag store
- Allowed regex replace to use capture groups

**1.8.9 2023-12-22**

- Fixed #79 No contextual menu entries for requests in Proxy History and Sitemap

**1.8.8 2023-12-20**

- Added remove output tag
- Added load from json file
- Added save to json file

**1.8.6 2023-12-20**

- Added line numbers to custom tag editor

**1.8.6 2023-12-19**

- Added full support for JavaScript in custom tags

**1.8.5 2023-12-18**

- Fixed bug where hex default value for custom tag would be quoted

**1.8.4 2023-11-1**

- Continued improvements on create tag window.

**1.8.3 2023-11-1**

- Disabled install button when tag is installed
- Started work on create new tag to make more room

**1.8.2 2023-10-31**
- Fixed editing tags without producing duplicates
- Added export to tag store

**1.8.1 2023-10-30**
- Fixed bug when installing a tag from the tag store with the same name.

**1.8 2023-10-26**
- Implemented tag store. Installable tags from Github.

# Installation

Expand Down
28 changes: 19 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
apply plugin: 'java'
plugins {
id 'java'
id "org.javacc.javacc" version "3.0.2"
}

targetCompatibility = 1.8
sourceCompatibility = 1.8
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_17

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
Expand All @@ -25,25 +28,28 @@ dependencies {
implementation 'bsf:bsf:2.4.0'
implementation 'org.apache-extras.beanshell:bsh:2.0b6'
implementation 'org.codehaus.groovy:groovy-all:3.0.16'
implementation 'com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0'
implementation 'com.github.javafaker:javafaker:1.0.2'
implementation 'com.fifesoft:rsyntaxtextarea:3.3.1'
implementation 'com.fifesoft:rsyntaxtextarea:3.3.4'
implementation 'com.fifesoft:autocomplete:3.3.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
implementation 'org.graalvm.js:js:23.0.2'
implementation 'org.graalvm.js:js-scriptengine:23.1.1'
}

sourceSets {
main {
java {
srcDir 'src'
}
resources {
srcDir 'src'
srcDir compileJavacc.outputDirectory
}
}
}

compileJavacc {
inputDirectory = file('src/main/javacc')
include '**/*.java'
}

jar{
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
archivesBaseName = project.name + '-all'
Expand All @@ -59,4 +65,8 @@ jar{

tasks.withType(Jar) {
destinationDirectory = file("$rootDir/releases/")
}

test {
useJUnitPlatform()
}
37 changes: 1 addition & 36 deletions hackvertor.iml
Original file line number Diff line number Diff line change
@@ -1,43 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
<orderEntry type="library" name="Maven: org.unbescape:unbescape:1.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.portswigger.burp.extender:burp-extender-api:1.7.22" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.60" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.60" level="project" />
<orderEntry type="library" name="Maven: com.auth0:java-jwt:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.6" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.6" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20190722" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
<orderEntry type="library" name="Maven: org.brotli:dec:0.1.2" level="project" />
<orderEntry type="library" name="Maven: org.python:jython-standalone:2.7.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.8.0-M1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.20" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.4.20" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains:annotations:13.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20" level="project" />
</component>
</module>
Loading

0 comments on commit 2791a5b

Please sign in to comment.