buby 1.3.3-java → 1.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
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'