@@ -199,29 +199,6 @@ class SQLMapGenerator {
199
199
"versionedmorekeywords" ,
200
200
"xforwardedfor"
201
201
] ;
202
-
203
- this . templates = {
204
- basic_get : {
205
- name : "tbd" ,
206
- description : "tbd" ,
207
- options : { url : "" , batch : true , dbs : true }
208
- } ,
209
- post_form : {
210
- name : "tbd" ,
211
- description : "tbd" ,
212
- options : { url : "" , data : "" , batch : true }
213
- } ,
214
- burp_request : {
215
- name : "Burp Request" ,
216
- description : "tbd" ,
217
- options : { requestFile : "" , batch : true }
218
- } ,
219
- advanced : {
220
- name : "tbd" ,
221
- description : "tbd" ,
222
- options : { url : "" , level : 3 , risk : 2 , randomAgent : true , batch : true }
223
- }
224
- } ;
225
202
226
203
this . init ( ) ;
227
204
}
@@ -234,7 +211,7 @@ class SQLMapGenerator {
234
211
this . updateCommand ( ) ;
235
212
}
236
213
237
- setStandardConfigItem_Input ( config , confkey ) {
214
+ setStandardConfigItem ( config , confkey ) {
238
215
var id = this . paramMapping [ confkey ] ;
239
216
var elem = document . getElementById ( id ) ;
240
217
var value = null ;
@@ -257,11 +234,11 @@ class SQLMapGenerator {
257
234
const config = { } ;
258
235
259
236
// # TARGET TAB
260
- this . setStandardConfigItem_Input ( config , '-u' ) ;
261
- this . setStandardConfigItem_Input ( config , '-d' ) ;
262
- this . setStandardConfigItem_Input ( config , '-g' ) ;
263
- this . setStandardConfigItem_Input ( config , '-m' ) ;
264
- this . setStandardConfigItem_Input ( config , '-l' ) ;
237
+ this . setStandardConfigItem ( config , '-u' ) ;
238
+ this . setStandardConfigItem ( config , '-d' ) ;
239
+ this . setStandardConfigItem ( config , '-g' ) ;
240
+ this . setStandardConfigItem ( config , '-m' ) ;
241
+ this . setStandardConfigItem ( config , '-l' ) ;
265
242
266
243
const burpFileScope = document . getElementById ( 'burpFileScope' ) . value . trim ( ) ;
267
244
if ( burpFileScope ) config [ '--scope' ] = burpFileScope ;
@@ -278,24 +255,24 @@ class SQLMapGenerator {
278
255
const threads = document . getElementById ( 'threads' ) . value ;
279
256
if ( threads && threads > 1 ) config [ '--threads' ] = threads ;
280
257
281
- this . setStandardConfigItem_Input ( config , '--force-ssl' ) ;
282
- this . setStandardConfigItem_Input ( config , '--keep-alive' ) ;
283
- this . setStandardConfigItem_Input ( config , '--null-connection' ) ;
284
- this . setStandardConfigItem_Input ( config , '--http2' ) ;
258
+ this . setStandardConfigItem ( config , '--force-ssl' ) ;
259
+ this . setStandardConfigItem ( config , '--keep-alive' ) ;
260
+ this . setStandardConfigItem ( config , '--null-connection' ) ;
261
+ this . setStandardConfigItem ( config , '--http2' ) ;
285
262
286
263
// ## Proxy Options
287
- this . setStandardConfigItem_Input ( config , '--proxy' ) ;
288
- this . setStandardConfigItem_Input ( config , '--proxy-cred' ) ;
289
- this . setStandardConfigItem_Input ( config , '--proxy-file' ) ;
264
+ this . setStandardConfigItem ( config , '--proxy' ) ;
265
+ this . setStandardConfigItem ( config , '--proxy-cred' ) ;
266
+ this . setStandardConfigItem ( config , '--proxy-file' ) ;
290
267
291
268
const proxyFreq = document . getElementById ( 'proxyFreq' ) . value . trim ( ) ;
292
269
if ( proxyFreq && proxyFreq >= 1 ) config [ '--proxy-freq' ] = proxyFreq ;
293
270
294
- this . setStandardConfigItem_Input ( config , '--http2' ) ;
295
- this . setStandardConfigItem_Input ( config , '--ignore-proxy' ) ;
296
- this . setStandardConfigItem_Input ( config , '--tor' ) ;
297
- this . setStandardConfigItem_Input ( config , '--check-tor' ) ;
298
- this . setStandardConfigItem_Input ( config , '--tor-port' ) ;
271
+ this . setStandardConfigItem ( config , '--http2' ) ;
272
+ this . setStandardConfigItem ( config , '--ignore-proxy' ) ;
273
+ this . setStandardConfigItem ( config , '--tor' ) ;
274
+ this . setStandardConfigItem ( config , '--check-tor' ) ;
275
+ this . setStandardConfigItem ( config , '--tor-port' ) ;
299
276
300
277
const torType = document . getElementById ( 'torType' ) . value . trim ( ) ;
301
278
if ( torType && torType !== "SOCKS5" ) config [ '--tor-type' ] = torType ;
@@ -313,11 +290,11 @@ class SQLMapGenerator {
313
290
const paramDel = document . getElementById ( 'paramDel' ) . value . trim ( ) ;
314
291
if ( paramDel && paramDel !== "&" ) config [ '--param-del' ] = paramDel ;
315
292
316
- this . setStandardConfigItem_Input ( config , '-r' ) ;
317
- this . setStandardConfigItem_Input ( config , '--data' ) ;
293
+ this . setStandardConfigItem ( config , '-r' ) ;
294
+ this . setStandardConfigItem ( config , '--data' ) ;
318
295
319
296
// ## Request Headers
320
- this . setStandardConfigItem_Input ( config , '--host' ) ;
297
+ this . setStandardConfigItem ( config , '--host' ) ;
321
298
322
299
const userAgent = document . getElementById ( 'userAgent' ) . value ;
323
300
if ( userAgent && userAgent === 'random' ) {
@@ -334,16 +311,16 @@ class SQLMapGenerator {
334
311
config [ '-A' ] = userAgent ;
335
312
}
336
313
337
- this . setStandardConfigItem_Input ( config , '--referer' ) ;
338
- this . setStandardConfigItem_Input ( config , '-H' ) ;
314
+ this . setStandardConfigItem ( config , '--referer' ) ;
315
+ this . setStandardConfigItem ( config , '-H' ) ;
339
316
340
317
// ## Authentication
341
- this . setStandardConfigItem_Input ( config , '--cookie' ) ;
342
- this . setStandardConfigItem_Input ( config , '--cookie-del' ) ;
343
- this . setStandardConfigItem_Input ( config , '--live-cookies' ) ;
344
- this . setStandardConfigItem_Input ( config , '--load-cookies' ) ;
318
+ this . setStandardConfigItem ( config , '--cookie' ) ;
319
+ this . setStandardConfigItem ( config , '--cookie-del' ) ;
320
+ this . setStandardConfigItem ( config , '--live-cookies' ) ;
321
+ this . setStandardConfigItem ( config , '--load-cookies' ) ;
345
322
346
- this . setStandardConfigItem_Input ( config , '--drop-set-cookie' ) ;
323
+ this . setStandardConfigItem ( config , '--drop-set-cookie' ) ;
347
324
348
325
const authType = document . getElementById ( 'authType' ) . value ;
349
326
const authCred = document . getElementById ( 'authCred' ) . value . trim ( ) ;
@@ -352,11 +329,11 @@ class SQLMapGenerator {
352
329
config [ '--auth-cred' ] = authCred ;
353
330
}
354
331
355
- this . setStandardConfigItem_Input ( config , '--auth-file' ) ;
332
+ this . setStandardConfigItem ( config , '--auth-file' ) ;
356
333
357
334
// ## CSRF Tokens Control
358
- this . setStandardConfigItem_Input ( config , '--csrf-token' ) ;
359
- this . setStandardConfigItem_Input ( config , '--csrf-url' ) ;
335
+ this . setStandardConfigItem ( config , '--csrf-token' ) ;
336
+ this . setStandardConfigItem ( config , '--csrf-url' ) ;
360
337
361
338
const csrfMethod = document . getElementById ( 'csrfMethod' ) . value ;
362
339
if ( csrfMethod && csrfMethod !== 'custom' ) {
@@ -371,23 +348,23 @@ class SQLMapGenerator {
371
348
372
349
// # INJECTION TAB
373
350
// ## Parameters
374
- this . setStandardConfigItem_Input ( config , '-p' ) ;
375
- this . setStandardConfigItem_Input ( config , '--skip' ) ;
376
- this . setStandardConfigItem_Input ( config , '--param-exclude' ) ;
377
- this . setStandardConfigItem_Input ( config , '--param-filter' ) ;
378
- this . setStandardConfigItem_Input ( config , '--prefix' ) ;
379
- this . setStandardConfigItem_Input ( config , '--suffix' ) ;
351
+ this . setStandardConfigItem ( config , '-p' ) ;
352
+ this . setStandardConfigItem ( config , '--skip' ) ;
353
+ this . setStandardConfigItem ( config , '--param-exclude' ) ;
354
+ this . setStandardConfigItem ( config , '--param-filter' ) ;
355
+ this . setStandardConfigItem ( config , '--prefix' ) ;
356
+ this . setStandardConfigItem ( config , '--suffix' ) ;
380
357
381
358
// ## Detection
382
- this . setStandardConfigItem_Input ( config , '--string' ) ;
383
- this . setStandardConfigItem_Input ( config , '--regexp' ) ;
384
- this . setStandardConfigItem_Input ( config , '--not-string' ) ;
359
+ this . setStandardConfigItem ( config , '--string' ) ;
360
+ this . setStandardConfigItem ( config , '--regexp' ) ;
361
+ this . setStandardConfigItem ( config , '--not-string' ) ;
385
362
386
363
const code = document . getElementById ( 'code' ) . value . trim ( ) ;
387
364
if ( code && code >= 100 && code <= 599 ) config [ '--code' ] = code ;
388
365
389
- this . setStandardConfigItem_Input ( config , '--text-only' ) ;
390
- this . setStandardConfigItem_Input ( config , '--titles' ) ;
366
+ this . setStandardConfigItem ( config , '--text-only' ) ;
367
+ this . setStandardConfigItem ( config , '--titles' ) ;
391
368
392
369
// ## Attack Optimalization
393
370
const level = document . getElementById ( 'level' ) . value ;
@@ -396,10 +373,10 @@ class SQLMapGenerator {
396
373
const risk = document . getElementById ( 'risk' ) . value ;
397
374
if ( risk > 1 ) config [ '--risk' ] = risk ;
398
375
399
- this . setStandardConfigItem_Input ( config , '--dbms' ) ;
400
- this . setStandardConfigItem_Input ( config , '--os' ) ;
401
- this . setStandardConfigItem_Input ( config , '--second-url' ) ;
402
- this . setStandardConfigItem_Input ( config , '--second-req' ) ;
376
+ this . setStandardConfigItem ( config , '--dbms' ) ;
377
+ this . setStandardConfigItem ( config , '--os' ) ;
378
+ this . setStandardConfigItem ( config , '--second-url' ) ;
379
+ this . setStandardConfigItem ( config , '--second-req' ) ;
403
380
404
381
const techniques = [ ] ;
405
382
if ( document . getElementById ( 'techB' ) . checked ) techniques . push ( 'B' ) ;
@@ -410,51 +387,51 @@ class SQLMapGenerator {
410
387
if ( document . getElementById ( 'techQ' ) . checked ) techniques . push ( 'Q' ) ;
411
388
if ( techniques . length > 0 ) config [ '--technique' ] = techniques . join ( '' ) ;
412
389
413
- this . setStandardConfigItem_Input ( config , '--invalid-bignum' ) ;
414
- this . setStandardConfigItem_Input ( config , '--invalid-logical' ) ;
415
- this . setStandardConfigItem_Input ( config , '--invalid-string' ) ;
416
- this . setStandardConfigItem_Input ( config , '--no-cast' ) ;
417
- this . setStandardConfigItem_Input ( config , '--no-escape' ) ;
418
- this . setStandardConfigItem_Input ( config , '--predict-output' ) ;
390
+ this . setStandardConfigItem ( config , '--invalid-bignum' ) ;
391
+ this . setStandardConfigItem ( config , '--invalid-logical' ) ;
392
+ this . setStandardConfigItem ( config , '--invalid-string' ) ;
393
+ this . setStandardConfigItem ( config , '--no-cast' ) ;
394
+ this . setStandardConfigItem ( config , '--no-escape' ) ;
395
+ this . setStandardConfigItem ( config , '--predict-output' ) ;
419
396
420
397
// # EXPLOITATION TAB
421
398
// ## Enumeration and Data Exfiltraion
422
- this . setStandardConfigItem_Input ( config , '--all' ) ;
423
- this . setStandardConfigItem_Input ( config , '--banner' ) ;
424
- this . setStandardConfigItem_Input ( config , '--columns' ) ;
425
- this . setStandardConfigItem_Input ( config , '--comments' ) ;
426
- this . setStandardConfigItem_Input ( config , '--count' ) ;
427
- this . setStandardConfigItem_Input ( config , '--current-user' ) ;
428
- this . setStandardConfigItem_Input ( config , '--current-db' ) ;
429
- this . setStandardConfigItem_Input ( config , '--dbs' ) ;
430
- this . setStandardConfigItem_Input ( config , '--dump' ) ;
431
- this . setStandardConfigItem_Input ( config , '--dump-all' ) ;
432
- this . setStandardConfigItem_Input ( config , '--hostname' ) ;
433
- this . setStandardConfigItem_Input ( config , '--is-dba' ) ;
434
- this . setStandardConfigItem_Input ( config , '--exclude-sysdbs' ) ;
435
- this . setStandardConfigItem_Input ( config , '--passwords' ) ;
436
- this . setStandardConfigItem_Input ( config , '--privileges' ) ;
437
- this . setStandardConfigItem_Input ( config , '--roles' ) ;
438
- this . setStandardConfigItem_Input ( config , '--schema' ) ;
439
- this . setStandardConfigItem_Input ( config , '--search' ) ;
440
- this . setStandardConfigItem_Input ( config , '--statements' ) ;
441
- this . setStandardConfigItem_Input ( config , '--tables' ) ;
442
- this . setStandardConfigItem_Input ( config , '--users' ) ;
399
+ this . setStandardConfigItem ( config , '--all' ) ;
400
+ this . setStandardConfigItem ( config , '--banner' ) ;
401
+ this . setStandardConfigItem ( config , '--columns' ) ;
402
+ this . setStandardConfigItem ( config , '--comments' ) ;
403
+ this . setStandardConfigItem ( config , '--count' ) ;
404
+ this . setStandardConfigItem ( config , '--current-user' ) ;
405
+ this . setStandardConfigItem ( config , '--current-db' ) ;
406
+ this . setStandardConfigItem ( config , '--dbs' ) ;
407
+ this . setStandardConfigItem ( config , '--dump' ) ;
408
+ this . setStandardConfigItem ( config , '--dump-all' ) ;
409
+ this . setStandardConfigItem ( config , '--hostname' ) ;
410
+ this . setStandardConfigItem ( config , '--is-dba' ) ;
411
+ this . setStandardConfigItem ( config , '--exclude-sysdbs' ) ;
412
+ this . setStandardConfigItem ( config , '--passwords' ) ;
413
+ this . setStandardConfigItem ( config , '--privileges' ) ;
414
+ this . setStandardConfigItem ( config , '--roles' ) ;
415
+ this . setStandardConfigItem ( config , '--schema' ) ;
416
+ this . setStandardConfigItem ( config , '--search' ) ;
417
+ this . setStandardConfigItem ( config , '--statements' ) ;
418
+ this . setStandardConfigItem ( config , '--tables' ) ;
419
+ this . setStandardConfigItem ( config , '--users' ) ;
443
420
444
421
// ## Other Exploitation Options
445
- this . setStandardConfigItem_Input ( config , '-D' ) ;
446
- this . setStandardConfigItem_Input ( config , '-T' ) ;
447
- this . setStandardConfigItem_Input ( config , '-C' ) ;
448
- this . setStandardConfigItem_Input ( config , '-X' ) ;
449
- this . setStandardConfigItem_Input ( config , '-U' ) ;
450
- this . setStandardConfigItem_Input ( config , '--pivot-column' ) ;
451
- this . setStandardConfigItem_Input ( config , '--where' ) ;
452
- this . setStandardConfigItem_Input ( config , '--start' ) ;
453
- this . setStandardConfigItem_Input ( config , '--stop' ) ;
454
- this . setStandardConfigItem_Input ( config , '--first' ) ;
455
- this . setStandardConfigItem_Input ( config , '--last' ) ;
456
- this . setStandardConfigItem_Input ( config , '--sql-query' ) ;
457
- this . setStandardConfigItem_Input ( config , '--sql-file' ) ;
422
+ this . setStandardConfigItem ( config , '-D' ) ;
423
+ this . setStandardConfigItem ( config , '-T' ) ;
424
+ this . setStandardConfigItem ( config , '-C' ) ;
425
+ this . setStandardConfigItem ( config , '-X' ) ;
426
+ this . setStandardConfigItem ( config , '-U' ) ;
427
+ this . setStandardConfigItem ( config , '--pivot-column' ) ;
428
+ this . setStandardConfigItem ( config , '--where' ) ;
429
+ this . setStandardConfigItem ( config , '--start' ) ;
430
+ this . setStandardConfigItem ( config , '--stop' ) ;
431
+ this . setStandardConfigItem ( config , '--first' ) ;
432
+ this . setStandardConfigItem ( config , '--last' ) ;
433
+ this . setStandardConfigItem ( config , '--sql-query' ) ;
434
+ this . setStandardConfigItem ( config , '--sql-file' ) ;
458
435
459
436
// # TAMPERING TAB
460
437
const tamperScripts = [ ] ;
@@ -470,10 +447,10 @@ class SQLMapGenerator {
470
447
const verbose = document . getElementById ( 'verbose' ) . value ;
471
448
if ( verbose != 1 ) config [ '-v' ] = verbose ;
472
449
473
- this . setStandardConfigItem_Input ( config , '-t' ) ;
474
- this . setStandardConfigItem_Input ( config , '-c' ) ;
475
- this . setStandardConfigItem_Input ( config , '--batch' ) ;
476
- this . setStandardConfigItem_Input ( config , '--parse-errors' ) ;
450
+ this . setStandardConfigItem ( config , '-t' ) ;
451
+ this . setStandardConfigItem ( config , '-c' ) ;
452
+ this . setStandardConfigItem ( config , '--batch' ) ;
453
+ this . setStandardConfigItem ( config , '--parse-errors' ) ;
477
454
478
455
return config ;
479
456
}
@@ -730,58 +707,6 @@ class SQLMapGenerator {
730
707
}
731
708
}
732
709
733
- loadTemplate ( templateName ) {
734
- const template = this . templates [ templateName ] ;
735
- if ( ! template ) return ;
736
-
737
- // Reset all form fields first
738
- this . resetConfiguration ( ) ;
739
-
740
- // Apply template options
741
- Object . entries ( template . options ) . forEach ( ( [ key , value ] ) => {
742
- let elementId = key ;
743
-
744
- // Map template keys to form element IDs
745
- const keyMapping = {
746
- 'url' : 'url' ,
747
- 'data' : 'data' ,
748
- 'requestFile' : 'requestFile' ,
749
- 'burpFile' : 'burpFile' ,
750
- 'level' : 'level' ,
751
- 'risk' : 'risk' ,
752
- 'randomAgent' : 'userAgent' ,
753
- 'batch' : 'batch' ,
754
- 'dbs' : 'dbs'
755
- } ;
756
-
757
- if ( keyMapping [ key ] ) {
758
- elementId = keyMapping [ key ] ;
759
- }
760
-
761
- const element = document . getElementById ( elementId ) ;
762
- if ( element ) {
763
- if ( element . type === 'checkbox' ) {
764
- element . checked = value ;
765
- } else if ( element . type === 'range' ) {
766
- element . value = value ;
767
- // Update slider display
768
- const displayElement = document . getElementById ( elementId + 'Value' ) ;
769
- if ( displayElement ) {
770
- displayElement . textContent = value ;
771
- }
772
- } else {
773
- element . value = value ;
774
- }
775
- }
776
- } ) ;
777
-
778
- // Update command after loading template
779
- this . updateCommand ( ) ;
780
-
781
- // Show success message
782
- this . showMessage ( `Template "${ template . name } " loaded` , 'success' ) ;
783
- }
784
-
785
710
saveConfiguration ( ) {
786
711
const config = this . getCurrentConfig ( ) ;
787
712
const configStr = JSON . stringify ( config , null , 2 ) ;
0 commit comments