Pages

Jumat, 01 November 2013

Tes 123

Assalamualaikum wr.wb.
Kmaren ada orang tanya ke aku , mas gimana cara hack website yg uda kita target , maksud website yg uda kita target itu misalnya aku pengen hack www.katonz.org , gitu. Tongue jadi tanpa gunain dork..
Sekarang disini aq akan menunjukkan bagaimana cara hack website target .
Thread ini adalah penyempurnaan dari thread Mas Katon yang bertajuk Metode search target menggunakan IP server
Hal ini tidak mudah -_- tapi aq coba utk menjelaskan sebanyak yg aku bisa...
--o--o-o--o--
Quote:
Bahan & Alat :
1) Target Website
2) Shell (aq gawe' WSO shell)
3) script symlink (tak jelasno nang mburi ae)
4) MySQL manager
--o--o-o--o--

Langkah 1
Sekarang, kita periksa situsnya apa ada yg vuln utk dihajar :v
Ada satu hal yang tersisa, kita dapat hack situs tsb pada server yang sama ( 1 server ) #aneh yoo? maksute opo ? tapi tungguen Big Grin baca dulu sampe rampungg...

Jadi kita udah punya target toh, langkah selanjutnya, kita harus cari tau IP servernya target

Yuk pergi ke CMD ( Start->RUN->CMD )


Code:
ping www.target.com





Sekarang kita dah memiliki(mengetahui) IP Server nya, skrg waktunya untuk cari celah ( vuln ) nya.

Pergi ke SINI dan masukan kode dibawah ini :

Code:
IP:IPYANGUDAHKITADAPETDARIPINGTADI ".php?*="



Selanjutnya,dari hasil scan IP tadi Big Grin cari sebuah situs yang rentan terhadap SQLi. (Bisa di inject menggunakan tools seperti havij dll)

Kalo sukses, segera tanem shell

Langkah II
Hal pertama yang perlu dilakukan adalah menemukan path lengkap dari situs tsb.
yakni seperti begino:

Code:
/home/username/public_html/

Sekarang pergi ke shell dan jalankan perintah ini:

Code:
cat /etc/passwd


Sekarang copy semua teks yg tertera di situh dan tempel ke notepad.
Itu file berisi semua pengguna yg menggunakan server yg jadi target muw Tongue


Langkah III
Target ku adalah Joomla dan aq tau di mana file yg berisi informasi MySQL. (config.php)


Code:
/home/targetsaya/public_html/configuration.php ( Ini config nya joomla )

kalau wordpress mas ?
Kalo targetmu wordpress , config nya ada disini

Code:
/home/targetmu/public_html/wp-config.php

Nah, skrg upload symlink mu dan mySQL Manager nya ,
Buka symlink nya dan masukin path config web targetmu
dalam kasus ku iku :

Code:
/home/softcube/public_html/configuration.php


truss,,

Sekarang klik "Symlink" dan skrg kita dapet mysql info nya



Salin semua ke Notepad + +
( Notepad++ lebih baik karena kita dapat dgn mudah menemukan password dan username)
Cari username dan password web targetmu yg da tercantum di mysql info nya,,dan buka mysql.php ,
Masukkan dan sekarang kita dpat mengedit database.





Sekarang klik "Tabel" dan klik table "admin".
disini kita bisa membuat user, staff, dan membuat pssword
(Ingatlah untuk mencatat hash asli sehingga cara hackmu tetep gak terdeteksi jika ingin akses lgi)



Sekarang, aq sudah mengganti hash(password admin) dan login



Itu saja untuk saat ini.

Senin, 12 Agustus 2013

Elite hacker Barnaby Jack dies ahead of Black Hat event


An elite hacker who was due to demonstrate how heart implants could be hacked has died unexpectedly in San Francisco.

Barnaby Jack died on Thursday, the city's medical examiner's office told Reuters, but did not give more details.

He had been due to give a presentation into medical device vulnerabilities at the Black Hat security conference in Las Vegas taking place next week.

He had said one technique could kill a man from 30 feet (nine metres) away.

IOActive, the security firm at which Mr Jack was director of embedded devices, said it was preparing a statement.

In a tweet, the company said: "Lost but never forgotten our beloved pirate, Barnaby Jack has passed."

His sister Amberleigh Jack, who lives in New Zealand, told Reuters news agency he was 35.

Mr Jack became one of the most famous hackers on the planet after a 2010 demonstration in which he hacked a cashpoint, making it give out money. The technique was dubbed "Jackpotting".
'Social media flood'

More recently, he emerged as a leading expert in the weaknesses that could be found in medical technology.

Last year, he told the BBC about how he had discovered flaws in widely-used insulin pumps which allowed him to compromise the devices.

The hack made it possible to control them and administer a fatal level of insulin, Mr Jack said.

"My purpose was not to allow anyone to be harmed by this because it is not easy to reproduce," he told the BBC during an interview in April 2012.

"But hopefully it will promote some change in these companies and get some meaningful security in these devices."

Mr Jack's expertise and vivid demonstrations of his knowledge at events like Black Hat earned him the respect of many security professionals.

Amberleigh Jack thanked those who have been posting messages of sympathy online.


"So humbled by the social media flood of people that loved @barnaby_jack," she tweeted.

"Thank you all so much for your kind words." - BBC New

Senin, 29 April 2013

Tutorial Beberapa Teknik Looping Dalam PHP

Kali ini saya akan coba share sedikit pengetahuan saya mengenai Looping atau Pengulangan dalam bahasa pemrograman PHP dari berbagai sumber dan pengalaman pribadi sendiri dan semoga bisa bermanfaat bagi pembacanya amiiin . Ohh ya langsung aja yah udah kebelet hehe
Looping merupakan salah satu teknik untuk membuat suatu perintah secara berulang-ulang sampai batas yang ditentukan oleh si programmer. Ya dalam dunia pemrograman kita bisa melakukan “Perulangan” atau “Looping” tanpa merasa capek atau kelelahan, tapi coba kalau kita melakukan perulangan tersebut di dalam dunia nyata haha mungkin kita akan lelah melakukan rutinitas yang diakibatkan oleh proses looping tersebut.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiW-_sQt5DFZ5A7GE_3zRVsxW4Z4qbzikM0nqG8UTi0tBteLS-CKJTOJZCOz5Lv_x7_B_qLo9RfZ5YRKiv2UsEJUwTvI3Ikr4pG2tq0YYATgrYk01lT4xqvWjKfCey8P5NeVZBE7Vug4/s1600/looping.png
Baiklah langsung saja pada pembahasan yaaa!! Struktur Looping secara umum terdiri atas dua bagian yaitu,
  1. Kondisi pengulangan, yang biasanya merupakan ekspresi boolean yang harus dipenuhi untuk melakukan pengulangan tersebut,
  2. Alogoritma dari looping itu sendiri yang berisi algoritma yang di ulang-ulang
Seorang programer biasanya memilih-milih tipe konstruksi perulangan yang cocok untuk digunakan dalam programnya karena ada beberapa konstruksi pengulangan yang dapat dipakai untuk memecahkan masalah yang sama namu ada juga beberapa konstruksi pengulangan yang hanya cocok untuk dipakai dalam memecahkan masalah tertentu. Ya…maka dari itu pemilihan kontruksi looping(pengulangan) sangatlah penting dan akan sangat mempengaruhi sekali terhadap kebenaran algoritma pemrograman algoritma kita. Ada beberapa Teknik looping yang pada kesempaatan kali ini akan saya bahas dalam menggunakan bahasa pemrograman PHP seperti,
  • WHILE
  • DO – WHILE
  • FOR

WHILE

Struktur while adalah jenis pengulangan yang penulisan kondisi algoritma nya di awal blok, maksudnya jika kondisi algoritma tadi tidak terpenuhi maka kondisi bernilai false dan proses pengulangan pun tidak akan dilakukan. Dibawah ini merupakan bentuk umum penulisan dari struktur pengulangan menggunakan while.
while(ekspresi) {
blok program
}
Contoh Lainnya
<?php
 $a = 1;
 while($a<=10) {
  echo "$a<br />";
  $a++;
 }
?>

FOR

Sturktur for biasanya digunakan ketika kita akan melakukan pengulangan yang banyaknya sudah pasti atau sudah diketahui oleh kita sebelumnya. Dalam menuliskan pengulngan for ini sebelumnya kita harus mendefinisikan inisial dan kondisi terlebih dahulu untuk melakukan pengulangannya. Berikut adalah bentuk umum dari pengulangan menggunakan for.
for (inisial; kondisi; iterasi) {
//isi dari pengulangan

Contoh lainnya,
<?php
 $a = 10;
 for($i=10; $i>0; $i--) {
  echo "PHP $a <br />";
  $a--;
 }
?>
Program diatas akan mencetak teks “PHP” sebanyak 10 kali dengan indeks dimulai dari 10 sampai 1 (menurun)
Varisai FOR  (Menentukan Bilangan Prima)
<?php
 $n = 19; //membuat variable
 $prima = true;

 for($i=2; $i<=($n/2); $i++) {
  if(($n%$i)==0) {
   $prima = false;
   break; //untuk menghentikan looping pada program
  }
 }
 if($prima) {
  echo "$n merupakan bilangan prima";
 } else {
  echo "$n bukan bilangan prima";
 }
?>
Contoh Lainnya,
<?php
 $n = 3; //menentukan variable yang akan ditambahkan
 $hasil = 0;

 for($i=1; $i<=$n; $i++) {
  $hasil += $i;
  if($i !=$n) {
   echo "$i + ";
  } elseif($i = $n) {
   echo "$i = ";
  }
 }
 echo "$hasil";
?>
Hasil keluaran program diatas adalah melakukan penjumlahan seperti dibawah ini,
1 + 2 + 3 = 6

DO – WHILE

Sebelumnya kita tadi sudah mengenal pengulangan dengan menggunakan while ,  terus kenapa? haha…ya karena sebenarnya struktur pengulangan ini mirip dengan struktur while, mungkin perbedaannya hanya terdapat pada penempatan kondisi saja yang dengan kata lain pada struktur pengulangan ini kondisinya terletak di akhir blok pengulangan sedangkan pada struktur while yang kita kenal tadi berada di awal blok pengulangan. Berikut adalah bentuk umun dari penggunaan struktur pengulangan do-while,
inisial
do {
//proses pengulangan
iterasi
} while(kondisi); 

FOREACH

Selain fungsi yang telah dituliskan diatas PHP juga menyediakan cara mengakses data kedalam bentuk array dengan menggunakan fungsi foreach(). Adapun sintaknya adalah:
foreach($data as $value) {
$pernyataan yang akan diproses yaitu $value

Silahkan ketikan kode dibawah ini,
<?php
 $data = array("Sedan", "Bus", "Angkot", "Kereta Api");
 foreach($data as $value) {
  echo "Kendaraan " . $value;
  echo "<br />";
 }
?>

Perulang Dalam Perulangan

Adakalanya dalam menuliskan bahasa pemrograman sering terjadi dimana perulangan tersebut berada dalam pengulangan yang lain. Silahkan ketikan kode dibawah ini,
<?php
 for($i=1; $i<=5; $i++) {
  for($d=1; $d<=$i; $d++) {
   echo "A";
  }
 echo "<br />";
 }
?>
Semoga postingan kali ini bermanfaat

Membuat Sub Kategori Dinamis PHP dan MySQL

Mungkin sudah tidak asing lagi dengan judul diatas. Jika agan pernah lihat toko-toko online terdapat menu di sebelah kiri atau sebelah kanan atau sebelah atas terdapat menu yang apabila agan sorot maka akan muncul sub kategori didalamnya? hehe… ya pada postingan kali ini saya akan sedikit berbagi cara untuk membuat Kategori dan Sub Kategori yang sangat simple menggunakan PHP dan MySQL dan akan dijelaskan bagaimana cara kita menampilkan Kategori Induk dan Sub Kategorinya. Baiklah langsung saja ya…

1. Relasi Tabel

Adapun sintaks MySQL nya adalah sebagai berikut
CREATE TABLE `category` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
            `category` varchar(100) NOT NULL,
            PRIMARY KEY (`id`)
          ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1
CREATE TABLE `sub_category` (
                `id_sub` int(3) NOT NULL AUTO_INCREMENT,
                `id_category` int(3) NOT NULL,
                `nama_sub` varchar(100) NOT NULL,
                PRIMARY KEY (`id_sub`)
              ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
Ohh ya bisa juga langsung dibuat pake phpmyadmin dengan keterangan seperti sintaks MySQL diatas,
Keterangan:
  • id -> INT (3) *AUTO INCREMENT primary
  • category -> VARCHAR (100)
Untuk tabel sub_category sebagai berikut,
  • id_sub -> INT (3) *AUTO INCREMENT primary
  • id_category -> INT(3)
  • nama_sub -> VARCHAR(100)
Dua perintah SQL diatas merupakan perintah untuk membuat tabel yang bisa dilihat di gambar, nah sekarang kita masukan isi dari masing-masing tabel tersebut. Disini kamu bisa memberikan nilai seperti yang saya input kan *nampak seperti dibawah ini,

Isi Tabel “category”

Isi Tabel “sub_category”


Baiklah bisa dilihat pada bagian tabel sub_category terdapat field id_category yang menghubungkan dengan field id pada tabel category diatas. Pada gambar diatas dapat dilihat bahwa nilai id_category yaitu 14 yang memiliki relasi pada field id di tabel category. Dengan kata lain nama_sub atau id_sub yang memiliki id_category 14 adalah anak dari nama category dari tabel category yang memiliki id 14 . . . heheh maaf kalo muter-muter kata-katanya. :D

2. Tampil PHP

Ohh ya pertama silahkan salin sintaks PHP dibawah ini terlebih dahulu,
<?php
 mysql_connect('localhost','root','password') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <body>
 <ul id="menu">
 <?php
  $sql = mysql_query("SELECT id, category FROM category");

  while($r=mysql_fetch_array($sql)) {

   echo "<li><a href='#'>".$r['category']."</a>";

   $sql2 = mysql_query("SELECT * FROM sub_category WHERE id_category = '".$r['id']."'");

   if($sql2) {
    echo "<ul>";
    while($d=mysql_fetch_array($sql2)) {
     echo "<li><a href='#'>".$d['nama_sub']."</a></li>";

    }
    echo "</ul>";
   } else {
    echo "</li>";
   }
  }
 ?>
 </ul>
Baiiikkklaaah sekarang masuk pada tahap penampilan kategori-kategori tersebut. Mungkin sudah kebayang ya hasilnya? yaaa ga jauh beda sama kita memunculkan list waktu kita ngetik di blog agan masing-masing…

Taraaa…. ya kurang lebih akan tampil seperti tampilan diatas, jelek ya? haha untuk memperindah tampilan kita bisa memanfaatkan plugin-plugin jquery. Disini saya akan menggunakan plugin menu.js yang bisa di download di http://www.menujs.net/jika sudah anda download salin kode dibawah ini,
File yang bernama sub.php
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <head>
  <title>Membuat Sub Kategori Dinamis PHP dan MySQL</title>
  <script src="js/prototype.js" type="text/javascript"></script>
  <script src="js/Menu.js" type="text/javascript"></script>
  <script type="text/javascript">
   Menu.init("menu", {"orientation": Menu.VERTICAL});
  </script>

  <style type="text/css">
   a {
    text-decoration: none;
    }
   table {
    position: absolute;
    margin-top: 10px;
    }
   table tr td {
    background-color: #EDEDED;
    }
   /* reset default styles */
   #menu,
   #menu ul { margin: 0; padding: 0; }
   #menu li { list-style-type: none; }

   /* first level */
   #menu { width: 100px; float: left; margin-top: 100px; }
   #menu li,
   #menu a { float: left; width: 100px; }
   #menu a { display: block; background: #EEE; }
   #menu a:hover,
   #menu a.menu_open { background: #DDD; }

   /* second level */
   #menu ul { visibility: hidden; position: absolute; width: 100px; }
   #menu ul a { background: #DDD; }
   #menu ul a:hover,
   #menu ul a.menu_open { background: #CCC; }

   /* third level (colors) */
   #menu ul ul a { background: #CCC; }
   #menu ul ul a:hover { background: #BBB; }
  </style>
 </head>
 <body>
 <ul id="menu">
 <?php
  $sql = mysql_query("SELECT id, category FROM category");

  while($r=mysql_fetch_array($sql)) {

   echo "<li><a href='#'>".$r['category']."</a>";

   $sql2 = mysql_query("SELECT * FROM sub_category WHERE id_category = '".$r['id']."'");

   if($sql2) {
    echo "<ul>";
    while($d=mysql_fetch_array($sql2)) {
     echo "<li><a href='#'>".$d['nama_sub']."</a></li>";

    }
    echo "</ul>";
   } else {
    echo "</li>";
   }
  }
 ?>
 </ul>
 <table>
 <tr><td><a href="input.php?aksi=tambahkategori">Tambah Kategori</a></td><td><a href="input.php?aksi=tambahsub">Tambah Sub Kategori</a></td></tr>
 </table>
 </body>
</html>
Ohh ya bisa dilihat pada bagian pemanggilan plugin javascript diatas saya memasukan file nya kedalam satu folder yang bernama js .
Jika berhasil maka akan tampil seperti dibawah ini.

Sekarang tampilannya lebih indah bukan? haha ini adalah tampilan plugin dari menu.js yang saya download barusan *menurut saya sih kurang elegan hahaha, tapi pada fungsi nya sama saja lah…hehe, ketika kursor menyorot pada kategori maka akan muncul sub kategori yang bersangkutan dan jika tidak terdapat sub kategori maka tidak akan ditampilkan apa-apa.

3. Input PHP

Oke lanjut ke tahapan proses penginputan kategori dan sub kategori. Sebenernya sih bisa langsung rubah di phpmyadmin-nya, tapi itu bakalan memakan waktu apalagi proses nya tidak user friendly banget heheh. Maka alternatifnya kita akan membuat form input untuk proses input kategori dan sub kategori nya. Baiklah langsung aja kita salin sintaks PHP dibawah ini,
File yang bernama input.php
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <head>
  <title>Membuat Sub Kategori Dinamis PHP dan MySQL</title>
 </head>
 <body>
<?php
 if($_GET['aksi'] == 'tambahsub') { ?>
  <form method="POST" action="tambah_sub.php">
   <input name="nama_sub" type="text" /><br />
   <select name="category">
    <option value="0">Pilih Kategori</option>
   <?php
    $sql = mysql_query("SELECT id, category FROM category");

    while($r=mysql_fetch_array($sql)) {

     echo "<option value=".$r['id'].">".$r['category']."</option>";

    }
   ?>
   </select>*)Silahkan Masukan Nama kategori
   <p><input type="submit" value="Submit" name="submit" /></p>
  </form>
<?php }
 if($_GET['aksi'] == 'tambahkategori') { ?>
  <p>Masukan Nama Kategori</p>
  <form method="POST" action="tambah_kat.php">
   <input type="text" name="nama_category" />
   <input type="submit" value="Submit" />
  </form>
<?php } ?>
 </body>
</html>
ya itulah skirp untuk menampilkan form input kategori dan sub kategoridapat dilihat bahwa form action-nya membutuhkan dua file yang bernama tambah_sub.php dan tambah_kat.php , oke sekarang lanjut kita akan membuat ke dua file tersebut langsung salin aja sintaks dibawah ini hheehe.
Pertama agan buat file yang bernama tambah_sub.php 
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");

 $sql = mysql_query("INSERT INTO sub_category (id_sub, id_category, nama_sub) VALUES ('','$_POST[category]','$_POST[nama_sub]')") or die (mysql_error());

 if($sql) {
  echo "<h2>PROSES INPUT SUB KATEGORI BERHASIL</h2><p><a href='sub.php'>Klik Disini Untuk Melihat</a></p>";
 }
?>
Sekarang file kedua yang agan buat adalah tambah_kat.php 
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");

 $sql = mysql_query("INSERT INTO category (id, category) VALUES ('','$_POST[nama_category]')") or die (mysql_error());

 if($sql) {
  echo "<h2>PROSES INPUT KATEGORI BERHASIL</h2><p><a href='sub.php'>Klik Disini Untuk Melihat</a></p>";
 }
?>
Baiklah mungkin segitu dulu postingan hari ini. Ohh ya jika ada kesalahan langsung aja kasih komentarnya ya gannnnn!!!

source : hitamcoklat

Tutorial Mengecek Online User Unik PHP dan MySQL + AJAX Simple

Pada postingan kali ini saya akan mencoba mengulas mengenai pengecekan pengguna atau pengecekan user yang sedang online dalam website kita. Ohh ya sebelumnya saya sebelumnya saya memposting mengenai hal ini mungkin terinspirasi oleh seorang teman yang bertanya kepada saya tentang cara bagaiman untuk mengetahui pengunjung yang sedang online di website kita. Mungkin sudah tidak asing lagi yaa.. dengan judul yang satu ini, dan mungkin agan – agan dan aganwati sekalian udah pada tahu bagaimana cara membuatnya.
Tetapi pada kasus ini saya akan mengintegrasikannya dengan AJAX, kenapa harus sambil menggunakan AJAX?? ohh ya jadi begini ceritanya.., berawal ketika saya membuat kode standar untuk membuat pengecekan online user dan ketika itu semuanya berjalan dengan lancar dalam kasus ini saya menggunakan 2 browser. Ketika saya buka browser skrip nya berjalan dengan baik dan menunjukan 2 pengunjung yang sedang online. Tapi setelah browser ke-dua saya tutup window-nya, pada browser pertama tadi tetap menampilkan dua pengunjung yang sedang online hingga saya me-refresh browser pertama tadi jadii dengan AJAX ini kita tidak perlu me-refresh lagi untuk mengecek berapa orang yang benar-benar online pada waktu tersebut .
close_pointer
Ohh ya sebelumnya bisa dikatakan unik karena saya menggunakan fungsi dari pengambilan session_id untuk mebuat setiap browser tampak unik selain itu skrip ini juga mirip – mirip dengan aplikasi chating yang ketika kita menutup jendela obrolan kita maka pengunjung yang sedang online akan berkurang…bagaimana? asyikan? hahah maaf saya terlalu lebay hehe…Oke langsung aja ke pembahasan ya, Cekidot ikuti langkah dibawah ini…

1.Pembuatan Table

Berikut adalah gambar penampakan table yang akan dibuat..
g_table
karena kita akan membuat skrip online usernya yang simple, jadi saya kira sudah lebih dari cukup untuk menggunakan dua field saja hehe :D , Untuk sintaks MySQL nya silahkan lihat dibawah ini…
?
1
2
3
4
5
CREATE TABLE IF NOT EXISTS `online_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_session` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=44 ;

2. File koneksi.php

Seperti biasa kita buat file koneksi secara terpisah :D
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $host ='localhost';
    $user ='root';
    $pass ='';
    $dbase   ='herey';
    $koneksi = mysql_connect($host, $user, $pass);
     
    if (!$koneksi)
    {
        die ('Tidak Bisa Konek: ' . mysql_error());
    }
     
    mysql_select_db($dbase, $koneksi);
     
?>

4.File cekOnline.php

File ini berfungsi untuk mengecek apakah user sedang online atau tidak dengan cara melakukan pengecekan ke dalam tabel.
?
1
2
3
4
5
6
7
8
9
<?php
include "koneksi.php";
$query = mysql_query("SELECT * FROM online_user");
$hitung = mysql_num_rows($query);
echo $hitung;
?>
dapat dilihat bahwa kita menggunakan fungsi mysql_num_rows() untuk menghitung jumlah rows yang ada dalam table yang dengan kata lain merupakan jumlah user yang sedang online :D

5. File online.php

File ini berfungsi untuk memasukan nilai kedalam tabel.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include "koneksi.php";
session_start();
$id_saya = session_id();
$query = mysql_query("SELECT id_session FROM online_user WHERE id_session = '".$id_saya."'");
$query2 = mysql_fetch_array($query);
if ($query2 == null)
{
    mysql_query("INSERT INTO online_user (id, id_session) VALUES ('', '$id_saya')");
}
?>
Dapat dilihat bahwa pada awal – awal baris kita menggunakan fungsi session yaitu session_start() yang berguna untuk memulai session dan mengecek setiap user yang unik atau berbeda seperti yang sudah dijelaskan diatas hehe :D . Jika dijelaskan skrip diatas adalah kita akan melakukan insert query kedalam table jika id_session tidak sama dengan variable $id_saya yang berarti browser yang kita pakai :)

6. File exit.php

File ini berguna untuk menghapus sesi online kita.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
$id_saya = session_id();
include "koneksi.php";
mysql_query("DELETE FROM online_user WHERE id_session='".$id_saya."'");
session_destroy();
?>

7. File index.php

File ini berfungsi untuk menampilkan pengunjung yang online, ohh ya file nya disatuin aja yaa sama javascriptnya biar agak jelas hehe..

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<html>
    <head>
        <script>
            //Skirp yang wajib ada jika ingin menggunakan AJAX
            function GetXmlHttpObject()
                {
                var xmlHttp;
                try
                    {
                    // Firefox, Opera 8.0+, Safari
                    xmlHttp = new XMLHttpRequest();
                    }
                catch (e)
                    {
                    //Internet Explorer
                    try
                        {
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                        }
                    catch (e)
                        {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                    }
                return xmlHttp;
                }
                 
            function cekOnline()
            {
                xmlHttp = GetXmlHttpObject();
                 
                if (xmlHttp == null)
                {
                    alert("Browser Anda Tidak Mendukung HTTP Request");
                    return;
                }
                 
                var url = "cekOnline.php";
                xmlHttp.open("POST", url, true);
                xmlHttp.onreadystatechange = stateChanged;
                xmlHttp.send(null);
            }
             
            function stateChanged()
                {
                if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
                    {
                    var hitung = xmlHttp.responseText;
                    document.getElementById("jumlahOnline").innerHTML = "<font color='red'>" + hitung + "</font> user online";
                    window.setTimeout("cekOnline();", 2000);
                    }
                }
             
            function online()
            {
                online = GetXmlHttpObject();
                if (online == null)
                    {
                    alert("Browser Anda Tidak Mendukung HTTP Request");
                    return;
                    }
                var url = "online.php";
                online.open("POST", url, true);
                online.onreadystatechange = responeOnline;
                online.send(null);
            }
             
            function responeOnline()
            {
                if (online.readyState == 4 || online.readyState == 0)
                    {
                    cekOnline();
                    }
            }
                         
            function exit()
            {
                exit = GetXmlHttpObject();
                 
                if (exit == null)
                {
                    alert("Browser Tidak Support HTTP Request");
                    return;
                }
                 
                var url = "exit.php";
                exit.open("POST", url, true);
                exit.send(null);
            }
                         
        </script>
    </head>
     
    <body onload="online();" onbeforeunload="exit();">
        <h1>Yang sekarang sedang Online adalah: <span id="jumlahOnline"></span> </h1>
    </body>
</html>
Baiklah dapat dilihat bahwa pada
  • Baris ke 5 sampai baris ke 28 merupakan baris yang biasa digunakan dalam menggunakan AJAX, yaitu pendeklarasian penggunaan dalam XMLHttpRequest yang dilakukan didalam sebuah javascript..
  • Baris ke 30 sampai 54 merupakan fungsi untuk membuat request ke server untuk mebuka file cekOnline.php setelah itu pada baris ke 46 akan mengupdate data dengan elemen di html yang memiliki id=”jumlahOnline”
  • Pada baris ke 56 sampai baris 78 merupkan fungsi untuk membuat request ke server untuk membuka file online.php yang didalam file tersebut sudah dijelaskan diatas yaitu untuk memasukan nilai user yang sedang online yang setelah itu membuat respon pada fungsi responOnline()
  • Baris 80 sampai baris 93 merupakan fungsi untuk membuat request ke server untuk membuka file file exit.php yang berfungsi untuk melakukan delete rows pada table yang memiliki nilai dari id_session kita..
  • Baris ke 98 merupakan tag HTML body yang memiliki onload event yang berfungsi ketika halaman di load maka jalankan fungsi online() dan onbeforeunload event yang berfungsi untuk menjalankan fungsi exit()
  • Baris ke 99 terlihat tag HTML <span> yang memiliki attribut id=”jumlahOnline” yang berfungsi untuk menampilkan jumlah user yang sedang online dengan memanfaatkan fungsi jumlahOnline tadi :)
Ohh ya untuk penampakannya seperti nampak pada gambar dibawah ini…
online_user
Keterangan:
Ohh ya karena dalam skrip ini memanfaatkan event onbeforeunload() oleh karenan itu skrip ini akan berjalan dengan baik jika menggunakan chrome dan internet explorer :)

Casing The Join(Footprinting And Scanning)

Mencari Informasi mengenai target… tugas pertama saya di matakuliah Security System.. Semangat…:)
Persiapan yang harus ada:
  1. Koneksi internet
  2. Niat dan keberanian, maksudnya niatkan diri anda untuk belajar, dan keberanian untuk siap-siap tertangkap…hahaha…(becanda deng…^_^).. niatkan saja untuk belajar…(mungkin ini adalah hanya beberapa bekal dasar untuk menjadi “hacker“)
  3. Download software nmap silahkan kunjungi www.nmap.org, atau bisa juga anda download disini!
  4. selain itu tools berbasis web yang digunakan adalah www.ip-adress.com/whois/ (disana anda tinggal memasukan nama targetnya apa, misalnya: www.seamolec.org
Ok, kita ke tahap selanjutnya,
“ditengah kegelapan malam, hanya ditemani cahaya lampu belajar 5 watt dan cahaya dari monitor 17 inch, serta suara jari-jari yang menari diatas keyboard dan bunyi klik mouse, membuat suasana menjadi menegangkan….hahahaa lebay…:D”
  1. Setelah anda download, silahkan ekstrak dan install winpcap-nmap-4.12
  2. kemudian anda juga harus menginstall vcredist_x86 yang disertakan di dalam folder
  3. Tentukan targetnya (misal: www.seamolec.org)
  4. Buka alamat www.ip-adress.com/whois/   dan silahkan anda ketik www.seamolec.org kmudian klik tombol IP Whois
  5. Hasil yang didapatkan seperti IP Address, nama server, nomor kontak, lokasi server, alamat kontak, dll
  6. mungkin setiap domain target akan memaparkan hasil yang tidak selengkap yang kita inginkan, itu disebabkankan karena setiap target memiliki port yang tertutup dan port terbuka yang berbeda.
  7. untuk mengetahui port (services) mana saja yang terbuka, kita gunakan tolls nmap
sampai disini tugas anda sudah mencapai 65%, istirahat sejenak atau minumlah segelas coklat panas…..hmm…:D
LANJUTKANN…
  1. Buka cmd, kemudian ketik: cd\
  2. cd Program Files\nmap-5.61TEST4-win32\nmap-5.61TEST4 tekan enter
  3. kurang lebih tampilannya sebagai berikut:
    Command Prompt
    nmap
  4. ketik cls, untuk membersihkan layar
  5. ketik nmap -O namatarget, misalnya: nmap -O www.seamolec.org
  6. tunggu beberapa saat dan kemudian hasilnya kurang lebih:
    nmap -O www.seamolec.org
    hasil nmap -O www.seamolec.org
    disana akan dimunculkan port-port yang terbuka, termasuk OS yang digunakan
  7. sebetulnya banyak option yang dapat anda gunakan, semuanya dapat dipelajari di menu help. caranya ketik: nmap -h
  8. contoh nmap -A www.seamolec.org, kurang lebih hasilnya:
    nmap -A www.seamolec.org
    hasil nmap -A www.seamolec.org
    selain port mana saja yang terbuka, juga menampilkan perjalanan atau rute2 mana saja yang dilalui untuk mencapai target dari komputer yang kita gunakan..
    hasilnya bisa direkap dalam tabel berikut:
    Nama
    IP Address
    Alive
    OS
    Services
    seamolec.org
    118.98.222.33
    Ya
    Linux 2.6.X ssh, http,whois (dan masih banyak lagi)
    masterweb.com
    69.43.160.151
    Ya
    Linux 2.6.X http
    upi.edu
    103.23.44.6
    Ya
    FreeBSD 7.X ssh, http, mysql
    ebay.com
    66.211.160.88
    Ya
    Linksys BEFSR41 Etherfast router http, https
    paypal.com
    173.0.88.3
    Ya
    OpenBSD 4.0 http, https
    defendamerica.mil
    Redirect to defense.gov
    Redirect to defense.gov
    Redirect to defense.gov Redirect to defense.gov
    defense.gov
    24.143.196.27
    Ya
    Linux 2.6.X http, https
tabel diatas saya gunakan beberapa target dan bisa dilihat hasilnya tetapi menggunakan cara yang sama ….
Mungkin cukup sekian…semoga bermanfaat, dan tunggu tutorial-tutorial selanjutnya ^_^ keep on fighting

source : ijobaraya

VLSM (Variable Length Subnet Mask)

Sebelum belajar mengenai VLSM (Variable Length Subnet Mask) disarankan anda telah memahami materi Subneting
Proses subnetting menghasilkan beberapa subjaringan dengan jumlah host yang sama, maka ada kemungkinan di dalam segmen-segmen jaringan tersebut memiliki alamat-alamat yang tidak digunakan atau membutuhkan lebih banyak alamat. Oleh karena itu, dalam kasus seperti ini proses subnetting harus dilakukan berdasarkan segmen jaringan yang dibutuhkan oleh jumlah host terbanyak. Nah, untuk memaksimalkan penggunaan ruangan alamat yang tetap, subnetting pun dilakukan secara rekursif (rekursif maksudnya membagi menjadi beberapa sub jaringan yang diambil dari jaringan itu sendiri)untuk membentuk beberapa subjaringan dengan ukuran bervariasi, yang diturunkan dari network identifier yang sama. Jadi, dapat diambil kesimpulan bahwa VLSM adalah teknik subnetting untuk membentuk beberapa subjaringan dengan ukuran bervariasi yang diturunkan dari network identifier yang sama. Supaya lebih mengerti sebaiknya kita lakukan cara perhitungan menggunakan VLSM.
Misalnya ada alamat network 192.168.1.0/24 untuk mengkomunikasikan 4 buah gedung. Gedung A terdapat 14 PC, gedung B terdapat 30 PC, gedung C terdapat 20 PC, dan gedung D terdapat 6 PC. Bagaimanakah kita membuat subnet dengan menggunakan VLSM?
Penyelesaian:
  • Urutkan gedung dari pemakaian PC terbanyak ke yang terkecil
  • Urutannya menjadi gedung B, gedung C, gedung A, dan gedung D
  • Pahami tabel “desimal-biner” berikut:
    Desimal 128 64 32 16 8 4 2 1
    Biner 27 26 25 24 23 22 21 20
  • Menghitung penggunaan IP untuk gedung B
    • Rumus: banyaknya PC + 3 => 30 + 3=33 dari tabel “desimal-biner”, 2 dipangkatkan berapa supaya nilai 33 bisa termasuk didalamnya?
      Jawabannya 2 dipangkatkan 6, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 26, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 0 0 0 0 0 0
    • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64=192
    • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung B) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
      Sehingga didapat 26-2=62. Jadi range IP nya adalah:
      192.168.1.1 – 192.168.1.62
    • Setelah melakukan perhitungan diatas maka akan didapat data untuk  gedung B sebagai berikut:
Subnet Gedung B : 192.168.1.0
Subnet Mask : 255.255.255.192
Host Pertama : 192.168.1.1
Host Terakhir : 192.168.1.62
IP Broadcast : 192.168.1.63
Subnet berikutnya dari gedung B yaitu 192.168.1.64 akan digunakan sebagai subnet gedung C.
  • Menghitung penggunaan IP untuk gedung C
    • Rumus: Banyaknya PC + 3 => 20 + 3=23
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 5, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 25, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 0 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32=224
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung C) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 25-2=30. Jadi range IP nya adalah:
    192.168.1.65 – 192.168.1.94
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung C sebagai berikut:
Subnet Gedung C : 192.168.1.64
Subnet Mask : 255.255.255.224
Host Pertama : 192.168.1.65
Host Terakhir : 192.168.1.94
IP Broadcast : 192.168.1.95
Subnet berikutnya dari gedung C yaitu 192.168.1.96 akan diguanakan sebagai subnet gedung A.
  • Menghitung penggunaan IP untuk gedung A
    • Rumus: Banyaknya PC + 3 => 14 + 3=17
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 5, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 25, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 0 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32=224
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung A) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 25-2=30. Jadi range IP nya adalah:
    192.168.1.97 – 192.168.1.126
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung A sebagai berikut:
Subnet Gedung A : 192.168.1.96
Subnet Mask : 255.255.255.224
Host Pertama : 192.168.1.97
Host Terakhir : 192.168.1.126
IP Broadcast : 192.168.1.127
Subnet berikutnya dari gedung A yaitu 192.168.1.128 akan digunakan sebagai subnet gedung D.
  • Menghitung penggunaan IP untuk gedung D
    • Rumus: Banyaknya PC + 3 => 6 + 3=9
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 4, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 24, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 1 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32+16=240
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung D) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 24-2=14. Jadi range IP nya adalah:
    192.168.1.129 – 192.168.1.142
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung D sebagai berikut:
Subnet Gedung D : 192.168.1.128
Subnet Mask : 255.255.255.240
Host Pertama : 192.168.1.129
Host Terakhir : 192.168.1.142
IP Broadcast : 192.168.1.143
nah, sampai disini dulu ya . Mudah-mudahan postingan ini bisa membantu!…

source : ijobaraya

Klasifikasi IP Adress

Setiap perangkat yang berkomunikasi di dalam sebuah jaringan harus memiliki sebuah nomor IP yang unik, untuk membedakan satu perangkat dengan yang lainnya. Nomor IP adalah identitas sebuah sistem, dan ketika paket data dikirimkan oleh sebuah perangkat, maka nomor IP perangkat tersebut dicantumkan pada paket data tersebut. Jika IP yang dituju diketahui oleh si pengirim maka nomor IP ini dicantumkan pula di dalam paket data yang dikirimkan.
Pengalamatan IP Address terbagi menjadi lima kelas yaitu, kelas A, B, C, D, dan E. Pemisahan IP ke dalam kelas-kelas ini disebut classfull IP Addressing. Dalam sebuah IP terdapat dua istilah yang perlu dipahami yaitu:
  • Net ID, yaitu bagian dari nomor IP yang memiliki nilai sama untuk semua perangkat di dalam suatu jaringan/subnet yang sama
  • Host ID, yaitu bagian dari nomor IP yang berisi nilai unik untuk setiap perangkat di dalam jaringan
Sebuah nomor IP V 4 bernilai 4 byte yang terdiri dari 8 bit pada setiap byte nya. Perhatikan tabel berikut:
IPV4: 1111 1111 .1111 1111 .1111 1111 .1111 1111
Nilai desimal 255 .255 .255 .255
Kelas A X .Y .Y .Y
Kelas B X .X .Y .Y
Kelas C X .X .X .Y
Keterangan:
  • 255 adalah nilai maksimal tiap byte
  • X adalah jatah subnet (net id) tiap kelas (misal Kelas B sebanyak 255×255 = 65025, karena X-nya ada dua).
  • Y adalah jatah host (host id) tiap kelas (misal:Kelas B sebanyak 255X255=65025 host per subnet, karena Y-nya ada dua).
Dari tabel diatas dapat dibuatkan tabel pengalamatan kelas IP yaitu:
Kelas Banyaknya Bit Net ID Banyaknya Bit Host ID
A 8 24
B 16 16
C 24 8
Mungkin anda bertanya mengapa kelas D dan E tidak disertakan dalam tabel diatas?, karena kedua kelas tersebut memang tidak digunakan untuk mengalamatkan sebuah perangkat yang spesifik. Alamat-alamat kelas D digunakan untuk transmisi multicasting, sedangkan alamat-alamat kelas E dicadangkan untuk tujuan penelitian dan hal-hal khusus.
Sumber informasi:
  • tittle, Ed. 2004. “SCHAUM’S OUTLINES OF COMPUTER NETWORKING“. Jakarta: Erlangga.

Subnetting

Anda bertanya-tanya seberapa pentingkah subnetting, dan mengapa kita harus belajar subnetting ? Silahkan simak postingan berikut!
Subnetting digunakan untuk membagi sebuah jaringan menjadi beberapa subjaringan yang lebih kecil sehingga mengefisienkan pemakaian jumlah IP Address. Penulisan IP Address pada umumnya adalah misalnya dengan 192.168.1.2  . Namun adakalanya ditulis dengan 192.168.1.2/24, artinya bahwa IP Address 192.168.1.2 dengan subnet mask 255.255.255.0/24 artinya banyaknya bit angka 1 yang menyatakan subnet mask. Atau dengan kata lain subnet mask-nya adalah
1111 1111.1111 1111.1111 1111.0000 0000 (255.255.255.0)
Nah, konsep seperti ini disebut dengan CIDR (Classless Inter Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT. Dibawah ini terdapat tabel yang memuat subnet mask yang dapat dipakai untuk subnetting.
Subnet Mask CIDR
255.128.0.0 /9
255.192.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255.255.244.0 /19
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
Sebenarnya subnetting berkisar pada 4 masalah yaitu: Jumlah Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host-Broadcast.
Oke, sekarang mari kita mencoba menghitung subnetting seperti apa yang terjadi dengan sebuah network address 192.168.1.0/26 ?
Penyelesaian:
Analisa: 192.168.1.0 berarti kelas C dengan subnet mask /26 berarti:
1111 1111.1111 1111.1111 1111.1100 0000 (255.255.255.192)=> Lihat tabel diatas
Perhitungan:
  • Cari jumlah Subnet
    Rumus: 2X, dimana X adalah banyaknya angka biner 1 pada oktet/byte terakhir subnet mask (2 oktet terakhir untuk kelas B, 3 oktet terakhir untuk kelas A). Jadi jumlah subnetnya adalah 22 => 4 subnet.
  • Cari jumlah Host per subnet
    Rumus: 2Y – 2 , dimana Y adalah banyaknya angka biner 0(nol) pada oktet/byte terakhir subnet mask. Jadi jumlah subnetnya adalah 26 – 2 => 62 host.
  • Cari blok subnet
    Rumus: 256-(nilai oktet terakhir subnet mask) =>256-192=64. Subnet berikutnya adalah 64 + 64=128, dan 128 + 64=192. Jadi, subnet lengkapnya adalah 0, 64, 128, 192
  • Cari alamat broadcast
    Catatan: Host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
Setelah dilakukan perhitungan, maka didapat data sebagai berikut:
Subnet 192.168.1.0 192.168.1.64 192.168.1.128 192.168.1.192
Host Pertama 192.168.1.1 192.168.1.65 192.168.1.129 192.168.1.193
Host Terakhir 192.168.1.62 192.168.1.126 192.168.1.190 192.168.1.254
Broadcast 192.168.1.63 192.168.1.127 192.168.1.191 192.168.1.255

Source : ijobaraya