Saturday, September 20, 2008

PHP Security - Cek Bug PHP Script

Setelah terampungkan script php yang telah kita buat ada kalanya bug-bug yang tidak diinginkan bercokol di sela-sela script yang telah siap dionlinekan. Dan tentunya bug ini bisa berakibat fatal sehingga dapat dimanfaatkan oleh para intruder-intruder yang berusaha untuk mengekploitasi system.

Dan siapa sangka script php yang telah dibuat itu aman dari kerentanan dalam masalah security. :D~~~

Lalu, bagaimana mencegah sang hacker mengekploitasi, bahkan merusak website anda, bagaimana mencegah secara pasti dan mengetahui script yang telah dibuat memiliki bug yang fatal, bagaimana menangani itu semua ?? :D

Sebelum kita beralih maju ke langkah selanjutnya ada baiknya untuk mengenali bug popular yang paling sering diexploitasi.

Penulis akan mencoba untuk memberikan sedikit penjelasan, bug yang sering dijumpai dalam aplikasi berbasis web khususnya Content Management system maupun yang lainnya. Di antaranya :

- XSS ( Cross Site Scripting )
- SQL Injection
- RFI ( Remote File Inclusion )

Cross Site Scriping
Lebih dikenal dengan sebutan XSS. Kesalahan ini terjadi karena tidak adanya filtering pada html maupun java script.

Tetapi pada dasarnya defacing ( perubahan kontent ) hanya terjadi disisi client saja. Yang paling fatal dari bug ini adalah anda dapat mencuri cookie kemudian menggunakannya untuk berbuat sesuatu yang ... :D~~

Contohnya :
Sensored [ maaf ]

SQL Injection
SQL Injection sebenarnya terjadi karena seorang attacker yang mencoba melakukan inject query sql melalui form ataupun via address bar pada browser internet. Sebagai contohnya ketika penulis mencoba login sebagai admin pada situs pemerintah Sumatra Selatan ( http://www.sumsel.go.id ). Dengan menggunakan query ' or 1=1-- penulis pun berhasil login. Pada dasarnya ' atau single quote dan or 1=1-- itu berfungsi untuk membingungkan si server sql, sehingga yang dilakukan oleh server sql adalah menjalankan query " select * ". Yang terjadi adalah penulis diloloskan untuk login sebagai admin.

Berikut adalah gambar yang penulis capture ketika penulis berhasil login sebagai admin pada situs http://www.sumsel.go.id
tutorial jaringan komputer


tutorial jaringan komputer

Gambar ini diambil sebelum penulis mengontak webmaster via email untuk mempatch script phpnya.

RFI ( Remote File Inclusion )
Sebelumnya silahkan membaca artikel fungsi require, require_once, include, dan include_one RFI sendiri terjadi karena kesalahan programmer ketika melakukan coding, yakni menggunakan variable dalam fungsi-fungsi tersebut. Apabila user memasukkan url evil script miliknya pada variable yang digunakan dalam fungsi require ataupun include, yang terjadi adalah evil script tersebut dapat dieksekusi secara remote, dengan kata lain, attacker dapat menjalan command di server milik anda untuk merubah konten situs atau bahkan merusaknya. :D~~

Untuk contohnya silahkan anda cari di www.milw0rm.com :D~

Keywordnya Remote File Inclusion. :D~

Pengecekan BUG
Pengecekan bug sendiri bisa dilakukan secara manual. Hmmm ... tentunya ini akan memakan banyak waktu. Terbentuklah tools yang dapat secara cepat dan otomatis menemukan bug-bug yang terselip di php script secara tidak sengaja maupun sengaja. :D~

Pada dasarnya untuk mengecek bug dapat dilakukan secara online maupun offline. Penulis sarankan pengecekan bug ini dilakukan di localhost anda ( offline ) saja.

Cek Bug XSS
Tools untuk mengecek XSS pada script php milik anda adalah sebuah addons mozilla firefox yang disediakan secara gratis. Penginstallannya pun tergolong mudah, berikut juga cara penggunaannya.

Tools tersebut dapat anda download disini :
http://www.securitycompass.com/exploit_me/xssme/xssme-0.2.1.xpi

Cek Bug SQL Injection
Untuk periode saat ini defacing dengan SQL Injection digolongkan paling favorit dan tentunya paling banyak digunakan, mungkin karena penyerangan yang dilakukan cukup mudah, cukup memiliki dasar pengetahuan syntax sql. Lagi-lagi sebuah addons mozilla firefox yang cukup ampuh dan mudah digunakan telah disediakan untuk melakukan cek bug sql injection. :D

Anda dapat mendownloadnya disini :
http://www.securitycompass.com/exploit_me/sqlime/sqlime-0.2.xpi

Penggunaanya pun tidak terlalu sulit.

Cek BUG Remote File Inclusion
Sebelumya anda download terlebih dahulu scriptnya disini http://www.newhack.org/dl_jump.php?id
Setelah itu silahkan download active perl, compiler interpreter ini nantinya digunakan untuk menjalankan script inclusionscanner.pl.
Dan kemudian copykan inclusionscanner.pl tersebut ke direktori c:\perl\bin

Langkah selanjutnya :

1. Masukkan script yang akan anda scan kedalam sebuah direktori di c:\perl php.

ex : c:\perl\wordpress.

2. Masuk ke command prompt, start | run | cmd | enter

3. Setelah itu masuk ke direktory c:\perl\bin, cd c:\perl\bin

4. Jalankan scriptnya,

C:\Perl\bin>perl.exe inclusionscanner.pl

#Will check a directory for all includes and unsets

#Coded by Ironfist (ironsecurity.nl)

#Usage: create a folder in your perlfolder and put the files to be scanned in it

, next type the folder name below (eg myfolder)

#GIVES ERRORS WHEN CHECKING SUBFOLDERS: IGNORE THEM :)

Directory to read? c:\perl\wp

kemudian lihat hasilnya di c:\perl\bin\result.html

berikut hasil scan ketika penulis mencoba untuk melakukan cek inclusion pada wordpress-2.3.3 :

FOUND: require_once($locale_file);
in c:\perl\wp/wp-settings.php FOUND: require_once($import_root . '/' . $file);
in c:\perl\wp/wp-admin/import.php FOUND: include_once($this->PluginDir . "class-smtp.php");
in c:\perl\wp/wp-includes/class-phpmailer.php FOUND: include($lang_path.'phpmailer.lang-'.$lang_type.'.php');
in c:\perl\wp/wp-includes/class-phpmailer.php FOUND: include($lang_path.'phpmailer.lang-en.php');
in c:\perl\wp/wp-includes/class-phpmailer.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: include($template);
in c:\perl\wp/wp-includes/template-loader.php FOUND: require_once($_template_file);
in c:\perl\wp/wp-includes/theme.php

woww !!! :D~~ silahkan di exploitasi eh di patch script milik anda. :D~~

CD Hacking Tools Gratis

Tersedia untuk download gratis CD Hacking Tool. Di dalam CD ini tersedia berbagai macam tool2x hacking yang nantinya akan sangat bermanfaat untuk kita gunakan sebagai experiment ataupun keperluan yang lainnya.

XxxPass-Team 2007
Danger Cracking & Hacking Tools - Ver 1.0

- Exploit Collection (4 Tools)
- Google Hacking (4 Tools)
- Keyloggers (5 Tools)
- Binder & Packer (15 Tools)
- Flood_DOS (20 Tools)
- Messenger (11 Tools)
- Bruter (9 Tools)
- Anonimity (1 Tool)
- !!! $$$ !!! (13 Tools)
- AIO

Exploit Collection

1. 10377 Exploit
2. SMF ShoutBox Xss & HTML Injection
3. SMF Ultimate Shoutbox Cookie Disclosure Exploit
4. Firefox_BuG

Messenger

1. MSN Extreme 3.0
2. MSN Spy Lite v1.0
3. Yahoo Hack!
4. Hotmail Email Hacker
5. Hotmail Hacker Gold
6. HotmailHack
7. YahooUltraCracker
8. winks,moods,mugins,weemees and meegos + Installer
9. MSN Messenger Account Cracker v2.0
10. SH Yahoo Pass Sender 1.1
11. Yahoo Password Decoder

Google Hacking

1. Alt GooGle
2. Google Version 1.2
3. Google H4ck3r (3 programs)
4. GooLink

Keyloggers

1. Elgolf 1.0 Beta
2. ESK KeyLogger
3. Glog Keylogger
4. HermanAgent
5. IKlogger0.1

Bbruter

1. WebCrack v4.0
2. Brutus
3. Crack FTP
4. FTP Brute Hacker
5. phpbb bruteforcer
6. PhpBB Pass Extractor
7. phpBB Cracker
8. Email Cracker
9. FTP Brute Forcer

!!! $$$ !!!

1. Cmaster
2. CC Verify
3. CWizard
4. THCC
5. Visa Card Generator 06
6. Carcabot_Mass_Email
7. CcHack
8. CC-Fake
9. cvv2c
10. DesertCVV2
11. id-fake
12. Paypal-Link-Spoofed
13. HoW to get Credit Cards Fresh and Fastest

AIO

1. Uploader for All
2. Cool Small Usefull Dp

Flood DOS

1. Flowbabeflow
2. FreeSiteKiller V 2.01
3. Webxgrab
4. Web Attacker ENG
5. TheRapist-Dos Attacker
6. HybridFlood2
7. Ati-russ 3.0
8. Http Bomber v1.001b
9. Sprut
10. DoS_5
11. etherflood
12. DoSAttacker
13. phpBB Dos
14. phpBB Attacker
15. Ping Attack
16. Site Nuke
17. Divine Intervention
18. UC Forum Spammer
19. Inferno Nuker
20. Multiple Site Flood

Silahkan di download di :

http://rapidshare.com/files/24341192/XxxPass-C_H_Ver1.0-_2007-part1.rar.html
http://rapidshare.com/files/24350769/XxxPass-C_H_Ver1.0-_2007-part2.rar.html
Pass : XxxPass_DJ_haselking

Mirror di tempat lain ( Tambahan dari Mas Yudhie -- Terima kasih banyak Mas :D )
http://www.cocosunroofs.com/bbs/configs/free/inc0mp13te/XxxPass-C_H_Ver1.0-_2007-part1.rar
http://www.cocosunroofs.com/bbs/configs/free/inc0mp13te/XxxPass-C_H_Ver1.0-_2007-part2.rar
Pass : XxxPass_DJ_haselking

Hack ... hack ... hack the World !! :D
Kita belajar security, tapi kita juga harus tahu akan kelemahannya dulu.

Klik Kanan Gempa

-------
Script ini hanya jalan di Internet Explorer

Jika anda klik kanan maka browser akan bergetar !!
-------



contoh buka: http://www.ilmuwebsite.com/javascript/klik-gempa.htm

<html>
<head>
</head>
<body bgcolor="#000000">

<SCRIPT language=JavaScript>
<!--inizio-----mess per copiare

document.onmousedown=click
function click() {
times2=0
if ((event.button==2) || (event.button==3))
{
alert("Jangan klik kanan !!");
shake(20)
}
}
function shake(n) {
if (parent.moveBy) {
for (i = 20; i > 0; i--) {
for (j = n; j > 0; j--) {
parent.moveBy(0,i);
parent.moveBy(i,0);
parent.moveBy(0,-i);
parent.moveBy(-i,0);
         }
      }
   }
}
//fine copia-->
</SCRIPT>

</body>

</html>

Membuat Zip dengan PHP

Awalnya penulis penasaran dengan Joomla bagaimana cara Joomla mengekstrak file ZIP. Contohnya pada saat kita menginstall themes baru di Joomla. Kita cukup memasukkan file zip dan secara otomatis Joomla akan mengekstraknya. Nah, disinilah penulis mencoba mengutak-atik isi joomla, Tetapi tidak bisa menemukan script apa yang dipakai joomla untuk mengekstrak ZIP tersebut. Penulis mencoba mencari di google, bertanya sana-sini, tetapi tetap tidak bisa menemukan cara membuat zip dengan php. Akhirnya penulis menyerah.

Ingin tau lebih lanjut, Silahkan Download Sourcenya disini...


Hacking Modem Speedy dan Penanganannya

Sebenarnya sudah lama sekali telkom mengadakan diskon besar-besaran untuk meraih pelanggan sebanyak-banyaknya. Udah dulu promosinya. :D

Sama dengan bug-bug yang lainnya, konfigurasi default akan membuat pihak luar yang tidak diinginkan seperti cracker dengan mudah mengeksploitasi secara besar-besaran sehingga memanen username dan password menjadi sesuatu yang memungkinkan sekali untuk dilakukan. Contoh bug yang buruk, yaitu username default dan password yang default.

Sebelum ngejabarin masalah teknisnya, berikut alat-alat yang diperlukan :

Browser Internet ( mau yang banyak bugnya, maupun yang sedikit bugnya )

Website dengan log system flat file ( diambil dari artikelnya Anggi J. )

Aplikasi Instant Messaging, ex : Yahoo Messenger ( Social Engineering )

Internet Password Asterisk Reveal

( http://www.nsauditor.com/freeware/downloads/IEAstRecover.exe )


Langkah Pertama

Silahkan anda baca artikel http://www.ilmuwebsite.com/detil_php_tutorial/2/_Membuat_System_LOG_dengan_FLAT_FILE/
, cara memasang log system flat file. Digunakan untuk mendapatkan alamat ip dari sang korban.


Langkah Ke Dua

Inti dari artikel ini adalah pencarian user yang akan dijadikan korban. Anda bisa menggunakan aplikasi IRC ataupun instant messaging yang lainnya. Alangkah baiknya anda menggunakan aplikasi IRC, seperti mIRC ataupun yang lainnya, karena fasilitas whois yang ada didalamnya mempermudah kita untuk segera mengetahui IP sang korban, tapi pada beberapa kasus, adakalanya user yang advanced menggunakan anonymous proxy yang tentunya menyembunyikan IP asli miliknya. Sehingga perlu teknik social engineering yang lebih ampuh lagi. Berikut ada sedikit percakapan antara seseorang sebagai intruder dengan sang korban menggunakan aplikasi yahoo messenger :


Mamang (intruder) : dah liat situs ini belom, ilmuwebsite.com ???

Sang_korban : apaan tuh ?

Mamang (intruder ) : situs keren punya orang keren, ngebahas tentang berbagai artikel mengenai kekerenan. Coba deh liat.

Sang_korban : coba, gw liat dulu. # kena!!

Mamang ) intruder ) : gimana keren kan ? eh, gw off dulu yah. C U


Situs ilmuwebsite.com tersebut, merupakan sebuah contoh situs yang anda gunakan untuk merecord ip sang korban. Anda bisa memasang log system flat file pada situs milik anda. Dengan mengusahakan sang korban tertarik untuk mengunjungi situs yang telah dipasang log system flat file.

Contoh IP yang sudah dilog dalam flat file,


Waktu: Fri, 06 Jul 2007 12:47:04 +0700 | IP asli: 125.161.2.85 | Browser: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90) | URL: / | Referrer: | Proxy: | Koneksi:

Langkah Ketiga

Setelah mendapatkan alamat ip sang korban, yang perlu anda lakukan adalah membuka browser, kemudian pada address bar isi dengan alamat ip yang telah anda dapatkan, sebagai contoh yang saya dapatkan adalah http://125.160.#.# isikan username dengan admin dan passwordnya admin. Jika anda beruntung, anda akan langsung dihadapkan kepada halaman username ADSL dan tentunya password yang asterisk. Untuk membuka password yang asterisk, anda cukup menggunakan Internet Password Asterisk Reveal.


Penanganan

Sebenarnya dengan mengganti password yang default pun itu sudah bisa mencegah teknik seperti ini. Dan intinya password yang kuatlah yang susah untuk dimanfaatkan. Password yang kuat ini memiliki lebih dari 8 digit, dan merupakan gabungan dari angka huruf dan special character. Ex: ilmVw3851te --> bentuk lain dari ilmuwebsite


Sayangnya, telkom telah menerapkan system yang unique, sehingga account speedy tidak bisa digunakan pada jaringan telepon yang berbeda. Dan tentunya anda tidak bisa men-take over account yang sudah didapatkan. Mohon Maaf, artikel ini hanya sebagai contoh pembelajaran.

Default password untuk setiap modem :

http://www.elitehackers.info/defaultpasslist.php