Az - SQL

Support HackTricks

Grundinformationen

Aus den Dokumenten: Azure SQL ist eine Familie von verwalteten, sicheren und intelligenten Produkten, die die SQL Server-Datenbank-Engine in der Azure-Cloud verwenden. Das bedeutet, dass Sie sich nicht um die physische Verwaltung Ihrer Server kümmern müssen und sich auf die Verwaltung Ihrer Daten konzentrieren können.

Azure SQL besteht aus drei Hauptangeboten:

  1. Azure SQL-Datenbank: Dies ist ein vollständig verwalteter Datenbankdienst, der es Ihnen ermöglicht, einzelne Datenbanken in der Azure-Cloud zu hosten. Er bietet integrierte Intelligenz, die Ihre einzigartigen Datenbankmuster lernt und maßgeschneiderte Empfehlungen sowie automatische Optimierungen bereitstellt.

  2. Azure SQL Managed Instance: Dies ist für größere, gesamte SQL Server-Instanz-Umsetzungen. Es bietet nahezu 100% Kompatibilität mit der neuesten SQL Server On-Premises (Enterprise Edition) Datenbank-Engine, die eine native Implementierung des virtuellen Netzwerks (VNet) bietet, die häufige Sicherheitsbedenken anspricht, und ein Geschäftsmodell, das für On-Premises SQL Server-Kunden vorteilhaft ist.

  3. Azure SQL Server auf Azure-VMs: Dies ist Infrastruktur als Dienst (IaaS) und eignet sich am besten für Migrationen, bei denen Sie Kontrolle über das Betriebssystem und die SQL Server-Instanz haben möchten, als ob es sich um einen Server handelt, der On-Premises läuft.

Enumeration

az sql server list
az sql server show --resource-group <res-grp> --name <name>
az sql db list --server <server> --resource-group <res-grp>

az sql mi list
az sql mi show --resource-group <res-grp> --name <name>
az sql midb list
az sql midb show --resource-group <res-grp> --name <name>

az sql vm list
az sql vm show --resource-group <res-grp> --name <name>

Verbinden und SQL-Abfragen ausführen

Sie könnten eine Verbindungszeichenfolge (die Anmeldeinformationen enthält) aus dem Beispiel Auflisten einer Az WebApp finden:

function invoke-sql{
param($query)
$Connection_string = "Server=tcp:supercorp.database.windows.net,1433;Initial Catalog=flag;Persist Security Info=False;User ID=db_read;Password=gAegH!324fAG!#1fht;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
$Connection = New-Object System.Data.SqlClient.SqlConnection $Connection_string
$Connection.Open()
$Command = New-Object System.Data.SqlClient.SqlCommand
$Command.Connection = $Connection
$Command.CommandText = $query
$Reader = $Command.ExecuteReader()
while ($Reader.Read()) {
$Reader.GetValue(0)
}
$Connection.Close()
}

invoke-sql 'Select Distinct TABLE_NAME From information_schema.TABLES;'

Referenzen

Unterstütze HackTricks

Last updated