# Dati Cancellati Accessibili in Github

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

Questi modi per accedere ai dati di Github che si suppone siano stati cancellati sono stati [**riportati in questo post del blog**](https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github).

## Accesso ai Dati di Fork Cancellati

1. Forki un repository pubblico
2. Committi codice al tuo fork
3. Cancellare il tuo fork

> [!CAUTION]
> I dati commessi nel fork cancellato sono ancora accessibili.

## Accesso ai Dati di Repo Cancellati

1. Hai un repo pubblico su GitHub.
2. Un utente fork il tuo repo.
3. Committi dati dopo che loro lo hanno forkato (e loro non sincronizzano mai il loro fork con i tuoi aggiornamenti).
4. Cancellare l'intero repo.

> [!CAUTION]
> Anche se hai cancellato il tuo repo, tutte le modifiche apportate ad esso sono ancora accessibili attraverso i fork.

## Accesso ai Dati di Repo Privati

1. Crei un repo privato che alla fine sarà reso pubblico.
2. Crei una versione privata e interna di quel repo (tramite forking) e committi codice aggiuntivo per funzionalità che non intendi rendere pubbliche.
3. Rendi pubblico il tuo repository “upstream” e mantieni il tuo fork privato.

> [!CAUTION]
> È possibile accedere a tutti i dati inviati al fork interno nel periodo tra la creazione del fork interno e la pubblicazione della versione pubblica.

## Come scoprire i commit da fork cancellati/nascosti

Lo stesso post del blog propone 2 opzioni:

### Accesso diretto al commit

Se il valore dell'ID del commit (sha-1) è noto, è possibile accedervi in `https://github.com/<user/org>/<repo>/commit/<commit_hash>`

### Forzatura dei valori SHA-1 brevi

È lo stesso per accedere a entrambi:

- [https://github.com/HackTricks-wiki/hacktricks/commit/8cf94635c266ca5618a9f4da65ea92c04bee9a14](https://github.com/HackTricks-wiki/hacktricks/commit/8cf94635c266ca5618a9f4da65ea92c04bee9a14)
- [https://github.com/HackTricks-wiki/hacktricks/commit/8cf9463](https://github.com/HackTricks-wiki/hacktricks/commit/8cf9463)

E l'ultimo utilizza uno sha-1 breve che è forzabile.

## Riferimenti

- [https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github](https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github)

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