Skip to content

Commit f6762b4

Browse files
committed
Use random fake db name
1 parent 94c3532 commit f6762b4

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

modules/auxiliary/admin/mssql/mssql_enum_sql_logins.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def get_sql_logins
117117
sql_logins = []
118118

119119
# Fuzz the principal_id parameter passed to the SUSER_NAME function
120-
(1..datastore['FuzzNum']).each do|principal_id|
120+
(1..datastore['FuzzNum']).each do |principal_id|
121121
# Setup query
122122
sql = "SELECT SUSER_NAME(#{principal_id}) as login"
123123

@@ -142,10 +142,12 @@ def verify_logins(sql_logins_list)
142142
# Create array for later use
143143
verified_sql_logins = []
144144

145+
fake_db_name = Rex::Text.rand_text_alpha_upper(24)
146+
145147
# Check if the user has the db_owner role is any databases
146148
sql_logins_list.each do |sql_login|
147149
# Setup query
148-
sql = "EXEC sp_defaultdb '#{sql_login}', 'NOTAREALDATABASE1234ABCD'"
150+
sql = "EXEC sp_defaultdb '#{sql_login}', '#{fake_db_name}'"
149151

150152
# Execute query
151153
result = mssql_query(sql)
@@ -155,12 +157,12 @@ def verify_logins(sql_logins_list)
155157
result = parse_results[0]
156158

157159
# Check if sid resolved to a sql login
158-
if result.include? 'NOTAREALDATABASE1234ABCD'
160+
if result.include?(fake_db_name)
159161
verified_sql_logins.push(sql_login) unless verified_sql_logins.include?(sql_login)
160162
end
161163

162164
# Check if sid resolved to a sql login
163-
if result.include? 'alter the login'
165+
if result.include?('alter the login')
164166
# Add sql server login to verified list
165167
verified_sql_logins.push(sql_login) unless verified_sql_logins.include?(sql_login)
166168
end

0 commit comments

Comments
 (0)