# Données supprimées accessibles dans Github

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

Ces méthodes pour accéder aux données de Github qui ont été supposément supprimées ont été [**rapportées dans cet article de blog**](https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github).

## Accéder aux données de fork supprimées

1. Vous fork un dépôt public
2. Vous committez du code dans votre fork
3. Vous supprimez votre fork

> [!CAUTION]
> Les données commises dans le fork supprimé sont toujours accessibles.

## Accéder aux données de dépôt supprimées

1. Vous avez un dépôt public sur GitHub.
2. Un utilisateur fork votre dépôt.
3. Vous committez des données après qu'il l'ait forké (et il ne synchronise jamais son fork avec vos mises à jour).
4. Vous supprimez l'ensemble du dépôt.

> [!CAUTION]
> Même si vous avez supprimé votre dépôt, tous les changements apportés sont toujours accessibles via les forks.

## Accéder aux données de dépôt privé

1. Vous créez un dépôt privé qui sera éventuellement rendu public.
2. Vous créez une version interne privée de ce dépôt (via le fork) et committez du code supplémentaire pour des fonctionnalités que vous ne rendrez pas publiques.
3. Vous rendez votre dépôt "upstream" public et gardez votre fork privé.

> [!CAUTION]
> Il est possible d'accéder à toutes les données poussées vers le fork interne entre le moment où le fork interne a été créé et le moment où la version publique a été rendue publique.

## Comment découvrir des commits de forks supprimés/cachés

Le même article de blog propose 2 options :

### Accéder directement au commit

Si la valeur de l'ID de commit (sha-1) est connue, il est possible d'y accéder à `https://github.com/<user/org>/<repo>/commit/<commit_hash>`

### Bruteforcer les valeurs SHA-1 courtes

C'est la même méthode pour accéder à ces deux :

- [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)

Et le dernier utilise un sha-1 court qui est bruteforcable.

## Références

- [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}}
