Anda di halaman 1dari 32

PENGAMANAN WEBSITE TERHADAP EKSPLOITASI SQL INJECTION,

DEFACE, XSS, DIRECT-ACCESS ATTACK

KEAMANAN SISTEM INFORMASI

Diajukan Untuk Memenuhi Tugas Besar Mata Kuliah Keamanan Sistem Informasi
Program Studi Teknik Informatika
Fakultas Teknik dan Ilmu Komputer

Oleh :
Melanni Heldiassintia – 10114386
Priyambodo Pujo Sulaksono – 10114381
Aulia Rahma S.R – 10114351
Mirza Rahadi – 10114349

KSI-09

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2018
KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena atas rahmat

dan nikmat yang telah dilimpahkan kepada kami, sehingga kami dapat

menyelesaikan makalah tugas besar yang berjudul ”Penggunaan Metode Encoding sebagai

pengamanan web terhadap eksploitasi inject, deface make shell, xxs, enxrypt, directpass”

Terselesainya makalah ini tidak lepas dari dukungan beberapa pihak yang telah memberikan

kepada kami berupa referensi dan materi. Oleh karena itu, kami bermaksud mengucapkan

banyak terima kasih kepada seluruh pihak yang tak dapat di sebutkan satu persatu, semua

yang telah membantu terselesaikannya makalah ini.

Kami menyadari bahwa penyusunan makalah ini belum mencapai kesempurnaan, sehingga

kritik dan saran yang bersifat membangun sangat kami harapkan dari berbagai pihak demi

kesempurnaan makalah ini. Akhirnya kami berharap semoga makalah ini dapat bermanfaat

bagi kita semua.

Bandung, 1 Agustus 2018

Penyusun
BAB 1

PENDAHULUAN

1.1 Latar Belakang

Pada bab ini, kita akan mempelajari bagaimana cara melihat suatu keamanan dalam web yang

belum aman dan yang sudah aman dengan menggunakan eksploitasi inject, deface make shell,

xss, encrypt, directpass dengan cara membandingkan dan memperlihatkan suatu sistem keamanan

pada web

Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi.Sayang

sekali masalah keamanan ini seringkali kurang mendapat perhatian dari para pemilik dan

pengelola sistem informasi.Seringkali masalah keamanan berada di urutan kedua atau bahkan

diurutan terakhir dalam daftar hal-hal yang dianggap penting. Apa bila menggangu performansi

dari sistem seringkali keamanan dikurangi atau ditiadakan.

Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting.Kemampuan untuk

mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi

sebuah organisasi baik yang berupa organisasi komersial (perusahaan), perguruan tinggi, lembaga

pemerintahan, maupun individual. Hal ini dimungkinkan dengan perkembangan pesat di bidang

teknologi komputer dan telekomunikasi.

Sangat pentingnya nilai sebuah informasi menyebabkan seringkali informasi

diinginkan hanya boleh diakses oleh orang-orang tertentu. Jatuhnya informasi ke tangan pihak

lain (misalnya pihak lawan bisnis) dapat menimbulkan kerugian bagi pemilik informasi.

Sebagai contoh, banyak informasi dalam sebuah perusahaan yang hanya diperbolehkan

diketahui oleh orang-orang tertentu di dalam perusahaan tersebut, seperti

misalnya informasi tentang produk yang sedang dalam development, algoritma-algoritma dan

teknik-teknik yang digunakan untuk menghasilkan produk tersebut. Untuk itu keamanan dari

sistem informasi yang digunakan harus terjamin dalam batas yang dapat diterima.
Di dunia maya atau internet sekarang ini sudah banyak sekali bertebaran bug-bug dari

unicode para cracker-craker yang tidak bertanggung jawab. Mereka ini menggunakan berbagai

tehnik hacking untuk mencari kelemahan dan merusak pada system keamanan suatu jaringan.

Salah satu dari tehnik tersebut yang sangat membahayakan sebuah website yaitu SQL

injection atau dikenal juga dengan SQL insertion yaitu sebuah teknik yang digunakan untuk

mengeksploitasi database pada suatu websites dengan memaksa keluarnya error page situs itu

yang ada error pages itu terdapat info tentang struktur database website yang dieksploitasi. SQL

sendiri merupakan bahasa pemrograman database yang sering dipakai para web developer

maupun admin sebuah situs untuk menampung ataupun menaruh data-data baru dari suatu input

yang masuk seperti input member login,searchengine,dan lain sebagainya.

Sebenarnya SQL injection sendiri bukanlah hal baru, dari dulu teknik ini sudah dikenal dalam

dunia hacking sebagai salah satu teknik web hacking, namun baru muncul lagi sekarang karena

sifatnya yang dapat merusak database dari suatu website. SQL injection ini sempat ramai pada

beberapa waktu yang lalu yaitu pada saat kasus bobolnya situs TNP KPU oleh salah seorang

cracker Indonesia, Dani Firmansyah.

1.2 Rumusan Masalah

Bagaimana cara mengamankan web dari croosite scripting

1.3 Tujuan dan Manfaat

1. Agar para pembaca bisa tau tentang cara mengamankan web dari croosite scripting

2. Agar pembaca dapat mengerti apa yang disampaikan pennulis

1.4 Output yang dihasilkan

Website kepegawaian aman dari pretasan injection direct acces maupun deface. Akses data
password aman dari peretasan ke database menggunakan fungsi encrytion dengan pembuatan
kamus dan key.
BAB 2

TOOLS / METODE

2.1 Tools
1. Shell
Shell adalah salah satu jenis program asli sistem operasi (seringnya
merupakan program yang terpisah dari inti sistem operasi) yang menyediakan
komunikasi langsung antara pengguna dan sistem operasi. Contoh dari kekerang
adalah COMMAND.COM dalam MS-DOS, Macintosh Finder
(Macintosh), Windows Explorer, Command Prompt/cmd.exe, PowerShell dalam Micr
soft Windows, Bourne shell, C shell, Korn shell dan masih banyak lainnya khususnya
dalam keluarga sistem operasi UNIX. Beberapa kekerang juga dapat digunakan untuk
melakukan pengelolaan berkas.
Shell adalah suatu perangkat lunak yang menyediakan antarmuka bagi
pengguna sistem operasi yang menyediakan akses ke layanan kernel. Shell sistem
operasi pada umumnya mempunyai 2 kategori. yaitu command Line dan graphical.
Command Line shells menyediakan Command Line Interface (CLI) ke sistem
operasi, sedangkan graphical shells seperti Windows Shells, menyediakan Graphical
User Interface (GUI). Tujuan utama dari shell adalah untuk memulai program lain
dengan melihat isi directories.

Manfaat dari CLI dan GUI shell sering diperdebatkan. CLI mengklaim bahwa operasi
tertentu dapat dilakukan jauh lebih cepat CLI shell dibanding dengan GUI shell.
Namun, para pendukung GUI menganjurkan kegunaan komparatif dan keserhanaan
GUI shell. Pilihan terbaik sering ditentukan oleh cara dimana komputer digunakan.
Pada server, terutama digunakan untuk transfer data dan pengolahan dengan
administrasi asli, CLI mungkin menjadi pilihan yang terbaik. Namun, GUI akan
sesuai untuk komputer yang digunakan untuk mengedit gambar atau video dan
pengembangan data.
Contoh-contoh shell :
 Bourne shell, C shell, Emacs shell, Stand alone shell, rc shell, bean shell adalah
beberapa contoh shell dari UNIX.
 cmd.exe
 command.com
 Windows power shell
 Singularity shell
 Google shell
 Console
 iSeries QSHELL
 dll.

2. CodeIgniter
CodeIgniter merupakan aplikasi sumber terbuka yang berupa framework PHP
dengan model MVC (Model, View, Controller) untuk membangun website dinamis
dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat
aplikasi web dengan cepat mudah dibandingkan dengan membuatnya dari awal.
CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah
versi 3.0.4.

Model View Controller merupakan suatu konsep yang cukup populer dalam
pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun
sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi
kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern
dalam suatu aplikasi yaitu :

1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi
web bagian ini biasanya berupa file template HTML, yang diatur oleh controller.
View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian
ini tidak memiliki akses langsung terhadap bagian model.
2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi
data (insert, update, delete, search), menangani validasi dari bagian controller,
namun tidak dapat berhubungan langsung dengan bagian view.
3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan
bagian view, controller berfungsi untuk menerima request dan data dari user
kemudian menentukan apa yang akan diproses oleh aplikasi.

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan


sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian
model dan controller, sedangkan designer yang menangani bagian view, sehingga
penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode.
Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan
designer dalam menangani variabel-variabel yang akan ditampilkan.

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,

 Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah
karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi
Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan
framework yang paling cepat dibanding framework yang lain.
 Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk
menyesuaikan dengan database dan keleluasaan routing tetap diizinkan
melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti
database.php atau autoload.php, namun untuk menggunakan codeigniter dengan
setting standard, anda hanya perlu mengubah sedikit saja file pada folder config.
 Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
 Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah
disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan,
bahasanya pun mudah dipahami.
 Dan banyak lagi yang lainnya.

3. Framework

Framework secara sederhana dapat diartikan kumpulan dari fungsi-


fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap
digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang
programer, tanpa harus membuat fungsi atau class dari awal.
Famework atau bahasa indonesianya kerangka kerja adalah sebuah software
untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah
berbagai fungsi, plugin, dan konsep sehingga membentuk suatu sistem tertentu.
Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur
dengan rapi. Namun, menggunakan framework bukan berarti kita bebas dari
pengkodean. Kita sebagai pengguna/programmer menggunakan variabel dan fungsi-
fungsi yang ada di sebuah framework itu. Karena itulah, kerja kita bisa menjadi
efektif karena tidak harus membuat fungsi-fungsi lagi.

Ada beberapa alasan mengapa menggunakan Framework:

 Mempercepat dan mempermudah pembangunan sebuah aplikasi web.

 Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu
dalam sebuah framework (dengan syarat programmer mengikuti pola standar
yang ada)

 Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai


sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM,
pagination, multiple database, scaffolding, pengaturan session, error handling, dll

 Lebih bebas dalam pengembangan jika dibandingkan CMS

2.2 Metode

1. Injection
Injection adalah sebuah teknik untuk mengeksplorasi aplikasi web dengan
memanfaatkan suplai data dari client dalam sintak atau script SQL.

2. Deface
Berdasarkan kamus UMUM berarti merusakkan; mencemarkan; menggoresi;
menghapuskan tetapi arti kata deface disini yang sangat lekat adalah sebagai salah
satu kegiatan merubah tampilan suatu website baik halaman utama atau index filenya
ataupun halaman lain yang masih terkait dalam satu url dengan website tersebut (bisa
di folder atau di file).Deface adalah teknik mengganti atau menyisipkan file pada
server, teknik ini dapat dilakukan karena terdapat lubang pada sistem security yang
ada di dalam sebuah aplikasi. Hal ini bertujuan untuk melakukan perubahan tampilan
pada website korban dengan tampilan yang dimiliki oleh si defacer. Deface
merupakan sebuah serangan yang dilakukan untuk mengganti visual dari sebuah
website. Para hacker biasanya meninggalkan pesan dan nickname mereka agar hasil
kerjanya diketahui oleh khalayak hacker.

3. XSS atau Cross-Site Scripting


XSS atau Cross-Site Scripting merupakan sejenis serangan yang ditujukan
ke pengguna yang lainnya. Serangan ini tidak akan memberikan akses root ataupun
system dalam server web, serangan ini hanya berusaha mendapatkan informasi yang
berkaitan dengan aplikasi web yang digunakan. Aplikasi web ini dapat berupa
aplikasi email berbasiskan web, forum online atau situs e-shoping.

4. Encryption atau Enskripsi


Encryption atau Enskripsi adalah suatu proses transformasi informasi
menggunakan algoritma agar tidak dapat dibaca siapapun kecuali mereka yang
memiliki pengetahuan khusus. Hasil dari proses encryption
ini adalah chipertext. Dalam banyak konteks, kata encryption secara implisit
mengacu pada proses sebaliknya.
Encryption telah lama digunakan oleh militer dan pemerintah untuk
memfasilitasi komunikasi rahasia. Saat ini encryption sudah umum digunakan dalam
melindungi informasi dalam berbagai jenis jenis sistem sipil. Contohnya, Institut
Keamanan Komputer melaporkan bahwa pada tahun 2007, 71% dari perusahaan yang
telah disurvei ternyata memanfaatkan encryption untuk beberapa data dalam
perjalanannya, dan 53% untuk memanfaatkan encryption untuk penyimpanan data.
Encryption dapat digunakan untuk melindungi data “saat istirahat”, seperti file pada
komputer dan perangkat penyimpanan seperti USB Flash Drive.

5. Direct-Access Attack
Serangan ini memungkinkan pengguna tak berotoritas memperoleh akses
langsung terhadap sebuah sistem komputer. Hal ini memungkinkan pengguna
tersebut untuk menyalin data dari sistem. Dia menerobos keamanan dengan cara
membuat perubahan terhadap sistem operasi, memasang software worm, keylogger,
dan lainnya. Bahkan saat sistem terproteksi oleh pengamanan standar, mereka
mungkin dapat menerobos dengan mem-booting sistem operasi lain atau alat lain
dari CD-ROM atau media bootable lainnya. Pencegahan terhadap serangan ini
adalah enkripsi data yang ada di harddisk.
BAB 3

HASIL DAN PEMBAHASAN

DATA PENELITIAN

Sistem Kepegawaian

1. Metode eksploitasi sql injection secara manual

Menambahkan query di form input


Menampilkan menu utama

2. Metode deface pada form input file

Form input file menampilkan semua jenis file


Form input file mengijinkan file berekstensi .php

File berekstensi .php masuk database


File berekstensi .php dapat diakses dengan mengklik kanan gambar dan
menampilakan menu deface

3. Metode eksploitasi xss pada form input

Penambahan script js di form input


Tampilan form update setelah penambahan

Tampilan setelah penambahan script di menu utama

4. Metode eksploitasi directpass ke controller


Mengakses controller langsung melalu url

Tampilan index dari controller yang diakses


Mengakses controller langsung salah satu menu melalui url

Tampilan salah satu menu index dari controller yang di akses

5. Tidak adanya fungsi encryption pada password


Form input tanpa encryption

Tampilan hasil dari inputan password


Tampilan data dari database

ANALISIS DAN PERANCANGAN

1. Eksploitasi SQL Injection di form login


Sql injection menggunakan inject manual dengan menambahkan query “or” setelah username
terdaftar dan ditambahkan dengan nilai true “1=1” tanpa memperhatikan password sehingga
dapat memasuki sistem
Controller
$link=mysqli_connect("127.0.0.1","root","","ksi");
$sql="select * from akses where username='".$_POST['username']."' and
password='".$_POST['password']."'";

$res=mysqli_query($link,$sql);
$find=mysqli_num_rows($res);
$data=mysqli_fetch_array($res);
if ($find == true){

Koneksi langsung tanpa validasi dan batasan menyebabkan dapat disisipkannya query yang
menyebabkan orang yang tidak memiliki hak akses dapat memasuki sistem.
Hal ini bisa diatasi dengan pengcodean sesuai ketentuan yang dari framework Code Igniter
yaitu urutan MVC karena Code Igniter sendiri sudah tidak bisa dilakukan sql injection.
2. Eksploitasi Deface di form input file
Eksploitasi dengan penyisipan file shell saat penambah data di php mengijinkan website di
eksploitasi keseluruhan.
View
<input class="btn btn-info" required name="image" type="file" >

Hal ini bisa diatas dengan memvalidasi atau mengijinkan file apa yang diijinkan masuk ke
form input.
3. Eksploitasi XSS di form input
Eksploitasi xss menggunakan script peringatan dari JavaScript yaitu
“<script>alert(“peringatan”);</script>” yang menyebabkan form atau tampilan berubah
memnculkan peringatan maupun merubah struktur dari tampilan program
Config
$config['global_xss_filtering'] = FALSE;

View
<td><?php echo $p['username']; ?></td>
<td><?php echo $p['nama_depan']; ?> <?php echo $p['nama_belakang']; ?></td>
<td><?php if($p['jk']=='L'){echo "Laki-Laki";}else{echo "Perempuan";} ?></td>
<td><?php echo $p['tl']; ?></td>
<td><?php echo $p['alamat']; ?></td>
<td><?php echo $p['status']; ?></td>

Settingan bawaan Code Igniter untuk global xss filtering ke database bernilai false yang
menyebabkan tak adanya filtering dari inputan yang masuk ke database. Serta terdapat celah
juga pada output yang bisa ditutup dengan pembuatan fungsi baru untuk memvalidasi output
Hal ini bisa diatasi dengan mengubah settingan global xss filtering ke true dan mevalidasi
output.
4. Eksploitasi Direct Pass
Eksploitasi direct pass menggunakan url yang ditambahkan dengan nama controller(mvc)
untuk mengakes directory tanpa melalui script utama.
defined('BASEPATH') or exit('No direct script access allowed')

Code tersebut berfungsi agai tidak bisa mengakses controller lain, tetapi di program ini tidak
berfungsi dengan baik sehingga masih bisa di akses ke controller untuk mengeksplotasi data.
Hal ini bisa diatasi dengan penggunaan session yang terintegrasi dengan premmision yang
diakses dari database terdaftar untuk menjaga hak akses yang diijinkan masuk sistem dan
menolak anomali anonymous.
5. Tidak ada fungsi Encryption di password
Tidak adanya fungsi encryption menjadi hal yang karena penyalahgunaan akses user sendiri
yang mudah untuk dilihat dan juga sebagai bentuk keamanan saat database di eksploitasi.
Perlu ada penambahan fungsi encryption menggunakan key di form penambahan user dan
form login agar database hanya menyimpan data encption.

IMPLEMENTASI DAN PENGUJIAN SISTEM

1. Eksploitasi SQL Injection di form login


Pengcodean ulang menggunakan aturan Framework CI

$this->load->model('model_akses');

$this->load->model('model_aktivitas');

$username = $this->input->post('username');

$password = $this->input->post(password);

$cek = $this->model_akses->cek($username, $password);


if($cek->num_rows() == 1)
{
foreach($cek->result() as $data){

$sess_data['username'] = $data->username;
$sess_data['hak_akses'] = $data->hak_akses;
$sess_data['nama_depan'] = $data->nama_depan;
$sess_data['user'] = $data->user;
$sess_data['public'] = $data->public;
$sess_data['akses'] = $data->akses;
$this->session->set_userdata($sess_data);
} redirect('admin');
}else{
$this->session->set_flashdata('pesan', 'Maaf, kombinasi nip dengan password salah.');
redirect('welcome');
}

Pengujian
2. Eksploitasi Deface di form input
Penambahan paramater file yang diijinkan masuk
<input class="btn btn-info" required name="image" type="file" accept="image/*">

Form input hanya mengijinkan file berekstensi jpg, jpeg, jpeg2000, gif, png, etc untuk dapat
memasukan data.

Pengujian
3. Eksploitasi XSS di form input
Pengubahan setting bawaan Code Igniter
$config['global_xss_filtering'] = TRUE;

Pengujian
4. Eksploitasi Direct Pass
Penambahan session dan premmision yang di atur dengan code sebagai berikut
Pengambilan session premmision dari database
sess_data['username'] = $data->username;
$sess_data['hak_akses'] = $data->hak_akses;
$sess_data['nama_depan'] = $dat->nama_depan;
$sess_data['user'] = $data->user;
$sess_data['public'] = $data->public;
$sess_data['akses'] = $data->akses;
$this->session->set_userdata($sess_data);
Session prememision diatas terdiri dari 4 digit integer yang bernilai 1 dan 0 dengan
keterangan sebagai berikut
1 = true dan 0 = false
4 digit secara berurutan adalah mewakili read create update delete
Penempatan session pada view menggunakan session premmision sebagai parameternya

$readuser = substr(($this->session->userdata('user')), 0, 1);

if ($readuser == 1) {

statement
}

Artinya view tersebut hanya bisa diakses setelah session dari data yang terdaftar sehingga
directpass sulit untuk mengakses controller secara langsung

Pengujian
5. Tidak ada fungsi Encryption di password
Penambahan Fungsi untuk encrption dengan 1 key yaitu “astychis”
Encryption Algoritma sebagai berikut
function enkripsi($plainText, $key)
{

$key2 = 'AuOeiIEoUa';
$karakterLib =
'abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
.,?!/';
$karakterLib2 =
'abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
.,?!/';
$stringKeyLib = ' ' . $key;
$stringKeyLib2 = ' ' . $key2;
$stringKeyTemp = '';
$stringKeyTemp2 = '';
$stringTemp='';
$plainTextTemp='';
$chiperText = '';
$chiperTextTemp = '';
$spasi = ' ';

//key
for ($h=0; $h < strlen($stringKeyLib); $h++)
{
$karakter = substr($stringKeyLib, $h, 1);
if(!strpos($stringKeyTemp, $karakter))
{
$stringKeyTemp.= $karakter;
}
}
$stringKeyLib = $stringKeyTemp;

//key+alfabet
for ($i=0; $i < strlen($karakterLib); $i++)
{
$karakter = substr($karakterLib, $i, 1);
if(!strpos($stringKeyLib, $karakter))
{
$stringKeyLib.= $karakter;
}
}

//key2
for ($j=0; $j < strlen($stringKeyLib2); $j++)
{
$karakter = substr($stringKeyLib2, $j, 1);
if(!strpos($stringKeyTemp2, $karakter))
{
$stringKeyTemp2.= $karakter;
}
}

//key2+(key+alfabet)
for ($k=0; $k < strlen($karakterLib2); $k++)
{
$karakter = substr($karakterLib2, $k, 1);
if(!strpos($stringKeyLib2, $karakter))
{
$stringKeyLib2.= $karakter;
}
}

//plaintext convert to chipper 1


$plainTextTemp=$plainText;
for ($m=0; $m < strlen($plainTextTemp); $m++)
{
$karakter = substr($plainTextTemp, $m, 1);
$posisi = strpos($karakterLib, $karakter);
$chiperTextTemp.= substr($stringKeyLib, $posisi, 1);
}

$chiperTextTemp=strrev($chiperTextTemp);

//plaintext convert to chipper 2


for ($n=0; $n < strlen($chiperTextTemp); $n++)
{
$karakter = substr($chiperTextTemp, $n, 1);
$posisi = strpos($karakterLib2, $karakter);
$chiperText.= substr($stringKeyLib2, $posisi, 1);
}
return $chiperText;
}

Code login menggunakan encryption sebagai berikut


$password = enkripsi($this->input->post('password'), 'sayangMANTAN');

$this->load->model('model_akses');
$this->load->model('model_aktivitas');
$username = $this->input->post('username');

$cek = $this->model_akses->cek($username, $password);


if($cek->num_rows() == 1)
{
foreach($cek->result() as $data){

$sess_data['username'] = $data->username;
$sess_data['hak_akses'] = $data->hak_akses;
$sess_data['nama_depan'] = $data->nama_depan;
$sess_data['user'] = $data->user;
$sess_data['public'] = $data->public;
$sess_data['akses'] = $data->akses;

$this->session->set_userdata($sess_data);
}

$data = array(
'username' =>$this->session->userdata('username'),
'aktivitas' => "Login ".$this->session->userdata('username'),
);
$data = $this->model_aktivitas->add('aktivitas', $data);

redirect('admin');
}
else
{
$this->session->set_flashdata('pesan', 'Maaf, kombinasi nip
dengan password salah.');
redirect('welcome');
}

Code tersebut artinya mengubah password menjadi chipertext sebelum di cocokan ke


database yang juga berjenis chipertext. Sehingga saat penambahan akses password yang
diinputkan akan dirubah menjadi chipertext terlebih dahulu.
BAB 4

KESIMPULAN

Kesimpulan dari Pengamanan pada program menggunakan framework code igniter dan
database mysql dapat disimpulkan sebagai berikut

1. Pengaksesan sistem telah divalidasi dengan fungsi premmision dan session di form login dan
memberi validasi pada query yang masuk di form input.
2. Pengamanan inputan yang masuk di form input menggunakan validasi dan parameter serta
settingan yang telah disediakan framework code igniter.
3. Akses data password aman dari peretasan ke database menggunakan fungsi encrytion dengan
pembuatan kamus dan key.
DAFTAR PUSTAKA

[1]Bilal Siddiqui, Web Services Security,

http://webservices.xml.com/pub/a/ws/2003/03/04/security.html?page=2, diakses 29

Desember 2005 pukul 14.15

[2] Della-Libera, Geovanni dkk, Security in a Web Services World: a Proposed Architecture

and Roadmap, http://msdn.microsoft.com/library/default.asp?url=/library/enus/

dnwssecur/html/securitywhitepaper.asp, diakses tanggal 29 Desember 2005 pukul 14.00

[3] Hartman, Bret dkk, Mastering Web Services Security, Wiley Publishing Inc, 2003.

[4] Jothy Rosenberg dan David L. Remy, Securing Web Services with WS-Security, Sams

Publishing, 2004.

[5] Skonnard, Aaron (2002). XML Files: The Birth of Web Services. October 2002 issue of

MSDN Magazine. Microsoft Corporation.

Anda mungkin juga menyukai