2016-08-15 8 views
6

Obecnie zajmę się serwerem git i próbuję dowiedzieć się, jak zmodyfikować pliki pakietów. Moje żądania git są uruchamiane przez proxy Burp, jednak nie jestem pewien, jak manipulować plikami pakietu, które widzę wysyłane do punktu końcowego git-receive-pack. Czy są jakieś dobre narzędzia do wprowadzania prostych modyfikacji w pakowaniu plików, takie jak zmiana nazwy i ścieżki przesyłanego pliku?Sposób modyfikacji plików pakietu git?

Znalazłem lotsofdocumentation na pliku pakietu i commands for manipulating them za pośrednictwem CLI git. Problem polega jednak na tym, że chcę tworzyć uszkodzone pliki pakietów, których git nie pozwala. Znalazłem także Dulwich, ale dokumenty nie wydają się być świetne i nie mogę znaleźć żadnych przykładów w pobliżu tego, co chcę zrobić.

Wszelkie sugestie dotyczące modyfikowania plików tych opakowań byłyby niezwykle użyteczne.

+2

Jakie są Twoje powody, dla których chcesz to zrobić? –

+0

@ Code-Apprentice, jak wspomniano w moim wpisie, obecnie zajmę się serwerem git. Podejrzewam, że wierzy w treść pliku pakietu i nie sprawdza, gdzie pliki pakietu mają pisać. Chciałbym potwierdzić to założenie: – GBleaney

+0

@ GBleaney Nie jestem pewien, co masz na myśli, mówiąc "sprawdzanie, gdzie pliki pakietów mówią" ... Serwer prawdopodobnie nie zapisuje żadnych plików na podstawie ścieżek w plikach pakietów . Czy na pewno chcesz utworzyć plik _malformed_ pack, aby umożliwić fuzzing serwerowi, czy też chcesz utworzyć legalny plik pakietu z własnymi danymi? To są dwa bardzo różne problemy. Jeśli pierwsza, to żadne narzędzie nie pozwoli ci tego zrobić i będziesz musiał zbudować narzędzie, które tworzy fałszywe pliki pakietów. Jeśli to drugie, możesz użyć dowolnego narzędzia, po prostu nakarm je swoimi (zmodyfikowanymi) obiektami ... –

Odpowiedz

3

Jeśli chodzi o przykłady pakietów, możesz sprawdzić testy związane z pakietem dołączone do Git i sprawdzić, czy możesz wyprowadzić z nich własne (wadliwe) pakiety.

Na przykład:

  • t/t5300-pack-object.sh zawiera pliki pakiet z fałszywymi argumentami, niedostępnych obiektów i kolizji SHA1,
  • t/t5500-fetch-pack.sh obejmuje pobierania pakietów z brakującymi piśmiennictwa,
  • t/t3210-pack-refs.sh pliku includes pakowane-refs.lock testowanie i rozwiązywanie konfliktów,
  • t/t5400-send-pack.sh obejmuje wysyłanie plików z pakietami, które powinny się nie powieść (jak na przykład w ustawieniu denyNonFastForward)
Powiązane problemy