Az - SQL

Support HackTricks

기본 정보

문서에서 참조: Azure SQL은 Azure 클라우드에서 SQL Server 데이터베이스 엔진을 사용하는 관리되고 안전하며 지능적인 제품군입니다. 이는 서버의 물리적 관리에 대해 걱정할 필요가 없으며 데이터 관리에 집중할 수 있다는 것을 의미합니다.

Azure SQL에는 세 가지 주요 제공 사항이 있습니다:

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

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

  3. Azure SQL Server on Azure VMs: 이는 인프라로서의 서비스(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;'

참고 자료

HackTricks 지원

Last updated