Skip to content

Commit f2e4d41

Browse files
committed
Land 3607, sqlmap plugin cleanup
after some additional cleanup here: SHA: a4f2fb2
2 parents 453d197 + a4f2fb2 commit f2e4d41

File tree

1 file changed

+29
-36
lines changed

1 file changed

+29
-36
lines changed

plugins/sqlmap.rb

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class SqlmapCommandDispatcher
88
include Msf::Ui::Console::CommandDispatcher
99

1010
def name
11-
"Sqlmap"
11+
'Sqlmap'
1212
end
1313

1414
def commands
@@ -32,8 +32,7 @@ def cmd_sqlmap_connect(*args)
3232
return
3333
end
3434

35-
host = args[0]
36-
port = args.length == 2 ? args[1] : nil
35+
host, port = args
3736

3837
if !port
3938
@manager = Sqlmap::Manager.new(Sqlmap::Session.new(host))
@@ -47,7 +46,7 @@ def cmd_sqlmap_connect(*args)
4746
def cmd_sqlmap_set_option(*args)
4847
unless args.length == 3
4948
print_error('Usage:')
50-
print_error('\tsqlmap_set_option <taskid> <option_name> <option_value>')
49+
print_error("\tsqlmap_set_option <taskid> <option_name> <option_value>")
5150
return
5251
end
5352

@@ -56,27 +55,21 @@ def cmd_sqlmap_set_option(*args)
5655
return
5756
end
5857

59-
val = args[2]
60-
if args[2] =~ /^\d+$/
61-
val = val.to_i
62-
end
58+
val = args[2] =~ /^\d+$/ ? args[2].to_i : args[2]
6359

6460
res = @manager.set_option(@hid_tasks[args[0]], args[1], val)
65-
print_status('Success: ' + res['success'].to_s)
61+
print_status("Success: #{res['success']}")
6662
end
6763

6864
def cmd_sqlmap_start_task(*args)
6965
if args.length == 0
7066
print_error('Usage:')
71-
print_error('\tsqlmap_start_task <taskid> [<url>]')
67+
print_error("\tsqlmap_start_task <taskid> [<url>]")
7268
return
7369
end
7470

7571
options = {}
76-
77-
if args.length == 2
78-
options['url'] = args[1]
79-
end
72+
options['url'] = args[1] if args.length == 2
8073

8174
if !options['url'] && @tasks[@hid_tasks[args[0]]]['url'] == ''
8275
print_error('You need to specify a URL either as an argument to sqlmap_start_task or sqlmap_set_option')
@@ -89,13 +82,13 @@ def cmd_sqlmap_start_task(*args)
8982
end
9083

9184
res = @manager.start_task(@hid_tasks[args[0]], options)
92-
print_status('Started task: ' + res['success'].to_s)
85+
print_status("Started task: #{res['success']}")
9386
end
9487

9588
def cmd_sqlmap_get_log(*args)
9689
unless args.length == 1
9790
print_error('Usage:')
98-
print_error('\tsqlmap_get_log <taskid>')
91+
print_error("\tsqlmap_get_log <taskid>")
9992
return
10093
end
10194

@@ -107,14 +100,14 @@ def cmd_sqlmap_get_log(*args)
107100
res = @manager.get_task_log(@hid_tasks[args[0]])
108101

109102
res['log'].each do |message|
110-
print_status("[#{message["time"]}] #{message["level"]}: #{message["message"]}")
103+
print_status("[#{message['time']}] #{message['level']}: #{message['message']}")
111104
end
112105
end
113106

114107
def cmd_sqlmap_get_status(*args)
115108
unless args.length == 1
116109
print_error('Usage:')
117-
print_error('\tsqlmap_get_status <taskid>')
110+
print_error("\tsqlmap_get_status <taskid>")
118111
return
119112
end
120113

@@ -131,7 +124,7 @@ def cmd_sqlmap_get_status(*args)
131124
def cmd_sqlmap_get_data(*args)
132125
unless args.length == 1
133126
print_error('Usage:')
134-
print_error('\tsqlmap_get_data <taskid>')
127+
print_error("\tsqlmap_get_data <taskid>")
135128
return
136129
end
137130

@@ -151,7 +144,7 @@ def cmd_sqlmap_get_data(*args)
151144
res = @manager.get_task_data(@hid_tasks[args[0]])
152145

153146
tbl = Rex::Ui::Text::Table.new(
154-
'Columns' => ['Title','Payload'])
147+
'Columns' => ['Title', 'Payload'])
155148

156149
res['data'].each do |d|
157150
d['value'].each do |v|
@@ -171,7 +164,7 @@ def cmd_sqlmap_get_data(*args)
171164
def cmd_sqlmap_save_data(*args)
172165
unless args.length == 1
173166
print_error('Usage:')
174-
print_error('\tsqlmap_save_data <taskid>')
167+
print_error("\tsqlmap_save_data <taskid>")
175168
return
176169
end
177170

@@ -199,8 +192,7 @@ def cmd_sqlmap_save_data(*args)
199192
proto = url.split(':')[0]
200193
host = url.split('/')[2]
201194
port = 80
202-
port = host.split(':')[1] if host.index(':')
203-
host = host.split(':')[0] if host.index(':')
195+
host, port = host.split(':') if host.include?(':')
204196
path = '/' + (url.split('/')[3..(url.split('/').length - 1)].join('/'))
205197
query = url.split('?')[1]
206198
web_vuln_info[:web_site] = url
@@ -215,7 +207,7 @@ def cmd_sqlmap_save_data(*args)
215207
web_vuln_info[:pname] = v['parameter']
216208
web_vuln_info[:method] = v['place']
217209
web_vuln_info[:payload] = v['suffix']
218-
v['data'].each do |k,i|
210+
v['data'].values.each do |i|
219211
web_vuln_info[:name] = i['title']
220212
web_vuln_info[:description] = res.to_json
221213
web_vuln_info[:proof] = i['payload']
@@ -232,25 +224,26 @@ def cmd_sqlmap_get_option(*args)
232224

233225
unless args.length == 2
234226
print_error('Usage:')
235-
print_error('\tsqlmap_get_option <taskid> <option_name>')
227+
print_error("\tsqlmap_get_option <taskid> <option_name>")
236228
end
237229

238230
unless @manager
239231
print_error('Please run sqlmap_connect <host> first.')
240232
return
241233
end
242234

243-
task_options = @manager.get_options(@hid_tasks[args[0]])
244-
@tasks[@hid_tasks[args[0]]] = task_options['options']
235+
arg = args.first
236+
task_options = @manager.get_options(@hid_tasks[arg])
237+
@tasks[@hid_tasks[arg]] = task_options['options']
245238

246-
if @tasks[@hid_tasks[args[0]]]
247-
print_good(args[1] + ': ' + @tasks[@hid_tasks[args[0]]][args[1]].to_s)
239+
if @tasks[@hid_tasks[arg]]
240+
print_good(args[1] + ': ' + @tasks[@hid_tasks[arg]][args[1]].to_s)
248241
else
249-
print_error('Option ' + args[0] + ' doesn\'t exist')
242+
print_error("Option #{arg} doesn't exist")
250243
end
251244
end
252245

253-
def cmd_sqlmap_new_task(*args)
246+
def cmd_sqlmap_new_task
254247
@hid_tasks ||= {}
255248
@tasks ||= {}
256249

@@ -260,17 +253,17 @@ def cmd_sqlmap_new_task(*args)
260253
end
261254

262255
taskid = @manager.new_task['taskid']
263-
@hid_tasks[(@hid_tasks.length+1).to_s] = taskid
256+
@hid_tasks[(@hid_tasks.length + 1).to_s] = taskid
264257
task_options = @manager.get_options(taskid)
265258
@tasks[@hid_tasks[@hid_tasks.length]] = task_options['options']
266-
print_good('Created task: ' + @hid_tasks.length.to_s)
259+
print_good("Created task: #{@hid_tasks.length}")
267260
end
268261

269-
def cmd_sqlmap_list_tasks(*args)
262+
def cmd_sqlmap_list_tasks
270263
@hid_tasks ||= {}
271264
@tasks ||= {}
272-
@hid_tasks.each do |task, options|
273-
print_good('Task ID: ' + task.to_s)
265+
@hid_tasks.keys.each do |task|
266+
print_good("Task ID: #{task}")
274267
end
275268
end
276269
end

0 commit comments

Comments
 (0)