mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-07 21:30:47 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-static-w
This commit is contained in:
@@ -4,31 +4,35 @@
|
||||
|
||||
## Static Web Apps Basic Information
|
||||
|
||||
Azure Static Web Apps ni huduma ya wingu kwa ajili ya kuhost **static web apps with automatic CI/CD from repositories like GitHub**. Inatoa usambazaji wa maudhui duniani kote, backends zisizo na seva, na HTTPS iliyojengwa ndani, ikifanya iwe salama na inayoweza kupanuka. Hata hivyo, hatari ni pamoja na CORS zisizo sahihi, uthibitishaji usiofaa, na uharibu wa maudhui, ambayo yanaweza kufichua apps kwa mashambulizi kama XSS na data leakage ikiwa hayataendeshwa vizuri.
|
||||
Azure Static Web Apps ni huduma ya wingu kwa ajili ya kuhost **static web apps with automatic CI/CD from repositories like GitHub**. Inatoa usambazaji wa maudhui duniani kote, backends zisizo na seva, na HTTPS iliyojengwa ndani, ikifanya iwe salama na inayoweza kupanuka. Hata hivyo, ingawa huduma inaitwa "static", haimaanishi kuwa ni salama kabisa. Hatari ni pamoja na CORS zisizo na usanidi mzuri, uthibitishaji usio na kutosha, na uharibu wa maudhui, ambayo yanaweza kufichua apps kwa mashambulizi kama XSS na uvujaji wa data ikiwa hayataendeshwa vizuri.
|
||||
|
||||
### Deployment Authentication
|
||||
|
||||
> [!TIP]
|
||||
> Wakati App ya Static inaundwa unaweza kuchagua **deployment authorization policy** kati ya **Deployment token** na **GitHub Actions workflow**.
|
||||
|
||||
- **Deployment token**: Token inaundwa na kutumika kuthibitisha mchakato wa uhamasishaji. Mtu yeyote mwenye **token hii inatosha kuhamasisha toleo jipya la app**. **Github Action inahamishwa kiotomatiki** katika repo na token katika siri ili kuhamasisha toleo jipya la app kila wakati repo inasasishwa.
|
||||
- **GitHub Actions workflow**: Katika kesi hii, Github Action inayofanana sana pia inahamishwa katika repo na **token pia inahifadhiwa katika siri**. Hata hivyo, Github Action hii ina tofauti, inatumia **`actions/github-script@v6`** action kupata IDToken ya repository na kuitumia kuhamasisha app.
|
||||
- Hata kama katika kesi zote mbili action **`Azure/static-web-apps-deploy@v1`** inatumika na token katika param ya `azure_static_web_apps_api_token`, katika kesi hii ya pili token ya nasibu yenye muundo halali kama `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` inatosha kuhamasisha app kwani uthibitishaji unafanywa na IDToken katika param ya `github_id_token`.
|
||||
|
||||
### Web App Authentication
|
||||
### Web App Basic Authentication
|
||||
|
||||
Inawezekana **kusanidi nenosiri** ili kufikia Web App. Kihifadhi cha wavuti kinaruhusu kusanidi ili kulinda mazingira ya majaribio pekee au mazingira yote ya majaribio na uzalishaji.
|
||||
Inawezekana **kuunda nenosiri** ili kufikia Web App. Kihifadhi cha wavuti kinaruhusu kuunda ili kulinda mazingira ya staging pekee au mazingira yote ya staging na uzalishaji.
|
||||
|
||||
Hivi ndivyo wakati wa kuandika, app ya wavuti iliyo na nenosiri inaonekana:
|
||||
Hivi ndivyo wakati wa kuandika app ya wavuti iliyo na nenosiri inavyoonekana:
|
||||
|
||||
<figure><img src="../../../images/azure_static_password.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
||||
Inawezekana kuona **kama nenosiri lolote linatumika** na mazingira gani yanayolindwa na:
|
||||
Inawezekana kuona **kama nenosiri lolote linatumika** na ni mazingira gani yanayolindwa na:
|
||||
```bash
|
||||
az rest --method GET \
|
||||
--url "/subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.Web/staticSites/<app-name>/config/basicAuth?api-version=2024-04-01"
|
||||
```
|
||||
Hata hivyo, hii **haitaonyesha nenosiri kwa maandiko wazi**, bali kitu kama: `"password": "**********************"`.
|
||||
|
||||
### Routes
|
||||
### Routes & Roles
|
||||
|
||||
Routes zinaelezea **jinsi maombi ya HTTP yanayokuja yanavyoshughulikiwa** ndani ya programu ya wavuti isiyohamishika. Zimewekwa katika faili **`staticwebapp.config.json`**, zinadhibiti uandishi wa URL, mwelekeo, vizuizi vya ufikiaji, na ruhusa kulingana na majukumu, kuhakikisha usimamizi mzuri wa rasilimali na usalama.
|
||||
Routes zinaelezea **jinsi maombi ya HTTP yanavyoshughulikiwa** ndani ya programu ya wavuti isiyohamishika. Zimewekwa katika faili **`staticwebapp.config.json`**, zinadhibiti uandishi wa URL, mwelekeo, vizuizi vya ufikiaji, na mamlaka kulingana na majukumu, kuhakikisha usimamizi mzuri wa rasilimali na usalama.
|
||||
|
||||
Mfano baadhi:
|
||||
```json
|
||||
@@ -58,7 +62,20 @@ Mfano baadhi:
|
||||
}
|
||||
}
|
||||
```
|
||||
## Uhesabu
|
||||
Note jinsi inavyowezekana **kulinda njia kwa kutumia jukumu**, kisha, watumiaji watahitaji kuthibitisha kwenye programu na kupewa jukumu hilo ili kufikia njia hiyo. Pia inawezekana **kuunda mialiko** inayotoa majukumu maalum kwa watumiaji maalum kuingia kupitia EntraID, Facebook, GitHub, Google, Twitter ambayo inaweza kuwa na manufaa katika kupandisha hadhi ndani ya programu.
|
||||
|
||||
> [!TIP]
|
||||
> Kumbuka kwamba inawezekana kuunda mipangilio ya Programu ili **mabadiliko kwenye faili `staticwebapp.config.json`** yasikubaliwe. Katika kesi hii, huenda haitoshi kubadilisha faili kutoka Github, bali pia **kubadilisha mipangilio kwenye Programu**.
|
||||
|
||||
URL ya staging ina muundo huu: `https://<app-subdomain>-<PR-num>.<region>.<res-of-app-domain>` kama: `https://ambitious-plant-0f764e00f-2.eastus2.4.azurestaticapps.net`
|
||||
|
||||
### Identiti Zinazodhibitiwa
|
||||
|
||||
Azure Static Web Apps zinaweza kuundwa kutumia **identiti zinazodhibitiwa**, hata hivyo, kama ilivyotajwa katika [maswali haya ya mara kwa mara](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-) zinasaidiwa tu **kutoa siri kutoka Azure Key Vault kwa madhumuni ya uthibitishaji, si kufikia rasilimali nyingine za Azure**.
|
||||
|
||||
Kwa maelezo zaidi unaweza kupata mwongozo wa Azure kutumia siri ya vault katika programu ya static katika https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets.
|
||||
|
||||
## Uhesabuji
|
||||
```bash
|
||||
# List Static Webapps
|
||||
az staticwebapp list --output table
|
||||
@@ -86,19 +103,24 @@ az rest --method GET \
|
||||
## Once you have the database connection name ("default" by default) you can get the connection string with the credentials
|
||||
az rest --method POST \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/staticSites/<app-name>/databaseConnections/default/show?api-version=2021-03-01"
|
||||
```
|
||||
## Mifano ya Kutengeneza Programu za Mtandao
|
||||
|
||||
Unaweza kupata mfano mzuri wa kutengeneza programu ya mtandao katika kiungo kinachofuata: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github)
|
||||
# Check connected backends
|
||||
az staticwebapp backends show --name <name> --resource-group <res-group>
|
||||
```
|
||||
## Mifano ya Kuunda Programu za Mtandao
|
||||
|
||||
Unaweza kupata mfano mzuri wa kuunda programu ya mtandao katika kiungo kinachofuata: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github)
|
||||
|
||||
1. Fork hifadhi https://github.com/staticwebdev/react-basic/generate kwenye akaunti yako ya GitHub na uiite `my-first-static-web-app`
|
||||
2. Katika lango la Azure tengeneza Programu ya Mtandao ya Kawaida ukikamilisha ufikiaji wa Github na kuchagua hifadhi mpya iliyoforked hapo awali
|
||||
3. Iunda, na subiri dakika chache, na angalia ukurasa wako mpya!
|
||||
2. Katika lango la Azure, tengeneza Programu ya Mtandao ya Kawaida ukichagua ufikiaji wa Github na kuchagua hifadhi mpya iliyoforked hapo awali
|
||||
3. Unda, na subiri dakika chache, na angalia ukurasa wako mpya!
|
||||
|
||||
## Baada ya Utekelezaji
|
||||
## Kuinua Haki na Baada ya Utekelezaji
|
||||
|
||||
Taarifa zote kuhusu kuinua haki na baada ya utekelezaji katika Azure Static Web Apps zinaweza kupatikana katika kiungo kinachofuata:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-static-web-apps-post-exploitation.md
|
||||
../az-privilege-escalation/az-static-web-apps-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Marejeleo
|
||||
|
||||
Reference in New Issue
Block a user