Skip to content

Commit 7b87915

Browse files
committed
Land rapid7#8923, Add additional error checking to mssql_clr_payload module
2 parents a58552d + ba880d1 commit 7b87915

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

modules/exploits/windows/mssql/mssql_clr_payload.rb

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,13 @@ def get_exploit_version(sql_version_string)
9696
end
9797

9898
def set_trustworthy(on)
99-
mssql_query("ALTER DATABASE [#{datastore['DATABASE']}] SET TRUSTWORTHY #{on ? 'ON' : 'OFF'}", false)
99+
result = mssql_query("ALTER DATABASE [#{datastore['DATABASE']}] SET TRUSTWORTHY #{on ? 'ON' : 'OFF'}", false)
100+
unless result[:errors].empty?
101+
result[:errors].each do |err|
102+
vprint_error(err)
103+
end
104+
fail_with(Failure::Unknown, "Failed to change Trustworthy setting")
105+
end
100106
end
101107

102108
def is_trustworthy
@@ -112,7 +118,13 @@ def enable_clr(enable)
112118
EXEC sp_configure 'clr enabled', #{enable ? 1 : 0};
113119
RECONFIGURE;
114120
^
115-
mssql_query(query, false)
121+
result = mssql_query(query, false)
122+
unless result[:errors].empty?
123+
result[:errors].each do |err|
124+
vprint_error(err)
125+
end
126+
fail_with(Failure::Unknown, "Failed to change CLR setting")
127+
end
116128
end
117129

118130
def is_clr_enabled

0 commit comments

Comments
 (0)