Lewati ke isi

Git & Versioning

Fase: Fondasi · Estimasi: 25 menit · Prasyarat: F4 Tujuan akhir: Paham konsep Git (repo, commit, riwayat) & kenapa kebocoran .git jadi tambang emas OSINT. Glossary.


1. Briefing

Hampir semua developer pakai Git untuk menyimpan kode. Masalahnya, Git menyimpan seluruh riwayat — termasuk rahasia yang dulu ditulis lalu "dihapus". Bagi operator intel, repo Git bocor = buku harian lengkap target.


2. Materi Inti

2.1 Apa itu Git?

Git = tombol "save" raksasa yang menyimpan setiap perubahan kode dari waktu ke waktu, lengkap siapa & kapan. commit 1 (tambah login) → commit 2 (perbaiki bug) → commit 3 (hapus password)

Walau commit 3 "menghapus" password, isinya tetap tersimpan di riwayat commit sebelumnya. | Istilah | Arti | |---------|------| | Repo | folder proyek yang dilacak Git | | Commit | satu "snapshot"/simpanan perubahan | | History | rangkaian semua commit | | Remote | salinan repo di server (mis. GitHub) |

2.2 Worked Example (perintah Git)

$ git clone https://github.com/contoh/repo.git   # salin repo
$ cd repo
$ git log --oneline
a1b2c3d hapus password        # commit terbaru
9f8e7d6 tambah fitur login
$ git show 9f8e7d6            # lihat isi commit lama → password masih di sini!

Pelajaran: "menghapus" di commit baru tidak menghapus dari riwayat.

2.3 Folder .git — si penyimpan rahasia

Tiap repo punya folder tersembunyi .git/ berisi seluruh riwayat. Kalau folder ini tak sengaja ter-upload ke web server: https://target.com/.git/ (bisa diunduh siapa saja) → rekonstruksi seluruh kode + riwayat → password / API key yang pernah di-commit ikut bocor.

Rahasia yang pernah masuk Git = bocor selamanya (harus diganti, bukan sekadar "dihapus").


Checkpoint

  • [ ] Tahu apa itu commit & history.
  • [ ] Paham kenapa .git ter-upload itu bahaya.
  • [ ] Tahu rahasia yang pernah di-commit harus diganti.

3. Kacamata Intelijen Siber

  • Repo bocor = footprinting tingkat lanjut: tahu teknologi, struktur internal, bahkan kredensial.
  • Analis periksa riwayat commit untuk rahasia yang "terhapus".
  • Defensif: jangan commit rahasia; pakai .gitignore & secret manager; kalau terlanjur, ganti kuncinya.

Purple: mencari .git bocor (red) = checklist audit agar servermu tak membocorkannya (blue).


Kesalahan Umum

Salah Benar
"Hapus password di commit baru = aman" Masih ada di riwayat; harus diganti
Commit file .env/kunci Pakai .gitignore; jangan pernah commit rahasia
Abaikan .git/ di web target Cek /.git/ — sering bocor & emas OSINT

4. Hubungan ke Write-up CTF

  • Repositori Terlupakan.git leak → kredensial.
  • Jejak Developer → web + git leak → API key.

Trik Cepat Memahami

3 zona Git -- bayangkan mengirim paket:

Working (mejamu) -> git add -> Staging (kardus siap kirim) -> git commit -> Repo (gudang lokal) -> git push -> Remote (gudang online).

  • Mesin waktu: git reflog menyimpan SEMUA langkahmu -- salah hapus/reset masih bisa diselamatkan.
  • Pelajaran intel terpenting: menghapus file rahasia lalu commit TIDAK menghilangkannya -- versi lama tetap tersimpan di history. Inilah kenapa gitleaks/trufflehog bisa menambang password dari repo. Rahasia yang pernah ter-commit = anggap sudah bocor, ganti kuncinya.

5. Rangkuman

  • Git melacak setiap perubahan (repo/commit/history).
  • .git/ simpan seluruh riwayat; bocor di server = kode+rahasia direkonstruksi.
  • Rahasia yang pernah di-commit = bocor selamanya.
  • Cari repo/commit publik = OSINT sah.

6. Uji Pemahaman

  1. Apa itu commit & history?
  2. Kenapa .git/ ter-upload berbahaya?
  3. Benar/salah: "Hapus password di commit baru = hilang total." Jelaskan.
  4. Perintah lihat riwayat commit? 5 (PG). Menemukan API key di repo GitHub publik = A. Meretas ilegal · B. OSINT · C. Brute-force · D. Enkripsi
Kunci Jawaban
  1. Commit = snapshot perubahan; history = rangkaian seluruh commit.
  2. Seluruh riwayat kode bisa diunduh & direkonstruksi, termasuk rahasia lama.
  3. Salah. Tetap ada di riwayat commit sebelumnya; harus diganti.
  4. git log.
  5. B (selama membaca yang dipublikasikan; tetap etis).

7. Misi Berikutnya

Lanjut ke F11 — Pengantar Kriptografi.


LIGHTSIBER · "Yang pernah ditulis di Git, terekam selamanya."