IP

Kamis, 14 Mei 2015

Dunia SQL Injection

SQL Injection merupakan teknik eksploitasi sebuah aplikasi web memakai data yang diberikan atau disisipkan dalam query SQL. Cara kerjanya dengan memasukkan query SQL atau perintah (command) sebagai input yang dimungkinkan melalui halaman web. Di mana halaman halaman web mengambil parameter dari user, lalu membuat query SQL ke dalam database. Salah satunta adalah pada halaman login user, di mana pada halaman web tersebut akan membuat query SQL ke database untuk memeriksa username dan password yang tepat.

Dengan demikian SQL Injection dapat pula dikatakan sebagai kegiatan menipu query dari database, sehingga seseorang dapat mengetahui dan mendapatkan informasi yang terdapat di sana. Menipu di sini adalah dalam bentuk suntikan, lebih tepatnya menyisipkan kode SQL tambahan ke dalam kode yang asli. Sehingga kemudian yang dieksekusi adalah perintah SQL Injection tersebut.

Sebagai contoh, coba Anda perhatikan halaman yang dipakai untuk melakukan submit data, misalnya pada halaman login. HTML kadang memakai perintah POST untuk mengirimkan parameter ke halaman ASP/PHP lainnya. Oleh sebab itulah,kita tidak dapat melihat parameter pada URL. Namun, kita masih bisa memeriksa source code HTML  dan mencari tag FORM dalam kode HTML.

Di sini saya akan membuat sebuah source code untuk melakukan login menggunakan PHP. Contoh seperti dibawah ini:

 <html>  
 <head>  
 <title>inject</title>  
 </head>  
 <body>  
 <center>  
 <h2>Login Admin</h2>  
 <br>  
 <form method="post">  
 Nama User <input type="text" name="nama">  
 <br>  
 Password <input type="password" name="password">  
 <br>  
 <input type="submit" name="submit" value="ENTER">  
 </form>  
 </center>  
 </body>  
 </html>  
 <?php  
 if ($submit or $nama) {  
 $konek=mysql_connect("localhost","root","root") or die  
 (mysql_error());  
 $db=mysql_select_db("db_adminx");  
 $sql="select count(1) as ada from tbluser where  
 nama=' " .$nama. " ' and password=md5(' "  
 .$password. " ')";  
 echo $sql. "<br>";  
 $query=mysql_query($sql) or die(mysql_error());  
 $result=mysql_fetch_array($query);  
 $jml=$result[ada];  
 mysql_close();  
 if ($jml>0) {  
 echo "Terimakasih telah memasuki halaman ini";  
 } else {  
 echo "Maaf, Username dan Password salah";  
 }  
 }  
 ?>  

Contoh source code halaman login


Dan ketikadibuka menggunakan browser, tampilannya seperti ini.

Tampilan halaman login
Sekarang, kita akan melihat source code dari halaman login yang ditampilkan pada browser tersebut.

Melihat source code halaman login
Maka, akan terlihat bahwa kode-kode untuk perintah SQL tidak ditampilkan. Begitu juga dengan kode PHP yang saya masukkan, yang muncul hanyalah kode HTML-nya saja.
Source code halaman login
Bayangkanapabila kode-kode PHP dan SQL bisa ditampilkan pada user, tentu saja semua orang bisa melihat melihat username, password database, nama database, nama tabel, dsb.

Jika kita perhatikan dengan seksama pada source code. Apa pun yang berada di antara <FORM> dan </FORM> memiliki parameter potensial yang bisa berguna untuk dieksploitasi. Ada banyak halaman web yang menerima input selain halaman login, seperti Search, Feedback, buku tamu, dsb. Namun apabila Anda tidak menemukan halaman yang menerima input, Anda bisa mencari halaman yang menggunakan ekstensi PHP, ASP, JSP, atau CGI. Khususnya untuk URL yang menerima parameter seperti:

http://namasitusweb.com/index.php?id=9

Atau:

http://namasitusweb.com/index.asp?id=99

Pada dasarnya ada beberapa type SQL Injection, yaitu:
  • Error Based SQL Injection  
       Yaitu memberi sebuah perintah ke database sehingga menampilkan pesan error.Dari pesan error tersebut diperoleh informasi yang bisa dimanfaatkan.
  • Union Based SQL Injection
       Sebuah metode perintah UNION untuk menggabungkan hasil dari dua atau lebih perintah SELECT menjadi sebuah hasil tunggal.
  • Blind SQL Injection
       Jenis ini tidak menampilkan pesan error dan tidak menampilkan data atau informasi yang ada, terkadang sedikit sulit untuk melakukan eksploitasi untuk type Blind SQL Injection, Hal ini karena prosesnya dengan memberi pertanyaan pada database berupa kondisi TRUE/FALSE dan apakah halaman yang ditampilkan benar atau tidak.

Dari sisi metode yang digunakan, pada Error Based SQL Injection dikelompokkan menjadi dua yaitu:

GET method

Inilah yang paling umum atau banyak digunakan untuk memasukkan perintah SQL Injection melalui URL sebuah situs web pada address bar, sehingga metode ini dikenal juga sebagai URL Based SQL Injection. Disebut metode GET kerena menggunakan parameter GET untuk memasukkan atau menyuntikan perintah.

POST method

Metode POST berasal dari variable yang ada pada form, contohnya seperti form login atau form pencarian. Cara untuk mengidentifikasinya juga sama, dengan memberikan karakter ' atau - atau karakter ascii yang bisa menghasilkan error. Hal ini yang sering digunakan untuk mem-bypass sebuah halaman login tanpa harus mengetahui username atau password yang digunakan.

Selasa, 12 Mei 2015

MySQL Command Line

Dalam artikel sebelumnya, setidaknya kita sudah mengetahui bagaimana menggunakan berbagai perintah SQL dalam halaman phpMyAdmin. Hanya saja karena dalam aksi SQL injection tentunya Anda tidak memasuki halaman phpMyAdmin, jadi perlu rasanya tambahan artikel ini. Selain itu Anda juga bisa menjadi lebih paham konsep database dengan menggunakan MySql, paket ini sendiri sudah ada sewaktu Anda melakukan instalasi XAMPP. Selain itu, kebanyakan aksi SQL injection nantinya lebih mengarah pada MySQL, tentu karena kebanyakan database di internet menggunakan MySql.

Untuk menggunakan MySql dalam bentuk Command Line, selain melalui halaman phpMyAdmin seperti sebelumnya, Anda juga bisa menggunakan Command Prompt di Windows atau Terminal pada Linux. Di karenakan saya pribadi menggunakan Linux jadi apa yang saya share selanjutnya adalah gambar dari Terminal Linux/UNIX System. Tidak ada banyak perbedaan antara perintah MySql di Terminal atau Command Prompt Windows basisnya sama saja, dan apa yang saya bagikan di sini tentu terlebih dahulu saya terapkan pada laptop pribadi saya.

Agar dapat menggunakan MySql dalam bentuk Command Line, silahkan menuju tempat penyimpanan dari folder MySql sewaktu proses instalasi XAMPP. Secara default di  C:\xampp\mysql\bin. Setelah berada dalam direktori MySql, kita akan melakukan login terlebih dahulu dengan perintah dibawah ini, masukkan password jika ada lalu tekan Enter.

mysql -u root -p

Apabila proses login berhasil maka Anda akan menerima ucapan selamat datang serta informasi lainnya yang di akhiri dengan  mysql>

Login mysql
                                                          
Kita akan membuat database baru, contoh saya akan membuat database  dengan nama secret, berikut perintah yang digunakan:

create database secret;

Jangan lupa untuk mengakhiri perintah MySql dengan tanda titik koma (;) sebelum menekan Enter.

Sekarang kita akan mengetahui database apa saja yang telah ada dalam server, perintah yang digunakan:

show databases;

Berbagai nama databases
                                           
Sebelum membuat sebuah tabel, Anda perlu mengaktifkan database terlebih dahulu.

use secret;

Jika perintah yang kita ketikkan benar, maka akan tampil pesan Databases Change. Barulah kita bisa mengolah databases tersebut. Misalnya untuk membuat sebuah tabel  dengan nama penting, yang berisi kolom: Username, Password, dan Email. Berikut perintahnya:

create tabel penting ( Username varchar(50) not null primary key, Password varchar(30) not null, Email varchar(50) not null );

Kita bisa melihat bentuk rancangan tabel yang kita buat dengan perintah:

desc penting;

Pembuatan dan deskripsi tabel
                                          
Sekarang kita akan memasukkan data ke dalam database yang kita buat, perintahnya:

insert into penting (Username, Password, Email) values ('admin','pop3y3','admin@situsweb.com');

Untuk melihat isi data dari tabel penting gunakan:

select * from penting;

JIka hanya ingin melihat isi kolom misalnya Username dan Email, maka gunakan:

select Username, Email from penting;

Menampilkan isi data
                                           
Kemudian dalam melakukan perubahan data pada tabel, contoh jika saya ingin mengubah Username 'admin' menjadi 'administrator' dan juga Email 'admin@situsweb.com' menjadi 'administrator@situsweb.com'. Bentuk perintah yang saya gunakan adalah sbb:

update penting set Username='administrator', Email='administrator@situsweb.com' where Username='admin';

Contoh lain, saya akan mengubah password dari pop3y3 menjadi thepooh:

update penting set Password='thepooh' where Username='administrator';

Untuk melihat hasilnya, tampilkan dengan menggunakan perintah SELECT.

Update data
                                                   
Saya rasa cukup sekian dasar-dasar menggunakan MySql melalui perintah Command Line, yang di maksudkan hanya untuk  memudahkan  Anda dalam memahami dasar dari SQL Injection yang tentu saja selebihnya bisa Anda eksplorasi sendiri.

Selasa, 05 Mei 2015

Berkenalan Dengan phpMyAdmin dan SQL

Sebelum Anda memulai aksi SQL injection, sebaiknya Anda mengenal terlebih dahulu apa itu SQL dan bagaimana penerapannya. SQL adalah kependekan dari Structured Query Languange, merupakan sebuah bahasa yang digunakan untuk mengakses data dalam database relasional. Sedangkan database relasional itu sendiri adalah sebuah database yang bekerja dengan menghubungkan data pada file-file yang berbeda menggunakan sebuah kunci atau elemen data yang umum. Sederhananya, data yang diolah oleh SQL berbentuk informasi yang disimpan dalam bentuk tabel. Setiap tabel memiliki field-field (kolom) tertentu untuk menyimpan data atau informasi.

SQL juga dikenal sebagai bahasa standar yang digunakan untuk mengakses database server. Bahkan saat ini hampir semua server database yang ada mendukung bahasa ini untuk melakukan manajemen datanya. SQL banyak diterapkan pada pemrograman berbasis client-server, seperti PHP, ASP, Java J2EE, dsb. Contoh software SQL yang terkenal adalah MySQL, MsSQL (Microsoft), Oracle SQL, Postgre SQL (open source). Perintah dasar SQL pada dasarnya hampir sama, baik MySQL dan yang lainnya.

Secara umum perintah SQL dibagi menjadi dua kelompok, yaitu:
  •  DDL (Data Definition Languange)
      Data Definition Languange merupakan bagian dari SQL yang digunakan untuk  mendefinisikan data dan objek database. Perintah tersebut berupa membuat, mengubah, menghapus database beserta objek lain dalam database, seperti tabel.
  •  DML ( Data Manipulation Languange)
      Data Manipulation Languange merupakan bagian dari perintah SQL yang digunakan untuk memanipulasi data seperti menampilkan, menyisipkan, menghapus, dan mengubah isi data yang ada dalam suatu tabel.

Untuk simulasinya sendiri kita akan memakai phpMyAdmin yang terdapat pada XAMPP untuk membuat database. Kenapa memakai phpMyAdmin bukan software lainnya, tentu karena pembahasan kita yang bertemakan hacking di mana aksi hacking tersebut utamanya mengakses situs web di internet yang berbasiskan CMS, banyak menggunakan phpMyAdmin untuk manajemen database-nya. Misalnya, Joomla, WordPress, Drupal, Luxcal, dsb.

Menggunakan phpMyAdmin

Untuk membuat database, dalam halaman home XAMPP pada panel sebelah kiri menu Tools pilih phpMyAdmin. Atau Anda juga bisa langsung mengetikkan alamat http://127.0.0.1/phpmyadmin pada address bar browser, maka Anda akan dibawa menuju pada halaman phpMyAdmin untuk mengelola database. Untuk tambahan informasi, dalam beberapa kasus kerap terjadi error. Untuk memperbaikinya, bukalah file config.inch.php yang berada di C:\xampp\phpmyadmin, pada Windows dan di  /opt/lampp/phpmyadmin. Buka file tersebut dan cari kode berikut ini:

$cfg['Servers'][$i]['password']='';

Pada bagian setelah tanda sama dengan, terlihat password dalam keadaan kosong. Silahkan Anda isi sesuai yang di inginkan. Setelah itu coba login ulang dengan memakai username 'root' dan password baru Anda tadi.

Halaman phpMyAdmin
                                                       
Silahkan buka tab database, kemudian ketikkan nama database pada bagian Create new database. Sebagai contoh di sini aya menggunakan nama 'dataku' lalu klik tombol Create.

Membuat database baru
                                                    
Selesai membuat database, sekarang kita akan membuat tabel pada halaman yang sama dengan nama database. Masukkan nama tabel yang Anda inginkan, isikan juga jumlah field (kolom) misalnya di sini saya memasukkan angka 2. Lalu klik tombol GO. Kemudian isikan nama kolom (field). jenis (Type), dan panjang nilainya (Lenght/Values) seperti contoh di bawah ini. Setelah selesai, klik tombol Save.

Tabel berhasil dibuat
                                                      
Setelah berhasil membuat nama database dan juga tabelnya, sekarang kita akan memasukkan data. Klik pada tab Insert, masukkan data sesuai dengan field yang telah Anda buat sebelumnya.Untuk bagian Function biarkan saja dalam keadaan kosong. Disini Anda bisa memasukkan satu atau dua kata sekaligus, dengan cara menghilangkan tanda centang pada bagian Ignore. Setelah selesai klik tombol Go.


Memasukkan data
                                                       
Untuk melihat isi tabel yang telah dibuat, klik tab Browse. Apabila Anda ingin melakukan backup atau transfer terhadap database yang telah Anda buat, Anda bisa menggunakan fasilitas export. Untuk melakukan export database yang telah Anda buat, klik tab Export. Dari tampilan yang muncul, pilih tabel yang ingin Anda export. Pada jenis file, pilih SQL.Selanjutnya pada bagian Save as file, pilih zipped lalu klik tombol Go. Berikan tanda centang pada bagian Save File pada jendela download, lalu klik OK.

Proses download selesai
                                                     
Untuk melihat file SQL-nya, Anda bisa membuka file SQL tsb menggunakan Notepad. Disini karena saya menggunakan Linux jadi program yang saya gunakan adalah Geany.

Isi file dataku.sql
                                                    
Apabila Anda merasa terjadi kesalahan dalam pembuatan tabel dalam sebuah database, atau sudah tidak memerlukannya lagi, Anda bisa menghapus, Caranya adalah:
  1. Dalam database carilah tabel yang akan dihapus.
  2. Berikan tanda centang pada nama tabel.
  3. Ganti pilihan With selected dengan Drop.
  4. Klik Yes.
 Menggunakan SQL dalam phpMyAdmin

Sebagai sedikit pemanasan bagi yang tidk terbiasa dengan dunia SQL. Sekarang kita akan sedikit mempelajari bagaimana menggunakan syntax atau SQL untuk pembuatan database dalam phpMyAdmin.

Untuk membuat database dengan perintah SQL, pada halaman depan phpMyAdmin klik tab SQL. Maka akan muncul pesan RunSQL query/queries on server "localhost". Buatlah sebuah database dengan syntax:

CREATE DATABASE `AKU`;

Jika sudah, dilanjutkan dengan membuat tabel dengan nama data menggunakan  syntax berikut:

CREATE TABLE `AKU`.`data` ( `nama` VARCHAR (20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `userid` INT (8) NOT NULL ) ENGINE = MYISAM

Tabel tersebut berisikan dua buah fiel, yaitu NAMA dan USERID. Detailnya seperti ini:
  • Field 1:  nama, jenis: VARCHAR, nilai: 20, collation: utf8_general_ci, NOT NULL.
  • Field 2: userid, jenis: INT, nilai: 8, NOT NULL.
Arti syntax di atas adalah: buat sebuah tabel dengan nama 'data' kedalam database yang bernama 'aku'. Kolom pertama pada tabel 'data' adalah 'nama' dengan jenis varchar (untuk huruf), menggunakan metode sortir utf_general_ci. Dan kolom kedua bernama 'userid', dengan jenis integer (INT), dengan nilai 8. Engine yang digunakan untuk membuat tabel adalah MYISAM.

Membuat tabel dengan syntax
                                                    
Hal yang sama juga kita lakukan dengan membuat data dari database dan tabel di atas, misalnya kta akan memasukkan data kedalam database aku, pada tabel data. Pada kolom nama akan berisi Andi dan pada kolom useris akan berisi 212. Berikut syntax digunakan:

INSERT INTO `aku`.`data` (`nama`,`userid`) VALUES ('andi','212');

Perlu Anda ketahui, untuk isi tabel ('joko','212') karakter yang digunakan bukanlah apostrof melainkan tanda kutip tunggal. Untuk melihat isi data tersebut, gunakan syntax berikut:

SELECT * FROM `aku`.`data` LIMIT 0, 30

Artinya tampilkan isi data yang terdapat dalam database aku, tepatnya pada tabel data. Di mana batasan penampilan isi data antara 0 sampai dengan 30.

Untuk memodifikasi data, misalnya yang pertama menghapus data yang ada dalam tabel kita gunakan:

DELETE FROM `aku`.`data` WHERE `data`.`nama` = andi LIMIT 1;

Artinya hapus data dari database aku, pada kolom data. Dimana tabel tersebut memiliki ciri, yaitu nilai kolom nama adalah andi.

Modifikasi kedua adalah menghapus kolom nama:

ALTER TABLE `aku`.`data` DROP `nama`;

Jika diperlukan untuk menghapus sebuah tabel, gunakan syntax:

DROP TABLE `aku`.`data`;

Sedangkan untuk menghapus database, digunakan:

DROP DATABASE `aku`;

Catatan:
  • Setiap syntax pada SQL selalu diakhiri dengan tanda semicolon atau titik koma (;).
  • Di sini saya memakai tanda semicolon agar tidak kebingungan saat bertemu dengan sistem database lainnya, terlebih jika kita menggunakan terminal, ssh, cmd, atau program remote server lainnya, perintah ini wajib diperhatikan.
  • Pad beberapa kasus, bisa juga tidak menggunakan tanda apostrof (`) untuk membuat nama database.
  • Selalu gunakan tanda bintang (*) untuk melihat isi tabel, tanda ini akan membaca baris (row).

Minggu, 03 Mei 2015

Infrastruktur Web Server

Sebuah ilustrasi sederhana saja, apabila Anda sedang membuka sebuah situs web menggunakan browser. Hal ini berarti komputer Anda sedang terhubung dengan sebuah komputer server yang berisikan berbagai data atau halaman-halaman web yang Anda minta untuk dapat ditampilkan pada layar komputer Anda. Seperti itulah apa yang dinamakan Web Server. Ada banyak aplikasi  Web Server yang dapat kita gunakan, seperti Apache, Xitami, PWS, IIS, dan sebagainya. Kenapa disini saya awali dengan pembahasan mengenai Web Server. Karena dalam melakukan aksi SQL injection ini, Anda akan banyak berhubungan dengan infrastruktur tersebut hanya dengan bermodalkan sebuah browser saja. Sebelumnya mengenai SQL Injection ini bisa Anda baca di Artikel sebelumnya.

Saat ini kita akan mulai menyiapkan infrastruktur dengan membuat komputer atau laptop  yang sedang anda gunakan saat ini menjadi sebuah Web Server. Hal ini akan mendukung kegiatan Anda untuk belajar melakukan aksi SQL injection secara manual tentunya, yang akan di jelaskan secara bertahap dalam setiap artikel mendatang.

Seperti yang sudah dijelaskan, ada banyak aplikasi yang dapat digunakan untuk membuat Web Server. Namun disini saya akan menggunakan sebuah program yang bernama XAMPP, yang tentu sudah tidak asing lagi di telinga para praktisi TI seluruh dunia. Di dalam aplikasi XAMPP sendiri sudah tersedia Apache yang bertindak sebagai Web Server, sekaligus pula MySQL untuk melakukan manajemen database.

Sekarang kita akan melakukan instalasi XAMPP, jika Anda belum memiliki program tersebut silahkan untuk mengunduhnya langsung di www.apachefriends.org sesuaikan dengan platform komputer Anda apakah memakai Windows, Linux, atau Apple Mac OS X. Jika sudah silahkan jalankan file instalasi XAMPP tersebut.

Pada Windows:

  1. Jalankan file instalasi XAMPP dengan nama xampp-win32-....exe.
  2. Pada tampilan pertama akan muncul petunjuk instalasi, pastikan alamat default yang disediakan pada drive C:, klik tombol Install.
  3. Apabila muncul pertanyaan, klik saja Yes maka proses instalasi akan segera dilakukan.
  4. Tunggu proses instalasi selesai dilakukan. Setelah itu akan tampil jendela kerja Command Prompt, yang menanyakan apakah Anda ingin memasang shortcut di Desktop atau tidak. Pilih saja Y sesuai default dan tekan tombol Enter pada keyboard.
  5. Berikutnya muncul pertanyaan kedua, apakah Anda ingin supaya program menempatkan path untuk XAMPP dengan benar, pilih Y dan Enter.
  6. Kali ini akan muncul permintaan untuk membuat XAMPP menjadi portable, sesuai nilai default yang ditampilkan. Biarkan saja pilihannya N tekan Enter.
  7. Tunggu proses relocating dilakukan sampai selesai.
  8. Tekan tombol Enter.
  9. Dari pertanyaan berikutnya yang tampil, langsung tekan Enter.
  10. Untuk menampilkan Control Panel XAMPP, masukkan pilihan nomor 1 lalu Enter.
  11. Setelah jendela XAMPP Control Panel tampil, sekarang kita kembali pada jendela Command Prompt dan ketik x lalu Enter untuk keluar.
  12. Kembali pada jendela kerja Control Panel XAMPP, berikan tanda centang pada bagian Svc pada Apache.
  13. Akan muncul kotak dialog yang menanyakan apakah Anda ingin menginstal Apache Service, klik Ok.
  14. Klik tombol Start sehingga status Apache menjadi Running, yang berarti Apache sedang berjalan dalam komputer Anda.
Pada Linux proses instalasinya sangat simple, cukup memberikan izin eksekusi pada paket instalasi kemudian jalankan:

sudo chmod +x xampp-linux-x64-.....-installer.run
sudo ./xampp-linux-x64-.....-installer.run                 


Maka akan muncul jendela instalasi XAMPP, selanjutnya pilih Next sampai proses instalasi dilakukan kemudian klik Finish. Untuk perintah menjalankan XAMPP sendiri di Linux adalah:

sudo /opt/lampp/lampp start     
sudo /opt/lampp/lampp stop      
sudo /opt/lampp/lampp restart 

Apa yang kita lakukan di atas adalah mengubah komputer atau laptop kita seolah-olah menjadi sebuah server. Untuk membukyikannya, sekarang bukalah sebuah browser tanpa terhubung ke Internet. Pada bagian address bar ketikkan http://localhost. Maka akan tampil isi seperti berikut setelah kita memilih bahasa pada halaman sebelumnya.

                                                   
Tampilan localhost
                                                               
Sekarang kita akan sedikit mengeksplorasi XAMPP, langsung menuju directori tempat instalasi pada Windows di drive C:\xampp\htdocs atau pada Linux di /opt/lampp/htdocs. Dalam subfolder htdocs, buat sebuah subfolder lain dengan nama master. Buka folfermaster tersebut yang masih kosong  kemudian buatlah sebuah file HTML sederhana. File HTML adalah file standar dalam dunia Internet yang sering digunakan untuk menampilkan isi sebuah situs web. Gunakan program Notepad pada Windows, Gedit atau Nano pada Linux lalu buatlah kode HTML seperti contoh berikut ini di dalamnya.

                            
Kode HTML dalam Notepad
                                                     
Sekarang kita akan menyimpan file tersebut dengan ekstensi HTML. Caranya, klik menu file dan klik Save. Simpan file tersebut dengan nama index.html, pada bagian save as type, ganti menjadi All Files. Jangan lupa untuk mengatur alamat tempat penyimpanan dalam folder master yang baru saja kita buat, yaitu di C:\xampp\htdocs\master.

                            
Kotak dialog penyimpanan
                                                     
Kini dalam folder master terdapat sebuah file yang bernama index.html. Sekarang kita akan uji untuk membuka file tersebut pada browser. Masukkan alamat berikut: http://localhost/master. Perhatikan isinya seperti gambar di bawah ini.

                             
Tampilan file index.html
                                                      
Kode atau syntax yang Anda ketikkan dalam Notepad adalah kode-kode untuk menampilkan halaman web pada browser seperti contoh di atas. Perlu Anda ketahui untuk file dengan nama index.html akan dianggap sebagai file default oleh browser. Jadi tidak perlu memasukkan alamat yang panjang seperti http://localhost/master/index.html. Khusus untuk nama file lainnya maka nama file harus disertakan. Misalnya, nama file yang Anda buat adalah abc.html maka di browser Anda harus memasukkan http://localhost/master/abc.html.

Kira-kira seperti itulah prinsip atau cara kerja Web Server menampilkan isi sebuah situs web pada Internet, hanya saja kita menggunakan komputer lokal sebagai simulasinya. Pada artikel selanjutnya kita akan berkenalan dengan SQL.

Sabtu, 02 Mei 2015

Mengenal SQL Injection

SQL injection merupakan metode teknik penyerangan sebuah situs web secara langsung dengan memasukan perintah SQL sebagai input, melalui addres bar sebuah halaman web guna mendapatkan akses database.

Dalam aksi SQL injection, sama sekali tidak di perlukan tools apa pun, cukup hanya bermodalkan sebuah browser saja seseorang sudah dapat melakukan aksi SQL injection tanpa harus capek-capek nyari ip address, port scanning, trace route, menggunakan port tertentu, tidak terpengaruh oleh firewall, tidak ngefek dengan IDS (Intrusion Detection System) dan sebagainya.

Bagi yang berkecimpung dalam bidang keamanan komputer, istilah tersebut tentu sudah tidak asing lagi. Kata SQL adalah bahasa  yang digunakan untuk mengakses database, dan kata injection sendiri apabila diterjemahkan berarti menyuntik. Secara kesuluruhan yang dilakukan oleh SQL injection ini adalah menyuntik/menyusupkan perintah tertentu sehingga kelemahan (vulnerabilities) dari situs web terbongkar sehingga dapat dieksploitasi.

Sebelum memasuki dunia SQL injection, kita akan sedikit mengenal tentang web server sekaligus mempersiapkan komputer anda sebagai sebuah web server, yang bisa Anda baca di artikel Infrastruktur web server.