Az - SQL

Support HackTricks

기본 정보

[문서에서:] (https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview) Azure SQL은 Azure 클라우드에서 SQL Server 데이터베이스 엔진을 사용하는 관리형, 안전하고 지능적인 제품군입니다. 이는 서버의 물리적 관리에 대해 걱정할 필요가 없으며, 데이터 관리에 집중할 수 있음을 의미합니다.

Azure SQL은 세 가지 주요 제공 사항으로 구성됩니다:

  1. Azure SQL 데이터베이스: 이는 완전 관리형 데이터베이스 서비스로, Azure 클라우드에서 개별 데이터베이스를 호스팅할 수 있습니다. 고유한 데이터베이스 패턴을 학습하고 맞춤형 추천 및 자동 조정을 제공하는 내장 지능을 제공합니다.

  2. Azure SQL 관리형 인스턴스: 이는 더 큰 규모의 전체 SQL Server 인스턴스 범위 배포를 위한 것입니다. 최신 SQL Server 온프레미스(Enterprise Edition) 데이터베이스 엔진과 거의 100% 호환성을 제공하며, 일반적인 보안 문제를 해결하는 네이티브 가상 네트워크(VNet) 구현과 온프레미스 SQL Server 고객에게 유리한 비즈니스 모델을 제공합니다.

  3. Azure VM에서의 Azure SQL Server: 이는 서비스로서의 인프라(IaaS)이며, 온프레미스에서 실행되는 서버처럼 운영 체제 및 SQL Server 인스턴스에 대한 제어를 원하는 마이그레이션에 가장 적합합니다.

열거

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>

연결 및 SQL 쿼리 실행

예제 Az WebApp 열거하기에서 연결 문자열(자격 증명 포함)을 찾을 수 있습니다:

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;'

References

HackTricks 지원하기

Last updated