Az - SQL

Support HackTricks

基本情報

ドキュメントから: Azure SQLは、Azureクラウド内のSQL Serverデータベースエンジンを使用する管理された、安全で、インテリジェントな製品のファミリーです。これにより、サーバーの物理的な管理を心配する必要がなく、データの管理に集中できます。

Azure SQLは、主に3つの提供があります。

  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