Wednesday, June 13, 2012

Belajar Ajax dan JQuery

Dah lama nggak bikin tutorial coding, yok mari belajar ajax dengan jquery?
Eittzz, sebelumnya sudah pada tahu belum ajax itu apa??

Nih sedikit kutipan dari wikipedia:

Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Selengkapnya

Lha terus? jQuery itu apa?

Nah, ini sedikit contekan dari wikipedia lagi:

jQuery adalah pustaka JavaScript kecil bersumber terbuka yang menekankan pada interaksi antara JavaScript dan HTML. Pustaka ini dirilis pada Januari 2006 di BarCamp NYC oleh John Resig dan berlisensi ganda di bawah MIT dan GPL. Selengkapnya

Lha terus itu fungsinya buat apa?

sek sek,, tunggu sebentar,, pernah pesbukan (main facebook), twitter, koprol atau socmed lainya? nah itu rata rata memakai ajax. mungkin kita tidak sadar akan adanya fungsi ajax, cir ciri web yang memakai ajax adalah sedikit reload halaman.

kita akan coba buat suatu form yang akan mengirim 2 input data, biasanya kalau cuma html dan php mungkin setelah form kita submit, maka halaman akan melakukan proses dengan load halaman “action” yang di tujukan, kalau halaman “action” adalah diri sendiri maka akan di submit seperti refresh halaman.

contoh form http biasa:

1<form action='kirim.php' method='post'>
2
3Nama : <input type='text' name='nama'><br>
4Alamat : <input type='text' name='alamat'><br>
5<input type='submit' value='Kirim'>
6
7form>

Jadinya seperti ini:

Nama :

Alamat :

Nah, ketika di klik kirim maka browser akan melakukan direct/mengirim data menuju file action. tapi berbeda dengan ajax. ajax akan menghandle pengiriman data tanpa kita sadari bahwa data terkirim ke file action. sebenarnya tetep loading juga, tapi kita tidak tahu. jadi dengan fitur ini kita tidak perlu banyak loading / reload halaman yang akan menghabiskan bandwith.

Berikut script yang akan kita buat eksperiment. hee hee

01<script type='text/javascript' src='jq.js'>script>
02<script type='text/javascript'>
03$(document).ready(function(){
04$("#panel").hide();
05$("#klik").click(function(){
06$("#panel").toggle();
07})
08})
09$(document).ready(function(){
10//$(function(){
11
12$("#frm-ajax").submit(function(){
13$.ajax ({
14url:'kirim.php',
15type:'POST',
16data: $(this).serialize(),
17success: function(data){
18$("#panel").show(1000);
19$("#panel").html(data);
20//alert('adsfasdf');
21}
22
23})
24})
25})
26
27//})
28script>

Skrip berikut menandakan bahwa saya mengambil/me-linkkan halaman saya dengan script jquery.js yang saya rename menjadi jq.js, script library dapat di download di sini: http://docs.jquery.com/Downloading_jQuery
1<script type='text/javascript' src='jq.js'>script>

Selanjutnya:

1<b id='klik'>Toogleb>
2<div id='panel' style='background-color: green; padding: 10px;'>Disini hasil akan di munculkan, tapi di sembunyikan jQuery saat load halamandiv>
3<hr>
4<form id='frm-ajax' onsubmit='return false'>
5Nama : <input type='text' name='nama'><br>
6Alamat : <input type='text' name='alamat'><br>
7<input type='submit' value='Kirim'>
8form>

Scritp di atas di tulis di satu file misal index.php dan jadikan satu dengan file jquery.js selanjutnya kita buat file pemroses datanya.

1
2echo "Nama : ".$_POST['nama']."
Alamat : "
.$_POST['alamat']."
Berhasil di Simpan !!"
;
3?>

Simpan file tersebut dengan nama kirim.php atau dapat di sesuaikan dengan keinginan masing masing. jadi dalam satu folder nanti ada 3 file, yaitu file yang berisi form, file library jquery, dan file pemroses data. kalau punya saya nama filenya adalah: index.php, kirim.php, jq.js

sumber: http://sucipto.net

Wednesday, June 6, 2012

Menjalankan Query SQL via PHP

Studi Kasus : Menjalankan Query SQL via PHP

Kebutuhan : Webserver, Php, dan Mysql telah terinstal dikomputer masing – masing. (Tips :

Anda bisa menginstal bundle seperti AppServ, EasyPHP, atau XAMPP daripada menginstal 3 fitur tersebut satu persatu). Disini saya memakai XAMPP 1.7.2

Untuk menjalankan query – query SQL, kita bisa melakukannya dengan beberapa cara, yaitu melalui command prompt , PHPMyAdmin, atau dengan script PHP. Berikut adalah contoh untuk melakukan operasi database query SQL dengan PHP.

Praktik : Membuat database

1. Pastikan database bernama “db_buku” belum ada.

2. Buka teks editor kesukaan anda, dan ketikkan script php berikut ( anda bisa menggunakan notepad bawaan windows ). Sesuaikan nama user dan password dengan pengaturan mysql anda.
/* config.php */
$host = "localhost"; // hostname
$user = "root"; // nama user mysql
$pass = ""; // password mysql
/*Koneksi ke basis data*/
$connect = mysql_connect($host,$user,$pass) or die("Check
Koneksi");
/*Membuat database bernama buku*/
if ($connect){
echo "Koneksi berhasil";
$createdb = mysql_query("CREATE DATABASE IF NOT EXISTS
db_buku") or die(mysql_error());
}
else { echo "Koneksi Gagal"; }
?>
3. Simpan script diatas dengan nama createDB.php, dan simpan ke direktori document root anda (biasanya berada dalam folder htdocs atau www)

4. Buka browser anda, ketikkan http://localhost
Anda akan melihat tampilan seperti dibawah

5. Klik pada file creteDB.php untuk menjalankannya. Jika sukses, maka akan ditampilkan konfirmasi bahwa koneksi telah berhasil.


6. Voila! Anda sudah mempunyai database bernama db_buku. Silahkan cek di mysql command prompt anda.

Mantra for Hacking and Penetration

Hey guyz...want to try penetration testing without going through the hassle of finding ADD-ONS and adding them to your browser, want to hack into your friends account by stealing cookies(Session Hijacking)? I'm sure the answer is yes, I mean who wouldn't. But hacking into your friends account and messing with him takes a little more than just finding and adding add-ons. But if you know how to do that, then certainly this new browser called MANTRA will make your work even easier. This new Browser is a collection of open source tools bound together with a browser to make the work of penetration testers and hackers easier. Its just like Backtrack as it provides penetration testing tools under one roof for you to just start hacking if you know how to and not going through the hassle of going and finding the tools first.Mantra is available on Backtrack 5, you can get it by click on Applications–>Backtrack–>Vulnerability assessment–>Vulnerability scanner–>Mantra. It is a user friendly,portable and GUI framework, you can carry it on flash drives and CD/DVD.



Before I tell you about the tools that come with this browser I think you should take a peek into the world of HACKING using MANTRA. Here is a video to take you there :



The beta version of Mantra Security Toolkit contains following tools built onto it. You can also always suggest any tools/ scripts that you would like see in the next release.

  1. Access Me
  2. Add N Edit Cookies+
  3. Chickenfoot
  4. CookieSwap
  5. DOM inspector
  6. Domain Details
  7. Firebug
  8. Firebug Autocompleter
  9. Firecookie
  10. FireFTP
  11. Firesheep
  12. FormBug
  13. FoxyProxy
  14. Google Site Indexer
  15. Greasemonkey
  16. Groundspeed
  17. HackBar
  18. Host Spy
  19. HttpFox
  20. iMacros
  21. JavaScript Deobfuscator
  22. JSview
  23. Key Manager
  24. Library Detector
  25. Live HTTP Headers
  26. PassiveRecon
  27. Poster
  28. RefControl
  29. Refspoof
  30. RESTClient
  31. RESTTest
  32. Resurrect Pages
  33. Selenium IDE
  34. SQL Inject ME
  35. Tamper Data
  36. URL Flipper
  37. User Agent Switcher
  38. Vitzo WHOIS
  39. Wappalyzer
  40. Web Developer
  41. XSS Me

Sunday, May 13, 2012

SQL Injection pada CMS Acute Control Panel

Sebenarnya ini teknik yang sudah sangat jadul dan tutorial inipun agak mirip dengan tutorial sebelumnya yaitu Hacking CMS eticket dengan memanipulasi source html untuk serangan SQL Injection tapi fokus bahasannya di tutorial tersebut adalah pada source htmlnya yang dapat dimanipulasi untuk membantu melakukan serangan SQL Injection. Untuk menambah materi belajar maka penulis buat tutorial ini.

Untuk tulisan-tulisan penulis yang lainnya berhubungan dengan SQL Injection dapat dicari di blog ini seperti contoh SQL Injection di plugin wordpress, dalam konteks ini karena kasusnya beda maka tekniknya juga beda.

Disini penulis mengambil contoh CMS Acute Control Panel 1.0 yang bug ini ditemukan oleh SirGod. Sebelum memulai ini penulis melakukan download CMS ini lalu menginstallnya, setelah instalasi selesai, penulis masuk di file login.php

Perhatikan pada nilai dari variabel $query, disini penulis mencoba mengganti $username dengan admin ‘ or ‘ 1=1 yang dilakukan dengan menggunakan console MySQL untuk menguji.

Dengan perintah diatas maka outnyanya setelah penulis menggantinya adalah tampil username serta passwordnya dalam bentuk hash. Dengan perintah SQL admin ‘ or ‘ 1=1 maka hasil selection akan selalu TRUE.

Jika sudah demikian maka tinggal kita melakukan login saja untuk menguji apakah dapat masuk ke login web.

Hasilnya adalah

Binggo, masuk ke halaman admin.

sumber terkait: http://blog.xcode.or.id

Wednesday, May 2, 2012

Joomla Hack Attack


Saya kali ini akan membahas mengenai Joomla dimana CMS ini paling banyak terkena serangan Hacking oleh para Hacker. Sama hal nya dengan beberapa waktu silam, website gunadarma.ac.id terkena serangan Hacking oleh Hacker. Pas diselidiki ternyata kelemahan dari website tersebut terdapat pada CMS nya yang blum di upgrade. Maka dari itu saya akan bahas disini mengenai beberapa cara yang harus diketahui agar CMS anda aman dari serangan para Hacker.

1. Versi joomla yang digunakan, semakin lama versi joomla yang kita pakai, semakin rawan pula joomla kita terserang oleh hacker. Setiap saat selalu ada reports yang masuk bahwa sebuah Web joomla terserang hacker, nah pada saat itu pulalah dikeluarkan versi terbarunya untuk menambal (patch) bagian bagian "bolong" yang sudah di susupi oleh sang hacker tersebut.

2. Hosting dan jenis hostingnya, hati hati dengan yang satu ini, hosting ibarat rumah bagi semua isi web kita, nah bagaimana jadinya kalau Hosting kita justru dijadikan sarang oleh para penyusup. Terkadang ada hosting hosting yang menawarkan layanan hosting murah, namun hati hatilah dengan yang murah murah seperti ini, karena mereka memiliki sistem sekuriti yang rendah dan tidak profesional (bukan berarti semua yang murah jelek loh, cuman dalam beberapa kasus hal itu terkadang sering terjadi) ,jadi menurut saya sebelum membeli ada baiknya kita memilih dan memilah, bukan semata tergiur murahnya saja, namun coba lihat web web lain yang kebetulan memakai Hosting yang sama, apakah mereka baik baik saja. Carilah Support yang bisa Online setiap waktu untuk siap membantu kita sebagai pengelola bilamana terjadi sesuatu pada web kita.

3. Exstentions, nah apa itu Exstentions? Extentions adalah srcipt script tambahan berupa Module, Component dan Pluggin yang disediakan oleh Pihak ketiga, mengapa hal ini berbahaya? semakin banyak Extensions yang terinstall pada web Joomla kita, maka akan semakin besar pula web kita di susupi intruder (sang penyusup), banyak proggramer yang membuat "Script jahat" dan menyusupkan nya pada Extentions yang kita Download dan kita pasangkan di Web kita. So berhati hati lah. biasanya untuk template tertentu pada Joomla ( biasanya yang premium template) kita sudah diberikan Extentions dalam bentuk satu paket, tanpa harus mencari dari Pihak lain. Contoh Exstentions seperti Image gallery, Guest Book, Site map dan masih banyak lagi.

4. File atau Folder permission, berhati hatilah dengan file atau folder ber permission terbuka seperti 666 777, hal itu merupakan titik lemah yang mudah ditemukan dengan bantuan C99 shell atau Php Shell. selalu check CHMOD dengan joomla Exsplorer. yang terbuka adalah Folder media dan Images (karena biasanya emang untuk umum) namun kalau tidak penting ada baiknya ditutup saja, karena bisa saja ini adalah gerbang untuk menyusupi web kita.

5. Ranking Situs, Bagi mereka yang memiliki situs Joomla dengan Alexa dan Google Pagerank tinggi bersiaplah menjaga baik baik web yang teman teman kelola, semakin tinggi Alexa dan Google Pagerank kita semakin banyak pula "badai" yang menerpa web kita itu, apalagi sampai masuk di page one google dan urutan pertamax mbah google. bila telah disusupi biasanya, sang hacker akan mengumumkan "penemuannya" untuk diserang bareng bareng dengan hacker lain nya!

sumber terkait: http://achtungpanzer.blogspot.com

Monday, April 16, 2012

Pengertian Pewarisan dan Polymorphism pada Pemrograman Java

Pewarisan (Inheritance)
Pewarisan adalah salah satu konsep terpenting pemrograman berorientasi objek dan mempunyai dampak langsung pada merancang dan menulis class. Pewarisan adalah proses penciptaan class baru dengan mewarisi karekteristik class yang telah ada, ditambah karakteristik unik kelas yang telah ada. Subclass mewarisi semua method dan variabel dari superclassnya. Secara praktis berarti bahwa jika superclass telah mendefinisikan perilaku yang kita perlukan, maka kita tidak perlu mendefinis ulang perilaku itu, kita cukup membuat class yang merupakan subclass dari superclass yang dimaksud.

Polymorphism
Polymorphism merupakan konsep yang sangat penting di dalam konsep OOP. Polymorphism sebagaimana yang kita ketahui dari bahasannya berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic bila objek-objek itu mempunyai antarmuka–antarmuka identik namun mempunyai perilaku-perilaku yang berbeda.


Contoh Program Pewarisan (Inheritance)

//Program utama
public class TestMobil {
public static void main(String[] args){
Mobil mobil = new Mobil();
Kijang kijang = new Kijang();
Escudo escudo = new Escudo();
BMW bmw = new BMW();
mobil.injakPedalGas();
mobil = kijang;
mobil.injakPedalGas();
mobil = escudo;
mobil.injakPedalGas();
mobil = bmw;
mobil.injakPedalGas();
}
}

//Buat kelas baru sebagai objek dari program utama
public class Mobil {
public void injakPedalGas(){
System.out.println("Mobil berjalan...");
}
}
class Kijang extends Mobil{
public void injakPedalGas(){
System.out.println("Mobil Melaju dengan kecepatan 80 Km/jam...");
}
}
class Escudo extends Mobil {
public void injakPedalGas(){
System.out.println("Mobil Melaju dengan kecepatan 70 Km/jam...");
}
}
class BMW extends Mobil{
public void injakPedalGas(){
System.out.println("Mobil Melaju dengan kecepatan 100 Km/jam...");
}
}
Output




Contoh Program Polymorphism

//Program Utama
public class VirtualDemo
{
public static void main(String [] args)
{
Salary s = new Salary("Mohd Mohtashim", "Ambehta, UP",
3, 3600.00);
Employee e = new Salary("John Adams", "Boston, MA",
2, 2400.00);
System.out.println("Call mailCheck using : Salary reference --");
s.mailCheck();
System.out.println("\nCall mailCheck using : Employee reference --");
e.mailCheck();
}
}

//Sebagai Objek Program ke 1
public class Employee
{
private String name;
private String address;
private int number;
public Employee(String name, String address, int number)
{
System.out.println("Constructing an Employee");
this.name = name;
this.address = address;
this.number = number;
}
public void mailCheck()
{
System.out.println("Mailing a check to " + this.name
+ " " + this.address);
}
public String toString()
{
return name + " " + address + " " + number;
}
public String getName()
{
return name;
}
public String getAddress()
{
return address;
}
public void setAddress(String newAddress)
{
address = newAddress;
}
public int getNumber()
{
return number;
}
}

//Sebagai Objek Program ke 2
public class Salary extends Employee
{
private double salary; //Annual salary
public Salary(String name, String address, int number, double
salary)
{
super(name, address, number);
setSalary(salary);
}
public void mailCheck()
{
System.out.println("Within mailCheck of Salary class ");
System.out.println("Mailing check to " + getName()
+ " with salary " + salary);
}
public double getSalary()
{
return salary;
}
public void setSalary(double newSalary)
{
if(newSalary >= 0.0)
{
salary = newSalary;
}
}
public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}
}

Output Polymorphism