Berburu Git & SVN Exposure: Source Code Heist
Version Control Systems (VCS) seperti Git dan SVN adalah standar industri untuk kolaborasi kode. Mereka menyimpan setiap perubahan kode, komentar developer, dan riwayat file dalam folder tersembunyi (.git atau .svn).
Jika folder ini di-deploy ke server produksi dan bisa diakses publik, penyerang dapat mengunduh seluruh source code situs web, termasuk file yang sudah dihapus di masa lalu.
1. Mengapa .git Sangat Berbahaya?
Folder .git berisi objek-objek terkompresi yang merepresentasikan kode Anda. Dengan alat sederhana (seperti git-dumper), penyerang bisa:
- Mengunduh indeks Git.
- Merekonstruksi working tree (file asli).
- Membaca log commit (misal: "Fixed bug in login" -> Attacker akan mengecek bug tersebut).
- Mencari hardcoded password yang mungkin sudah dihapus 2 tahun lalu, tapi masih ada di git history.
2. Google Dorks untuk Git
Mencari Directory Listing Git:
inurl:"/.git" intitle:"Index of"
Ini adalah kondisi paling fatal, di mana struktur folder git terlihat jelas.
Mencari File Config Git:
inurl:"/.git/config" -github.com -gitlab.com
File config ini sering berisi URL remote origin yang menyertakan username dan password/token (jika menggunakan HTTP Basic Auth untuk push/pull).
Mencari Key File:
inurl:"/.git/HEAD"
inurl:"/.git/logs/HEAD"
3. Subversion (SVN) Exposure
Meskipun Git lebih populer, banyak sistem legacy (pemerintah/perbankan) masih menggunakan SVN.
Dork SVN Entries:
inurl:".svn/entries"
Dork SVN WC DB:
inurl:".svn/wc.db"
SVN menyimpan database SQLite (wc.db) yang berisi info file.
4. Studi Kasus: "The Exposed Config"
Bayangkan developer melakukan commit file database.php dengan password root, lalu menyadari kesalahannya. Dia mengedit file tersebut, menghapus password, dan melakukan commit baru.
Di website, file database.php sudah aman. TAPI, di folder .git, commit lama yang berisi password masih tersimpan selamanya. Penyerang dengan git log -p bisa melihat password tersebut.
5. Cara Mencegah & Memperbaiki
Solusinya sederhana namun krusial:
- Web Server Config: Blokir akses ke direktori
.gitdan.svn.
Contoh Nginx:location ~ /\.git { deny all; } - Deployment Script: Jangan menyalin folder `.git` ke folder produksi. Gunakan
git archiveatau pipeline CI/CD untuk menyalin hanya file aplikasinya saja (artifact).
🚀 Cek Keamanan Repositori
Apakah folder Git Anda terbuka? Gunakan Dork King untuk memindai jejak VCS di domain Anda.
Ke Generator Dork King