diff --git a/BappDescription.html b/BappDescription.html new file mode 100644 index 0000000..8f1f997 --- /dev/null +++ b/BappDescription.html @@ -0,0 +1,17 @@ +

This extension adds a new tab to Burp's UI, for taking notes and organizing external files that are created during penetration +testing. You can create text documents and spreadsheets directly within Burp, +and send HTTP requests and responses directly to new or existing files.

+

Within the Notes tab, you can:

+ + +

From anywhere within Burp, you can use the context menu to send selected +items directly to the Notes tab, +to either a new or existing document.

diff --git a/BappManifest.bmf b/BappManifest.bmf new file mode 100644 index 0000000..3523b03 --- /dev/null +++ b/BappManifest.bmf @@ -0,0 +1,12 @@ +Uuid: b150353ea3d54f61bdc482a4a8470356 +ExtensionType: 1 +Name: Notes +RepoName: notes +ScreenVersion: 1.0 +SerialVersion: 1 +MinPlatformVersion: 0 +ProOnly: False +Author: Austin Lane +ShortDescription: Lets you take notes and manage external documents from within Burp. +EntryPoint: build/jar/BurpNotesExtension.jar +BuildCommand: rm -rf build/classes/* build/jar/* && ant jar diff --git a/build/jar/BurpNotesExtension.jar b/build/jar/BurpNotesExtension.jar index 91d8e35..f7e2ce4 100644 Binary files a/build/jar/BurpNotesExtension.jar and b/build/jar/BurpNotesExtension.jar differ diff --git a/src/com/trustwave/burp/NotesExtensionOperations.java b/src/com/trustwave/burp/NotesExtensionOperations.java index 783bd27..8e6ef09 100644 --- a/src/com/trustwave/burp/NotesExtensionOperations.java +++ b/src/com/trustwave/burp/NotesExtensionOperations.java @@ -20,7 +20,11 @@ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.FileInputStream; import java.io.PrintWriter; +import java.io.OutputStreamWriter; +import java.io.FileOutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -138,12 +142,12 @@ public void SaveNotes(){ //callbacks.saveExtensionSettings(FILE_SAVE_SETTING, currentNotesFile.getPath()); //Update save location in extension settings try{ //Create our various Writers - FileWriter fw = new FileWriter(f); - CSVWriter writer = new CSVWriter(fw); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + CSVWriter writer = new CSVWriter(bw); //Write out to file and close writer.writeAll(data); writer.close(); - fw.close(); + bw.close(); } catch(IOException exc){ errout.println(exc.getMessage()); } @@ -164,7 +168,7 @@ public void LoadNotes(){ currentNotesFile = file; //Remember the file just opened for saving later ArrayList spreadData = new ArrayList(); if(file.exists() && file.isFile() && file.canRead()){ - CSVReader reader = new CSVReader(new FileReader(file)); + CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); String[] nextLine; while((nextLine = reader.readNext()) != null){ spreadData.add(nextLine); @@ -456,8 +460,7 @@ public void promptUseTemplate(int templateType){ if((file = GetFileFromDialog(false, "TEMPLATE.txt")) != null){ textTemplateFile = ""; if(file.exists() && file.isFile() && file.canRead()){ - FileReader input = new FileReader(file); - BufferedReader br = new BufferedReader(input); + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8")); String strLine; //Read File Line By Line while ((strLine = br.readLine()) != null) { @@ -472,7 +475,7 @@ public void promptUseTemplate(int templateType){ if((file = GetFileFromDialog(false, "TEMPLATE.csv")) != null){ spreadsheetTemplateFile = new ArrayList(); if(file.exists() && file.isFile() && file.canRead()){ - CSVReader reader = new CSVReader(new FileReader(file)); + CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); String[] nextLine; while((nextLine = reader.readNext()) != null){ spreadsheetTemplateFile.add(nextLine); @@ -540,12 +543,11 @@ public void ExportTextTab(int index){ File f; if((f = GetFileFromDialog(true, "TEMPLATE.txt")) != null){ try{ - // Create file - FileWriter fstream = new FileWriter(f); - BufferedWriter out = new BufferedWriter(fstream); - out.write(data); - //Close the output stream - out.close(); + PrintWriter pw = new PrintWriter( + new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(f), "UTF-8"))); + pw.print(data); + pw.close(); } catch (Exception exc){//Catch exception if any errout.println(exc.getMessage()); } @@ -579,13 +581,12 @@ public void ExportSpreadsheetTab(int index){ File f; if((f = GetFileFromDialog(true, "TEMPLATE.csv")) != null){ try{ - //Create our various Writers - FileWriter fw = new FileWriter(f); - CSVWriter writer = new CSVWriter(fw); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + CSVWriter writer = new CSVWriter(bw); //Write out to file and close writer.writeAll(data); writer.close(); - fw.close(); + bw.close(); } catch(IOException exc){ errout.println(exc.getMessage()); }