buby 1.3.3-java → 1.5.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. data/README.rdoc +28 -14
  2. data/Rakefile +96 -6
  3. data/VERSION.yml +5 -0
  4. data/bin/buby +2 -0
  5. data/buby.gemspec +102 -17
  6. data/{java/src → ext/buby/burp}/BurpExtender.java +189 -29
  7. data/ext/burp_interfaces/burp/IBurpExtender.java +31 -0
  8. data/ext/burp_interfaces/burp/IBurpExtenderCallbacks.java +785 -0
  9. data/ext/burp_interfaces/burp/IContextMenuFactory.java +38 -0
  10. data/ext/burp_interfaces/burp/IContextMenuInvocation.java +156 -0
  11. data/ext/burp_interfaces/burp/ICookie.java +53 -0
  12. data/ext/burp_interfaces/burp/IExtensionHelpers.java +352 -0
  13. data/ext/burp_interfaces/burp/IExtensionStateListener.java +27 -0
  14. data/ext/burp_interfaces/burp/IHttpListener.java +37 -0
  15. data/ext/burp_interfaces/burp/IHttpRequestResponse.java +102 -0
  16. data/ext/burp_interfaces/burp/IHttpRequestResponsePersisted.java +26 -0
  17. data/ext/burp_interfaces/burp/IHttpRequestResponseWithMarkers.java +44 -0
  18. data/ext/burp_interfaces/burp/IHttpService.java +39 -0
  19. data/ext/burp_interfaces/burp/IInterceptedProxyMessage.java +116 -0
  20. data/ext/burp_interfaces/burp/IIntruderAttack.java +31 -0
  21. data/ext/burp_interfaces/burp/IIntruderPayloadGenerator.java +50 -0
  22. data/ext/burp_interfaces/burp/IIntruderPayloadGeneratorFactory.java +40 -0
  23. data/ext/burp_interfaces/burp/IIntruderPayloadProcessor.java +45 -0
  24. data/{java/src → ext/burp_interfaces}/burp/IMenuItemHandler.java +36 -40
  25. data/ext/burp_interfaces/burp/IMessageEditor.java +64 -0
  26. data/ext/burp_interfaces/burp/IMessageEditorController.java +49 -0
  27. data/ext/burp_interfaces/burp/IMessageEditorTab.java +102 -0
  28. data/ext/burp_interfaces/burp/IMessageEditorTabFactory.java +38 -0
  29. data/ext/burp_interfaces/burp/IParameter.java +104 -0
  30. data/ext/burp_interfaces/burp/IProxyListener.java +37 -0
  31. data/ext/burp_interfaces/burp/IRequestInfo.java +95 -0
  32. data/ext/burp_interfaces/burp/IResponseInfo.java +54 -0
  33. data/ext/burp_interfaces/burp/IScanIssue.java +120 -0
  34. data/ext/burp_interfaces/burp/IScanQueueItem.java +80 -0
  35. data/ext/burp_interfaces/burp/IScannerCheck.java +89 -0
  36. data/ext/burp_interfaces/burp/IScannerInsertionPoint.java +156 -0
  37. data/ext/burp_interfaces/burp/IScannerInsertionPointProvider.java +38 -0
  38. data/ext/burp_interfaces/burp/IScannerListener.java +30 -0
  39. data/ext/burp_interfaces/burp/IScopeChangeListener.java +25 -0
  40. data/ext/burp_interfaces/burp/ISessionHandlingAction.java +51 -0
  41. data/ext/burp_interfaces/burp/ITab.java +38 -0
  42. data/ext/burp_interfaces/burp/ITempFile.java +33 -0
  43. data/ext/burp_interfaces/burp/ITextEditor.java +90 -0
  44. data/lib/buby/burp_extender/console_frame.rb +33 -0
  45. data/lib/buby/burp_extender/console_pane.rb +26 -0
  46. data/lib/buby/burp_extender/console_tab.rb +15 -0
  47. data/lib/buby/burp_extender/context_menu.rb +29 -0
  48. data/lib/buby/burp_extender/context_menu_factory.rb +17 -0
  49. data/lib/buby/burp_extender/context_menu_item.rb +13 -0
  50. data/lib/buby/burp_extender/jcheck_box_menu_item.rb +12 -0
  51. data/lib/buby/burp_extender/jmenu.rb +11 -0
  52. data/lib/buby/burp_extender/jmenu_item.rb +12 -0
  53. data/lib/buby/burp_extender/menu.rb +11 -0
  54. data/lib/buby/burp_extender/menu_item.rb +12 -0
  55. data/lib/buby/burp_extender.rb +339 -0
  56. data/lib/buby/context_menu_factory.rb +35 -0
  57. data/lib/buby/cookie.rb +37 -0
  58. data/lib/buby/extender.rb +156 -0
  59. data/lib/buby/http_listener.rb +29 -0
  60. data/lib/buby/{extends → implants}/buby_array_wrapper.rb +0 -0
  61. data/lib/buby/implants/context_menu_invocation.rb +113 -0
  62. data/lib/buby/implants/cookie.rb +47 -0
  63. data/lib/buby/implants/extension_helpers.rb +286 -0
  64. data/lib/buby/{extends → implants}/http_request_response.rb +8 -1
  65. data/lib/buby/implants/intercepted_proxy_message.rb +53 -0
  66. data/lib/buby/implants/intruder_attack.rb +42 -0
  67. data/lib/buby/implants/jruby.rb +64 -0
  68. data/lib/buby/implants/message_editor.rb +70 -0
  69. data/lib/buby/implants/message_editor_controller.rb +60 -0
  70. data/lib/buby/implants/parameter.rb +84 -0
  71. data/lib/buby/implants/request_info.rb +47 -0
  72. data/lib/buby/implants/response_info.rb +44 -0
  73. data/lib/buby/{extends → implants}/scan_issue.rb +1 -2
  74. data/lib/buby/implants/scan_queue_item.rb +53 -0
  75. data/lib/buby/implants/scanner_insertion_point.rb +92 -0
  76. data/lib/buby/implants/temp_file.rb +43 -0
  77. data/lib/buby/implants/text_editor.rb +63 -0
  78. data/lib/buby/implants.rb +28 -0
  79. data/lib/buby/intruder_payload_generator.rb +60 -0
  80. data/lib/buby/intruder_payload_generator_factory.rb +32 -0
  81. data/lib/buby/intruder_payload_processor.rb +38 -0
  82. data/lib/buby/message_editor_controller.rb +41 -0
  83. data/lib/buby/message_editor_tab.rb +98 -0
  84. data/lib/buby/message_editor_tab_factory.rb +28 -0
  85. data/lib/buby/parameter/base.rb +40 -0
  86. data/lib/buby/parameter/body.rb +7 -0
  87. data/lib/buby/parameter/cookie.rb +7 -0
  88. data/lib/buby/parameter/url.rb +7 -0
  89. data/lib/buby/parameter.rb +15 -0
  90. data/lib/buby/proxy_listener.rb +26 -0
  91. data/lib/buby/scan_issue.rb +112 -0
  92. data/lib/buby/scanner_check.rb +84 -0
  93. data/lib/buby/scanner_insertion_point.rb +118 -0
  94. data/lib/buby/scanner_insertion_point_provider.rb +27 -0
  95. data/lib/buby/scanner_listener.rb +22 -0
  96. data/lib/buby/scope_change_listener.rb +19 -0
  97. data/lib/buby/session_handling_action.rb +43 -0
  98. data/lib/buby/tab.rb +37 -0
  99. data/lib/buby/version.rb +9 -0
  100. data/lib/buby.rb +892 -101
  101. metadata +118 -22
  102. data/VERSION +0 -1
  103. data/java/buby.jar +0 -0
  104. data/java/src/burp/IBurpExtender.java +0 -180
  105. data/java/src/burp/IBurpExtenderCallbacks.java +0 -373
  106. data/java/src/burp/IHttpRequestResponse.java +0 -156
  107. data/java/src/burp/IScanIssue.java +0 -106
  108. data/java/src/burp/IScanQueueItem.java +0 -76
  109. data/lib/buby/extends.rb +0 -4
@@ -1,156 +0,0 @@
1
- package burp;
2
-
3
- /*
4
- * @(#)IHttpRequestResponse.java
5
- *
6
- * Copyright PortSwigger Ltd. All rights reserved.
7
- *
8
- * This code may be used to extend the functionality of Burp Suite and Burp
9
- * Suite Professional, provided that this usage does not violate the
10
- * license terms for those products.
11
- */
12
-
13
- /**
14
- * This interface is used to allow extensions to access details of HTTP messages
15
- * that are processed within Burp.
16
- *
17
- * Note that the setter methods generally can only be used before the message
18
- * has been forwarded to the application (e.g. using
19
- * IBurpExtender.processHttpMessage()) and not in read-only contexts (e.g. using
20
- * IBurpExtender.getProxyHistory()). Conversely, the getter methods relating to
21
- * response details can only be used after the message has been forwarded to the
22
- * application.
23
- */
24
-
25
- public interface IHttpRequestResponse
26
- {
27
- /**
28
- * Returns the name of the application host.
29
- *
30
- * @return The name of the application host.
31
- */
32
- String getHost();
33
-
34
- /**
35
- * Returns the port number used by the application.
36
- *
37
- * @return The port number used by the application.
38
- */
39
- int getPort();
40
-
41
- /**
42
- * Returns the protocol used by the application.
43
- *
44
- * @return The protocol used by the application.
45
- */
46
- String getProtocol();
47
-
48
- /**
49
- * Sets the name of the application host to which the request should
50
- * be sent.
51
- *
52
- * @param host The name of the application host to which the request should
53
- * be sent.
54
- * @throws java.lang.Exception
55
- */
56
- void setHost(String host) throws Exception;
57
-
58
- /**
59
- * Sets the port number to which the request should be sent.
60
- *
61
- * @param port The port number to which the request should be sent.
62
- * @throws java.lang.Exception
63
- */
64
- void setPort(int port) throws Exception;
65
-
66
- /**
67
- * Sets the protocol which should be used by the request.
68
- *
69
- * @param protocol The protocol which should be used by the request. Valid
70
- * values are "http" and "https".
71
- * @throws java.lang.Exception
72
- */
73
- void setProtocol(String protocol) throws Exception;
74
-
75
- /**
76
- * Returns the full request contents.
77
- *
78
- * @return The full request contents.
79
- * @throws java.lang.Exception
80
- */
81
- byte[] getRequest() throws Exception;
82
-
83
- /**
84
- * Returns the URL within the request.
85
- *
86
- * @return The URL within the request.
87
- * @throws java.lang.Exception
88
- */
89
- java.net.URL getUrl() throws Exception;
90
-
91
- /**
92
- * Sets the request contents which should be sent to the application.
93
- *
94
- * @param message The request contents which should be sent to the
95
- * application.
96
- * @throws java.lang.Exception
97
- */
98
- void setRequest(byte[] message) throws Exception;
99
-
100
- /**
101
- * Returns the full response contents.
102
- *
103
- * @return The full response contents.
104
- * @throws java.lang.Exception
105
- */
106
- byte[] getResponse() throws Exception;
107
-
108
- /**
109
- * Sets the response contents which should be processed by the
110
- * invoking Burp tool.
111
- *
112
- * @param message The response contents which should be processed by the
113
- * invoking Burp tool.
114
- * @throws java.lang.Exception
115
- */
116
- void setResponse(byte[] message) throws Exception;
117
-
118
- /**
119
- * Returns the HTTP status code contained within the response.
120
- *
121
- * @return The HTTP status code contained within the response.
122
- * @throws java.lang.Exception
123
- */
124
- short getStatusCode() throws Exception;
125
-
126
- /**
127
- * Returns the user-annotated comment for this item, if applicable.
128
- *
129
- * @return The user-annotated comment for this item, or null if none is set.
130
- */
131
- String getComment() throws Exception;
132
-
133
- /**
134
- * Sets the user-annotated comment for this item.
135
- *
136
- * @param comment The comment to be associated with this item.
137
- * @throws Exception
138
- */
139
- void setComment(String comment) throws Exception;
140
-
141
- /**
142
- * Returns the user-annotated highlight for this item, if applicable.
143
- *
144
- * @return The highlight color for this item, or null if none is set.
145
- */
146
- String getHighlight() throws Exception;
147
-
148
- /**
149
- * Sets the user-annotated highlight for this item.
150
- *
151
- * @param color The highlight color to be assigned to this item. Accepted
152
- * values are: red, orange, yellow, green, cyan, blue, pink, magenta, gray.
153
- * @throws Exception
154
- */
155
- void setHighlight(String color) throws Exception;
156
- }
@@ -1,106 +0,0 @@
1
- package burp;
2
-
3
- /*
4
- * @(#)IScanIssue.java
5
- *
6
- * Copyright PortSwigger Ltd. All rights reserved.
7
- *
8
- * This code may be used to extend the functionality of Burp Suite and Burp
9
- * Suite Professional, provided that this usage does not violate the
10
- * license terms for those products.
11
- */
12
-
13
- /**
14
- * This interface is used to allow extensions to access details of issues
15
- * generated by Burp Scanner.
16
- */
17
-
18
- public interface IScanIssue
19
- {
20
- /**
21
- * Returns the name of the application host.
22
- *
23
- * @return The name of the application host.
24
- */
25
- String getHost();
26
-
27
- /**
28
- * Returns the port number used by the application.
29
- *
30
- * @return The port number used by the application.
31
- */
32
- int getPort();
33
-
34
- /**
35
- * Returns the protocol used by the application.
36
- *
37
- * @return The protocol used by the application.
38
- */
39
- String getProtocol();
40
-
41
- /**
42
- * Returns the URL for which the issue was generated.
43
- *
44
- * @return The URL for which the issue was generated.
45
- */
46
- java.net.URL getUrl();
47
-
48
- /**
49
- * Returns a descriptive name of the issue type.
50
- *
51
- * @return A descriptive name of the issue type (e.g. "SQL injection").
52
- */
53
- String getIssueName();
54
-
55
- /**
56
- * Returns a descriptive name of the issue severity level.
57
- *
58
- * @return A descriptive name of the issue severity level (e.g. "High").
59
- */
60
- String getSeverity();
61
-
62
- /**
63
- * Returns a descriptive name of the issue confidence level.
64
- *
65
- * @return A descriptive name of the issue confidence level (e.g. "Certain").
66
- */
67
- String getConfidence();
68
-
69
- /**
70
- * Returns a general description of this type of issue.
71
- *
72
- * @return A general description of this type of issue.
73
- */
74
- String getIssueBackground();
75
-
76
- /**
77
- * Returns a general description of the remediation for this type of issue.
78
- *
79
- * @return A general description of the remediation for this type of issue.
80
- */
81
- String getRemediationBackground();
82
-
83
- /**
84
- * Returns detailed information about the specific instance of the issue.
85
- *
86
- * @return If available, detailed information about the specific instance of
87
- * the issue.
88
- */
89
- String getIssueDetail();
90
-
91
- /**
92
- * Returns detailed information about the remediation for the specific
93
- * instance of the issue.
94
- *
95
- * @return If available, detailed information about the remediation for the
96
- * specific instance of the issue.
97
- */
98
- String getRemediationDetail();
99
-
100
- /**
101
- * Returns the HTTP messages on the basis of which the issue was generated.
102
- *
103
- * @return The HTTP messages on the basis of which the issue was generated.
104
- */
105
- IHttpRequestResponse[] getHttpMessages();
106
- }
@@ -1,76 +0,0 @@
1
- package burp;
2
-
3
- /*
4
- * @(#)IScanQueueItem.java
5
- *
6
- * Copyright PortSwigger Ltd. All rights reserved.
7
- *
8
- * This code may be used to extend the functionality of Burp Suite and Burp
9
- * Suite Professional, provided that this usage does not violate the
10
- * license terms for those products.
11
- */
12
-
13
- /**
14
- * This interface is used to allow extensions to access details of items in the
15
- * Burp Scanner active scan queue.
16
- */
17
-
18
- public interface IScanQueueItem
19
- {
20
- /**
21
- * Returns a description of the status of the scan queue item.
22
- *
23
- * @return A description of the status of the scan queue item.
24
- */
25
- String getStatus();
26
-
27
- /**
28
- * Returns an indication of the percentage completed for the scan queue item.
29
- *
30
- * @return An indication of the percentage completed for the scan queue item.
31
- */
32
- byte getPercentageComplete();
33
-
34
- /**
35
- * Returns the number of requests that have been made for the scan queue item.
36
- *
37
- * @return The number of requests that have been made for the scan queue item.
38
- */
39
- int getNumRequests();
40
-
41
- /**
42
- * Returns the number of network errors that have occurred for the scan
43
- * queue item.
44
- *
45
- * @return The number of network errors that have occurred for the scan
46
- * queue item.
47
- */
48
- int getNumErrors();
49
-
50
- /**
51
- * Returns the number of attack insertion points being used for the scan
52
- * queue item.
53
- *
54
- * @return The number of attack insertion points being used for the scan
55
- * queue item.
56
- */
57
- int getNumInsertionPoints();
58
-
59
- /**
60
- * This method allows the scan queue item to be cancelled.
61
- */
62
- void cancel();
63
-
64
- /**
65
- * This method returns details of the issues generated for the scan queue item.
66
- *
67
- * Note that different items within the scan queue may contain duplicated
68
- * versions of the same issues - for example, if the same request has been
69
- * scanned multiple times. Duplicated issues are consolidated in the main view
70
- * of scan results. You can implementIBurpExtender.newScanIssue to get details
71
- * only of unique, newly discovered scan issues post-consolidation.
72
- *
73
- * @return Details of the issues generated for the scan queue item.
74
- */
75
- IScanIssue[] getIssues();
76
- }
data/lib/buby/extends.rb DELETED
@@ -1,4 +0,0 @@
1
-
2
- require 'buby/extends/buby_array_wrapper'
3
- require 'buby/extends/http_request_response'
4
- require 'buby/extends/scan_issue'