# Az - MySQL Database Privesc

{{#include ../../../banners/hacktricks-training.md}}

## MySQL Database Privesc
Za više informacija o SQL bazi podataka, proverite:

{{#ref}}
../az-services/az-mysql.md
{{#endref}}

### `Microsoft.DBforMySQL/flexibleServers/read` && `Microsoft.DBforMySQL/flexibleServers/write`

Sa ovom dozvolom, možete kreirati, ažurirati ili brisati MySQL Flexible Server instance na Azure-u. Ovo uključuje obezbeđivanje novih servera, modifikovanje konfiguracija postojećih servera ili ukidanje servera.
```bash
az mysql flexible-server create \
--name <ServerName> \
--resource-group <ResourceGroupName> \
--location <Location> \
--admin-user <AdminUsername> \
--admin-password <AdminPassword> \
--sku-name <SkuName> \
--storage-size <StorageSizeInGB> \
--tier <PricingTier> \
--version <MySQLVersion>
```
Na primer, ova dozvola omogućava promenu MySQL lozinke, što je korisno, naravno, u slučaju da je MySQL autentifikacija omogućena.
```bash
az mysql flexible-server update \
--resource-group <resource_group_name> \
--name <server_name> \
--admin-password <password_to_update>
```
Dodatno, potrebno je omogućiti javni pristup ako želite da pristupite sa neprivatnog krajnjeg tačke, da biste to omogućili:
```bash
az mysql flexible-server update --resource-group <resource_group_name> --server-name <server_name> --public-access Enabled
```
### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.DBforMySQL/flexibleServers/backups/read`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`

Sa ovim dozvolama možete obnoviti MySQL server iz rezervne kopije:
```bash
az mysql flexible-server restore \
--resource-group <resource_group_name> \
--name <restore_server_name> \
--source-server <server_name> \
--yes
```
### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read`

Sa ovom dozvolom, možete konfigurisati Azure Active Directory (AD) administratore za MySQL Flexible Server. Ovo se može iskoristiti postavljanjem sebe ili drugog naloga kao AD administratora, čime se dodeljuje potpuna administrativna kontrola nad MySQL serverom. Važno je da fleksibilni server ima dodeljene korisničke upravljane identitete za korišćenje.
```bash
az mysql flexible-server ad-admin create \
--resource-group <ResourceGroupName> \
--server-name <ServerName> \
--display-name <ADAdminDisplayName> \
--identity <IdentityNameOrID> \
--object-id <ObjectID>
```
{{#include ../../../banners/hacktricks-training.md}}
