@@ -53,27 +53,27 @@ public class ManagerExploit extends AbstractManagerList {
53
53
private final AtomicReference <JTextField > netshare = new AtomicReference <>();
54
54
protected final JTextField textfieldUrlShell ;
55
55
56
- public static final String KEY_UDF_TAB = "UDF_TAB " ;
57
- public static final String KEY_EXPLOIT_WEB_MYSQL = "EXPLOIT_WEB_MYSQL" ;
58
- public static final String KEY_EXPLOIT_WEB_SQLITE = "EXPLOIT_WEB_SQLITE" ;
59
- public static final String KEY_EXPLOIT_SQL_MYSQL = "EXPLOIT_SQL_MYSQL" ;
60
- public static final String KEY_EXPLOIT_UPLOAD_MYSQL = "EXPLOIT_UPLOAD_MYSQL" ;
61
- public static final String KEY_EXPLOIT_UPLOAD_SQLITE = "EXPLOIT_UPLOAD_SQLITE" ;
62
- public static final String KEY_RCE_TAB = "RCE_TAB " ;
56
+ public static final String EXPLOIT_UDF = "EXPLOIT_UDF " ;
57
+ public static final String EXPLOIT_WEB_MYSQL = "EXPLOIT_WEB_MYSQL" ;
58
+ public static final String EXPLOIT_WEB_SQLITE = "EXPLOIT_WEB_SQLITE" ;
59
+ public static final String EXPLOIT_SQL_MYSQL = "EXPLOIT_SQL_MYSQL" ;
60
+ public static final String EXPLOIT_UPLOAD_MYSQL = "EXPLOIT_UPLOAD_MYSQL" ;
61
+ public static final String EXPLOIT_UPLOAD_SQLITE = "EXPLOIT_UPLOAD_SQLITE" ;
62
+ public static final String EXPLOIT_RCE = "EXPLOIT_RCE " ;
63
63
64
64
private final JComboBox <Object > comboBoxExploitTypes = new JComboBox <>(new Object []{
65
- new ModelItemType (ManagerExploit .KEY_UDF_TAB , "UDF_TOOLTIP " ),
66
- new ModelItemType (ManagerExploit .KEY_RCE_TAB , "RCE_TOOLTIP " ),
65
+ new ModelItemType (ManagerExploit .EXPLOIT_UDF , "EXPLOIT_UDF_TOOLTIP " ),
66
+ new ModelItemType (ManagerExploit .EXPLOIT_RCE , "EXPLOIT_RCE_TOOLTIP " ),
67
67
ComboBoxMethodRenderer .SEPARATOR ,
68
- new ModelItemType (ManagerExploit .KEY_EXPLOIT_WEB_MYSQL , "EXPLOIT_WEB_MYSQL_TOOLTIP" ),
69
- new ModelItemType (ManagerExploit .KEY_EXPLOIT_SQL_MYSQL , "EXPLOIT_SQL_MYSQL_TOOLTIP" ),
70
- new ModelItemType (ManagerExploit .KEY_EXPLOIT_UPLOAD_MYSQL , "EXPLOIT_UPLOAD_MYSQL_TOOLTIP" ),
68
+ new ModelItemType (ManagerExploit .EXPLOIT_WEB_MYSQL , "EXPLOIT_WEB_MYSQL_TOOLTIP" ),
69
+ new ModelItemType (ManagerExploit .EXPLOIT_SQL_MYSQL , "EXPLOIT_SQL_MYSQL_TOOLTIP" ),
70
+ new ModelItemType (ManagerExploit .EXPLOIT_UPLOAD_MYSQL , "EXPLOIT_UPLOAD_MYSQL_TOOLTIP" ),
71
71
ComboBoxMethodRenderer .SEPARATOR ,
72
- new ModelItemType (ManagerExploit .KEY_EXPLOIT_WEB_SQLITE , "EXPLOIT_WEB_SQLITE_TOOLTIP" ),
73
- new ModelItemType (ManagerExploit .KEY_EXPLOIT_UPLOAD_SQLITE , "EXPLOIT_UPLOAD_SQLITE_TOOLTIP" ),
72
+ new ModelItemType (ManagerExploit .EXPLOIT_WEB_SQLITE , "EXPLOIT_WEB_SQLITE_TOOLTIP" ),
73
+ new ModelItemType (ManagerExploit .EXPLOIT_UPLOAD_SQLITE , "EXPLOIT_UPLOAD_SQLITE_TOOLTIP" ),
74
74
});
75
75
76
- private final JComboBox <Object > comboBoxExploitMethods = new JComboBox <>(new Object []{
76
+ private final JComboBox <Object > comboBoxExploitModes = new JComboBox <>(new Object []{
77
77
ExploitMethod .AUTO ,
78
78
ComboBoxMethodRenderer .SEPARATOR ,
79
79
ExploitMethod .QUERY_BODY ,
@@ -151,17 +151,17 @@ public JToolTip createToolTip() {
151
151
Arrays .asList (this .username .get (), this .password .get (), this .scrollListPaths , this .textfieldUrlShell )
152
152
.forEach (component -> component .setVisible (false ));
153
153
ModelItemType selectedItem = (ModelItemType ) e .getItem ();
154
- if (!Arrays .asList (ManagerExploit .KEY_UDF_TAB , ManagerExploit .KEY_RCE_TAB ).contains (selectedItem .getKeyLabel ())) {
154
+ if (!Arrays .asList (ManagerExploit .EXPLOIT_UDF , ManagerExploit .EXPLOIT_RCE ).contains (selectedItem .getKeyLabel ())) {
155
155
this .scrollListPaths .setVisible (true );
156
156
this .textfieldUrlShell .setVisible (true );
157
- if (ManagerExploit .KEY_EXPLOIT_SQL_MYSQL .equals (selectedItem .getKeyLabel ())) {
157
+ if (ManagerExploit .EXPLOIT_SQL_MYSQL .equals (selectedItem .getKeyLabel ())) {
158
158
this .username .get ().setVisible (true );
159
159
this .password .get ().setVisible (true );
160
160
}
161
161
}
162
162
this .updateUI (); // required to adapt panel
163
163
});
164
- this .comboBoxExploitMethods .addItemListener (e -> {
164
+ this .comboBoxExploitModes .addItemListener (e -> {
165
165
if (e .getStateChange () == ItemEvent .SELECTED && e .getItem () instanceof ExploitMethod ) {
166
166
ExploitMethod selectedItem = (ExploitMethod ) e .getItem ();
167
167
this .netshare .get ().setVisible (false );
@@ -172,8 +172,8 @@ public JToolTip createToolTip() {
172
172
}
173
173
});
174
174
175
- this .comboBoxExploitMethods .setRenderer (new ComboBoxMethodRenderer ());
176
- this .comboBoxExploitMethods .addActionListener (new SeparatorListener (this .comboBoxExploitMethods ));
175
+ this .comboBoxExploitModes .setRenderer (new ComboBoxMethodRenderer ());
176
+ this .comboBoxExploitModes .addActionListener (new SeparatorListener (this .comboBoxExploitModes ));
177
177
var labelUsing = new JLabel ("via" );
178
178
labelUsing .setBorder (BorderFactory .createEmptyBorder (5 , 0 , 5 , 0 ));
179
179
groupLayout .setHorizontalGroup (
@@ -184,7 +184,7 @@ public JToolTip createToolTip() {
184
184
.createSequentialGroup ()
185
185
.addComponent (this .comboBoxExploitTypes )
186
186
.addComponent (labelUsing , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE )
187
- .addComponent (this .comboBoxExploitMethods , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE )
187
+ .addComponent (this .comboBoxExploitModes , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE , GroupLayout .PREFERRED_SIZE )
188
188
)
189
189
.addGroup (
190
190
groupLayout .createParallelGroup ()
@@ -202,7 +202,7 @@ public JToolTip createToolTip() {
202
202
.createParallelGroup (GroupLayout .Alignment .BASELINE )
203
203
.addComponent (this .comboBoxExploitTypes )
204
204
.addComponent (labelUsing )
205
- .addComponent (this .comboBoxExploitMethods )
205
+ .addComponent (this .comboBoxExploitModes )
206
206
)
207
207
.addGroup (
208
208
groupLayout
@@ -235,7 +235,7 @@ public ActionExploit(JComboBox<Object> comboBoxExploitTypes) {
235
235
public void actionPerformed (ActionEvent evt ) {
236
236
var modelSelectItem = (ModelItemType ) this .comboBoxExploitTypes .getSelectedItem ();
237
237
var labelSelectItem = Objects .requireNonNull (modelSelectItem ).getKeyLabel ();
238
- if (Arrays .asList (ManagerExploit .KEY_UDF_TAB , ManagerExploit .KEY_RCE_TAB ).contains (labelSelectItem )) {
238
+ if (Arrays .asList (ManagerExploit .EXPLOIT_UDF , ManagerExploit .EXPLOIT_RCE ).contains (labelSelectItem )) {
239
239
new SwingWorker <>() {
240
240
@ Override
241
241
protected Object doInBackground () { Thread .currentThread ().setName ("SwingWorkerExploitUdf" );
@@ -246,7 +246,7 @@ public void actionPerformed(ActionEvent evt) {
246
246
return ;
247
247
}
248
248
if (
249
- ManagerExploit .KEY_EXPLOIT_SQL_MYSQL .equals (labelSelectItem )
249
+ ManagerExploit .EXPLOIT_SQL_MYSQL .equals (labelSelectItem )
250
250
&& (
251
251
ManagerExploit .this .password .get ().getText ().isEmpty ()
252
252
|| ManagerExploit .this .username .get ().getText ().isEmpty ()
@@ -257,20 +257,20 @@ public void actionPerformed(ActionEvent evt) {
257
257
}
258
258
if (
259
259
Arrays .asList (
260
- ManagerExploit .KEY_EXPLOIT_SQL_MYSQL , ManagerExploit .KEY_EXPLOIT_UPLOAD_MYSQL , ManagerExploit .KEY_EXPLOIT_WEB_MYSQL , ManagerExploit .KEY_UDF_TAB
260
+ ManagerExploit .EXPLOIT_SQL_MYSQL , ManagerExploit .EXPLOIT_UPLOAD_MYSQL , ManagerExploit .EXPLOIT_WEB_MYSQL , ManagerExploit .EXPLOIT_UDF
261
261
).contains (labelSelectItem )
262
262
&& MediatorHelper .model ().getMediatorVendor ().getVendor () != MediatorHelper .model ().getMediatorVendor ().getMysql ()
263
263
) {
264
264
LOGGER .log (LogLevelUtil .CONSOLE_ERROR , "Unsupported for [{}], choose a MySQL target instead" , MediatorHelper .model ().getMediatorVendor ().getVendor ());
265
265
return ;
266
266
} else if (
267
- Arrays .asList (ManagerExploit .KEY_EXPLOIT_UPLOAD_SQLITE , ManagerExploit .KEY_EXPLOIT_WEB_SQLITE ).contains (labelSelectItem )
267
+ Arrays .asList (ManagerExploit .EXPLOIT_UPLOAD_SQLITE , ManagerExploit .EXPLOIT_WEB_SQLITE ).contains (labelSelectItem )
268
268
&& MediatorHelper .model ().getMediatorVendor ().getVendor () != MediatorHelper .model ().getMediatorVendor ().getSqlite ()
269
269
) {
270
270
LOGGER .log (LogLevelUtil .CONSOLE_ERROR , "Unsupported for [{}], choose a SQLite target instead" , MediatorHelper .model ().getMediatorVendor ().getVendor ());
271
271
return ;
272
272
} else if (
273
- ManagerExploit .KEY_RCE_TAB .equals (labelSelectItem )
273
+ ManagerExploit .EXPLOIT_RCE .equals (labelSelectItem )
274
274
&& MediatorHelper .model ().getMediatorVendor ().getVendor () != MediatorHelper .model ().getMediatorVendor ().getOracle ()
275
275
) {
276
276
LOGGER .log (LogLevelUtil .CONSOLE_ERROR , "Unsupported for [{}], choose an Oracle target instead" , MediatorHelper .model ().getMediatorVendor ().getVendor ());
@@ -300,7 +300,7 @@ public void actionPerformed(ActionEvent evt) {
300
300
}
301
301
302
302
AtomicReference <File > fileToUpload = new AtomicReference <>();
303
- if (Arrays .asList (ManagerExploit .KEY_EXPLOIT_UPLOAD_MYSQL , ManagerExploit .KEY_EXPLOIT_UPLOAD_SQLITE ).contains (labelSelectItem )) {
303
+ if (Arrays .asList (ManagerExploit .EXPLOIT_UPLOAD_MYSQL , ManagerExploit .EXPLOIT_UPLOAD_SQLITE ).contains (labelSelectItem )) {
304
304
fileToUpload .set (ManagerExploit .chooseFile ());
305
305
if (fileToUpload .get () == null ) {
306
306
LOGGER .log (LogLevelUtil .CONSOLE_ERROR , "Missing file, please select a file" );
@@ -344,7 +344,7 @@ private static File chooseFile() {
344
344
}
345
345
346
346
protected void createPayload (String remotePathFolder , String urlShell , File fileToUpload ) throws JSqlException {
347
- var exploitMethod = ExploitMethod .forName (Objects .requireNonNull (this .comboBoxExploitMethods .getSelectedItem ()).toString ())
347
+ var exploitMethod = ExploitMethod .forName (Objects .requireNonNull (this .comboBoxExploitModes .getSelectedItem ()).toString ())
348
348
.orElse (ExploitMethod .AUTO );
349
349
350
350
if (remotePathFolder != null && !remotePathFolder .endsWith ("/" )) {
@@ -356,23 +356,23 @@ protected void createPayload(String remotePathFolder, String urlShell, File file
356
356
}
357
357
358
358
var modelItemType = Objects .requireNonNull ((ModelItemType ) this .comboBoxExploitTypes .getSelectedItem ());
359
- if (ManagerExploit .KEY_UDF_TAB .equals (modelItemType .getKeyLabel ())) {
359
+ if (ManagerExploit .EXPLOIT_UDF .equals (modelItemType .getKeyLabel ())) {
360
360
MediatorHelper .model ().getUdfAccess ().createUdf (pathNetshare , exploitMethod );
361
- } else if (ManagerExploit .KEY_RCE_TAB .equals (modelItemType .getKeyLabel ())) {
361
+ } else if (ManagerExploit .EXPLOIT_RCE .equals (modelItemType .getKeyLabel ())) {
362
362
MediatorHelper .model ().getUdfAccess ().createExploitRce (exploitMethod );
363
- } else if (ManagerExploit .KEY_EXPLOIT_WEB_MYSQL .equals (modelItemType .getKeyLabel ())) {
363
+ } else if (ManagerExploit .EXPLOIT_WEB_MYSQL .equals (modelItemType .getKeyLabel ())) {
364
364
MediatorHelper .model ().getResourceAccess ().createExploitWebMysql (
365
365
remotePathFolder ,
366
366
urlShell ,
367
367
pathNetshare ,
368
368
exploitMethod
369
369
);
370
- } else if (ManagerExploit .KEY_EXPLOIT_WEB_SQLITE .equals (modelItemType .getKeyLabel ())) {
370
+ } else if (ManagerExploit .EXPLOIT_WEB_SQLITE .equals (modelItemType .getKeyLabel ())) {
371
371
MediatorHelper .model ().getResourceAccess ().createExploitWebSqlite (
372
372
remotePathFolder ,
373
373
urlShell
374
374
);
375
- } else if (ManagerExploit .KEY_EXPLOIT_SQL_MYSQL .equals (modelItemType .getKeyLabel ())) {
375
+ } else if (ManagerExploit .EXPLOIT_SQL_MYSQL .equals (modelItemType .getKeyLabel ())) {
376
376
MediatorHelper .model ().getResourceAccess ().createExploitSqlMysql (
377
377
remotePathFolder ,
378
378
urlShell ,
@@ -381,15 +381,15 @@ protected void createPayload(String remotePathFolder, String urlShell, File file
381
381
this .username .get ().getText (),
382
382
this .password .get ().getText ()
383
383
);
384
- } else if (ManagerExploit .KEY_EXPLOIT_UPLOAD_MYSQL .equals (modelItemType .getKeyLabel ())) {
384
+ } else if (ManagerExploit .EXPLOIT_UPLOAD_MYSQL .equals (modelItemType .getKeyLabel ())) {
385
385
MediatorHelper .model ().getResourceAccess ().createExploitUploadMysql (
386
386
remotePathFolder ,
387
387
urlShell ,
388
388
pathNetshare ,
389
389
exploitMethod ,
390
390
fileToUpload
391
391
);
392
- } else if (ManagerExploit .KEY_EXPLOIT_UPLOAD_SQLITE .equals (modelItemType .getKeyLabel ())) {
392
+ } else if (ManagerExploit .EXPLOIT_UPLOAD_SQLITE .equals (modelItemType .getKeyLabel ())) {
393
393
MediatorHelper .model ().getResourceAccess ().createExploitUploadSqlite (
394
394
remotePathFolder ,
395
395
urlShell ,
0 commit comments