Skip to content

Commit 1d76a32

Browse files
authored
Merge pull request #8 from emanuelduss/master
Use new Hackvertor tag format
2 parents b0203ea + 2610e1a commit 1d76a32

File tree

11 files changed

+19
-19
lines changed

11 files changed

+19
-19
lines changed

src/main/kotlin/burpwrappers/ExtensionHelpersAdvanced.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ class ExtensionHelpersAdvanced(val helper: IExtensionHelpers) : IExtensionHelper
4646
val urlPath = splitted[1]
4747
req = BurpExtender.h.stringToBytes("GET /$urlPath HTTP/1.1\r\n" +
4848
"Host: $host\r\n" +
49-
"Extension: $extensionName testing if Hackvertor works<@d_url>%0D%0A%0D%0A<@/d_url>")
49+
"Extension: $extensionName testing if Hackvertor works<@d_url>%0D%0A%0D%0A</@d_url>")
5050
workingReq = BurpExtender.h.stringToBytes("GET /$urlPath HTTP/1.1\r\n" +
5151
"Host: $host\r\n" +
5252
"Extension: $extensionName testing if Hackvertor works\r\n\r\n")
5353
}else{
5454
req = BurpExtender.h.stringToBytes("GET / HTTP/1.1\r\n" +
5555
"Host: $host\r\n" +
56-
"Extension: $extensionName testing if Hackvertor works<@d_url>%0D%0A%0D%0A<@/d_url>")
56+
"Extension: $extensionName testing if Hackvertor works<@d_url>%0D%0A%0D%0A</@d_url>")
5757
workingReq = BurpExtender.h.stringToBytes("GET / HTTP/1.1\r\n" +
5858
"Host: $host\r\n" +
5959
"Extension: $extensionName testing if Hackvertor works\r\n\r\n")
@@ -64,7 +64,7 @@ class ExtensionHelpersAdvanced(val helper: IExtensionHelpers) : IExtensionHelper
6464
host = "example.org"
6565
req = BurpExtender.h.stringToBytes(
6666
"GET / HTTP/1.1\r\n" +
67-
"Host: <@d_url><@urlencode_all>example.org<@/urlencode_all><@/d_url>\r\n" +
67+
"Host: <@d_url><@urlencode_all>example.org</@urlencode_all></@d_url>\r\n" +
6868
"\r\n")
6969
workingReq = BurpExtender.h.stringToBytes(
7070
"GET / HTTP/1.1\r\n" +

src/main/kotlin/burpwrappers/builders/UrlPathBuilder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ class UrlPathBuilder(private val relativeUrl: String){
1414
cleaned = splitAndDivide(cleaned, "?")
1515
cleaned = splitAndDivide(cleaned, "#")
1616
cleaned = splitAndDivide(cleaned, ";")
17-
cleaned = cleaned.replace("<@/", randomReplacerForEndHackvertor + "1")
17+
cleaned = cleaned.replace("</@", randomReplacerForEndHackvertor + "1")
1818
cleaned = cleaned.replace("/>", randomReplacerForEndHackvertor + "2")
1919
val splitted = cleaned.split("/").drop(1)
20-
return splitted.map{ it.replace(randomReplacerForEndHackvertor + "2", "/>").replace(randomReplacerForEndHackvertor + "1", "<@/")}
20+
return splitted.map{ it.replace(randomReplacerForEndHackvertor + "2", "/>").replace(randomReplacerForEndHackvertor + "1", "</@")}
2121
}
2222

2323
private fun splitAndDivide(input: String, delimiter: String): String{

src/main/kotlin/fixer/AlphabeticValue.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class AlphabeticValue(override val entry: LogEntry): Fixer(entry) {
1111

1212
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1313
val lengthValue = parameter.value.length
14-
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@random($lengthValue)>${parameter.value}<@/random><@/set_variable${entry.hackvertorVariable}>"
14+
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@random($lengthValue)>${parameter.value}</@random></@set_variable${entry.hackvertorVariable}>"
1515
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
1616
entry.hackvertorVariable += 1
1717
return listOf(valueFirstOccurrence, valueLaterOccurrence)

src/main/kotlin/fixer/BirthdateValue.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class BirthdateValue(override val entry: LogEntry): Fixer(entry) {
1212

1313
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1414
val startYear = Calendar.getInstance().get(Calendar.YEAR) - 122
15-
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@arithmetic($startYear,'+',',')><@random_num(2)/><@/arithmetic>-0<@random_num(1)/>-0<@random_num(1)/><@/set_variable${entry.hackvertorVariable}>"
15+
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@arithmetic($startYear,'+',',')><@random_num(2)/></@arithmetic>-0<@random_num(1)/>-0<@random_num(1)/></@set_variable${entry.hackvertorVariable}>"
1616
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
1717
entry.hackvertorVariable += 1
1818
return listOf(valueFirstOccurrence, valueLaterOccurrence)

src/main/kotlin/fixer/BooleanValue.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class BooleanValue(override val entry: LogEntry): Fixer(entry) {
2121
"0" -> "1"
2222
else -> parameter.value
2323
}
24-
val newValue = "<@set_variable${entry.hackvertorVariable}('false')>$value<@/set_variable${entry.hackvertorVariable}>"
24+
val newValue = "<@set_variable${entry.hackvertorVariable}('false')>$value</@set_variable${entry.hackvertorVariable}>"
2525
entry.hackvertorVariable += 1
2626
return listOf(newValue)
2727
}

src/main/kotlin/fixer/CharsetValue.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class CharsetValue(override val entry: LogEntry): Fixer(entry) {
1111

1212
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1313
val lengthValue = parameter.value.length
14-
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@random($lengthValue)>${parameter.value}<@/random><@/set_variable${entry.hackvertorVariable}>"
14+
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')><@random($lengthValue)>${parameter.value}</@random></@set_variable${entry.hackvertorVariable}>"
1515
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
1616
entry.hackvertorVariable += 1
1717
return listOf(valueFirstOccurrence, valueLaterOccurrence)

src/main/kotlin/fixer/DoubleValue.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class DoubleValue(override val entry: LogEntry): Fixer(entry) {
1717
}
1818
val (beforeLength, afterLength) = lengths
1919
val sign = if("-" in parameter.value) "-" else ""
20-
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')>$sign<@random_num(${beforeLength})/>.<@random_num(${afterLength})/><@/set_variable${entry.hackvertorVariable}>"
20+
val valueFirstOccurrence = "<@set_variable${entry.hackvertorVariable}('false')>$sign<@random_num(${beforeLength})/>.<@random_num(${afterLength})/></@set_variable${entry.hackvertorVariable}>"
2121
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
2222
entry.hackvertorVariable += 1
2323
return listOf(valueFirstOccurrence, valueLaterOccurrence)

src/main/kotlin/fixer/EmailValue.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ class EmailValue(override val entry: LogEntry): Fixer(entry) {
1313
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1414
val valueFirstOccurrence: String = if(BurpExtender.ui.settings.catchAllEmail.isNotEmpty() &&
1515
parameter.value.matches(Regex(fullMatchRegexDomain(BurpExtender.ui.settings.catchAllEmail)))){
16-
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/><@/set_variable${entry.hackvertorVariable}>@${BurpExtender.ui.settings.catchAllEmail}"
16+
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/></@set_variable${entry.hackvertorVariable}>@${BurpExtender.ui.settings.catchAllEmail}"
1717
}else{
1818
val colab = BurpExtender.c.createBurpCollaboratorClientContext()?.collaboratorServerLocation
1919
if(colab != null && parameter.value.matches(Regex(fullMatchRegexDomain(colab))))
20-
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/><@/set_variable${entry.hackvertorVariable}>@$colab"
20+
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/></@set_variable${entry.hackvertorVariable}>@$colab"
2121
else
22-
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/><@/set_variable${entry.hackvertorVariable}>@$colab"
22+
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(12)/></@set_variable${entry.hackvertorVariable}>@$colab"
2323
}
2424
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
2525
entry.hackvertorVariable += 1

src/main/kotlin/fixer/NumericValue.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ class NumericValue(override val entry: LogEntry): Fixer(entry) {
1212
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1313
val lengthValue = parameter.value.length
1414
val valueFirstOccurrence = if(lengthValue > 1)
15-
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic(${parameter.value},'+',',')><@random_num(${lengthValue - 1})/><@/arithmetic><@/set_variable${entry.hackvertorVariable}>"
15+
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic(${parameter.value},'+',',')><@random_num(${lengthValue - 1})/></@arithmetic></@set_variable${entry.hackvertorVariable}>"
1616
else
17-
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(2)/><@/set_variable${entry.hackvertorVariable}>"
17+
"<@set_variable${entry.hackvertorVariable}('false')><@random_num(2)/></@set_variable${entry.hackvertorVariable}>"
1818
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
1919
entry.hackvertorVariable += 1
2020
return listOf(valueFirstOccurrence, valueLaterOccurrence)

src/main/kotlin/fixer/UnixTimestampMillisecondsValue.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ open class UnixTimestampMillisecondsValue(override val entry: LogEntry): Fixer(e
1414
override fun createReplacement(parameter: ParameterAdvanced): List<String> {
1515
val offset = storedOffsets[parameter.uniqueIdentifier()]
1616
val valueFirstOccurrence = if(offset == null) {
17-
"<@set_variable${entry.hackvertorVariable}('false')><@timestamp/><@/set_variable${entry.hackvertorVariable}>"
17+
"<@set_variable${entry.hackvertorVariable}('false')><@timestamp/></@set_variable${entry.hackvertorVariable}>"
1818
}else if(offset > 0.toLong()) {
19-
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic($offset,'+',',')><@timestamp/><@/arithmetic><@/set_variable${entry.hackvertorVariable}>"
19+
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic($offset,'+',',')><@timestamp/></@arithmetic></@set_variable${entry.hackvertorVariable}>"
2020
}else{
21-
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic(${offset.absoluteValue},'-',',')><@timestamp/><@/arithmetic><@/set_variable${entry.hackvertorVariable}>"
21+
"<@set_variable${entry.hackvertorVariable}('false')><@arithmetic(${offset.absoluteValue},'-',',')><@timestamp/></@arithmetic></@set_variable${entry.hackvertorVariable}>"
2222
}
2323
val valueLaterOccurrence = "<@get_variable${entry.hackvertorVariable} />"
2424
entry.hackvertorVariable += 1

0 commit comments

Comments
 (0)