15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/i2x/sqlseedreader.rb', line 15
def read
begin
@client = Mysql2::Client.new(:host => @seed[:payload][:host], :username => @seed[:payload][:username] , :password => @seed[:payload][:password] , :database => @seed[:payload][:database])
@client.query(@seed[:payload][:query], :cast => false).each(:symbolize_keys => false) do |row|
begin
object = @help.deep_copy @agent[:payload]
object.each_pair do |key,value|
variables = @help.identify_variables(object[key])
variables.each do |v|
object[key].gsub!("%{#{v}}", row[@seed[:payload][:selectors][v]].to_str)
end
end
unless @seed[:payload][:cache].nil? then
object[:seed] = row[@seed[:payload][:cache]]
else
object[:seed] = row["id"]
end
object[:identifier] = @agent.identifier
@objects.push object
rescue Exception => e
end
end
rescue Exception => e
end
@objects
end
|