2012-1-00285-if ringkasan
DESCRIPTION
sadasdasdTRANSCRIPT
PERANCANGAN KEAMANAN HALAMAN WEB BERBASIS PLATFORM
PHP TERHADAP SERANGAN SQL INJECTION
Meita Setiasih Binus University, Jakarta, DKI Jakarta, Indonesia
Deborah Estefanus Binus University, Jakarta, DKI Jakarta, Indonesia
dan
Michael Andinata Binus University, Jakarta, DKI Jakarta, Indonesia
Abstrak
Tujuan penelitian, ialah melindungi dan menutup celah keamanan pada sebuah web dimana celah
tersebut dapat dimanfaatkan oleh penyerang, dengan membuat konfigurasi dalam melindungi
sebuah web dari usaha penyerangan yang dilakukan dengan menggunakan metode SQL Injection.
Metode penelitian yang digunakan dalam skripsi ini adalah metode studi pustaka, metode
pengumpulan data dan metode perancangan. Metode studi pustaka dilakukan dengan
mempelajari teknik hacking yang ada, menggunakan bantuan dari hacking tools yang tersedia
dan mempelajari berbagai kasus hacking yang pernah terjadi. Metode perancangan pada
penulisan skripsi ini terbagi dalam beberapa tahap, yaitu analisis, desain/perancangan,
simulasi/prototyping, implementasi, dan evaluasi. Hasil yang dicapai berupa sebuah tahapan
konfigurasi dalam mencegah penyerangan terhadap sebuah web dengan menggunakan metode
SQL Injection, untuk menjaga database dari penyerang yang hendak mengambil data-data yang
dimiliki oleh web tersebut, baik itu data admin, data customer, maupun data-data penting
lainnya. Simpulan dari hasil penulisan skripsi ini adalah konfigurasi yang dibuat untuk mencegah
serangan dengan metode SQL Injection, dapat diimplementasi dengan baik dan memberikan
keamanan bagi web berbasis PHP versi 5, sehingga memperkecil kemungkinan untuk ditembus
oleh pihak luar yang tidak memiliki wewenang dalam mengambil alih hak akses web dengan
metode SQL Injection.
Kata Kunci : SQL Injection, PHP, Hacking, Web.
1. Pendahuluan
Internet saat ini telah menjadi kebutuhan yang sangat mendasar bagi masyarakat
modern untuk menunjang setiap aktifitasnya. Dengan adanya internet maka pertukaran
data dan informasi dapat dilakukan secara real time. Hal ini juga mengubah berbagai
kebiasaan yang dulunya dilakukan secara konvensional. Contohnya dalam proses
mengirim surat, dimana dulunya harus menggunakan jasa pos yang cenderung lebih
lama, namun sekarang pengiriman surat dapat dilakukan dengan email, dan waktu yang
dipakai untuk mengirim pesan hanya dalam hitungan millisecond.
Contoh lainnya adalah dalam hal finansial dan publikasi, seperti pembuatan web
yang digunakan baik untuk mempromosikan suatu produk, maupun untuk melakukan
transaksi jual beli. Dan pada umumnya, bahasa pemrograman web yang digunakan
adalah PHP yang memakai Mysql sebagai databasenya. Dengan adanya web ini, maka
dapat memudahkan konsumen dalam berbelanja, dan meningkatkan pemasukan bagi
penjual. Melihat kemudahan dan prospek yang ditawarkan melalui web untuk berjualan,
maka semakin banyak web yang bermunculan, baik untuk sekedar mempromosikan
produk, maupun untuk langsung melakukan order.
Seiring dengan semakin banyaknya web tersebut, tingkat ancaman dari serangan
seperti SQL Injection semakin meningkat, karena banyaknya kemungkinan kelemahan
yang ada pada setiap web. Dengan menggunakan SQL Injection, maka penyerang dapat
memperoleh data yang tersimpan pada database, melalui data tersebut, maka informasi
produk, account user dan bahkan account administrator dapat digunakan oleh
penyerang, sehingga menimbulkan ancaman keamanan dan kerugian finansial bagi
pemilik web.
Penyerangan dengan menggunakan SQL Injection sangat mudah dilakukan,
bahkan saat ini telah banyak program – program yang dapat digunakan untuk membantu
dalam melakukan SQL Injection, sehingga konfigurasi keamanan halaman web sangat
perlu dilakukan, karena banyak web yang masih rentan terhadap serangan ini, dan dengan
kemudahan dalam melakukan SQL Injection, itu sama artinya dengan meningkatnya
jumlah penyerang yang dapat mengancam data dari web.
2. Metodologi
Ruang lingkup dari penelitian mencakup studi pustaka, pengumpulan data, dan
metode perancangan. Adapun pembahasan yang dilakukan sebagai berikut :
- Studi pustaka
- Metode Perancangan
- Evaluasi
2.1. Studi Pustaka
Studi pustaka terbagi mejnjadi tiga bagian, yaitu:
1) Hacking tools.
2) Teknik hacking.
3) Penalaran berbagai kasus.
Hacking tools yang digunakan adalah Havij yang berfungsi sebagai
penetration tool serangan SQL Injection.
Teknik hacking dilakukan dengan mempelajari serangan SQL Injection.
Juga mempelajari cara untuk mengantisipasi pelacakan jejak saat melakukan
serangan terhadap web test case.
Penalaran berbagai kasus dilakukan dengan mempelajari berbagai kasus
serangan SQL Injection yang pernah terjadi. Sehingga dapat dijadikan bahan
pembelajaran agar kesalahan yang sama tidak dilakukan, namun metode
serangannya dapat dipelajari untuk meningkatkan keamanan.
2.2. Metode Perancangan
Metode perancangan yang digunakan meliputi :
1) Analisis
2) Desain/Perancangan
3) Simulasi/Prototyping
Analisis dilakukan dengan menganalisa keamanan yang ada pada web.
Desain/perancangan dilakukan dengan merancang keamanan web dari sisi
coding PHP maupun Mysql, serta merancang konfigurasi services pada web
server lokal maupun hosting. Simulasi/prototyping dilakukan dengan menguji
coba sistem konfigurasi di server testing.
2.3. Evaluasi
Evaluasi yang ada terdiri dari:
1) Evaluasi hasil serangan SQL Injection
Dari hasil evaluasi yang sudah didapatkan ada berberapa jenis celah
terhadap serangan SQL Injection yang mungkin dilakukan pada sebuah
web yang berbasis PHP.
2) Evaluasi Hasil Konfigurasi Pencegahan SQL Injection pada PHP
Setelah dilakukan konfigurasi terhadap celah SQL Injection, seperti
implementasi pada code PHP(Syntax mysql_real_escape_string, return value,
validasi dengan preg_match() dan hash MD5 pada password) dan penyimpanan
file, serta implementasi konfigurasi pada server lokal (syntax magic_quotes_gpc
pada file php.ini, display_errors pada file php.ini, instalasi mod_security pada
linux) maupun pada server web hosting (magic_quotes_gpc pada file .htaccess,
display_errors pada file .htaccess).
.
3. Kesimpulan
Berdasarkan hasil analisis, perancangan, pengujian, implementasi, dan evaluasi, maka
dapat diambil beberapa kesimpulan, yaitu:
1. Terciptanya konfigurasi untuk pencegahan terhadap serangan SQL Injection pada web
berbasis PHP versi 5 dengan database menggunakan MySql.
2. Penggunaan dan konfigurasi htaccess yang tersedia dari web hosting dalam mencegah
terjadinya serangan SQL Injection.
3. Menutupi celah kelemahan PHP dalam segi coding pemrograman.
4. Penggunaan dan konfigurasi php.ini pada web server lokal.
Daftar Pustaka
[1] Cisco Systems, Inc. 2002. Understanding TCP/IP. Diperoleh 11-18-2011 dari
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ap1.htm.
[2] Gilbert, H. 1995. Introduction to TCP/IP. Diperoleh 11-18-2011 dari
http://www.yale.edu/pclt/COMM/TCPIP.HTM.
[3] Gralla, Preston. (1999). How The Internet Works. Indiana: Que Corporation.
[4] ITSecTeam Security Research. 2011. Havij v1.15 Advanced SQL Injection.
Diperoleh 01-04-2012 dari http://www.itsecteam.com/en/projects/project1.htm.
[5] Larson, E.,& Stephens B. (2000). Administrating Web Servers, Security & Maintenance.
New Jersey: Prentice Hall.
[6] Mcclure, S., Saumil S.,& Sheeraj S. (2003). Web Hacking Serangan dan Pertahanannya.
Yogyakarta: Penerbit Andi.
[7] Mclure, S., Joel S.,& George K. (2003). Hacking Exposed Network Security Secrets and
Solutions. (4th edition). Australia: McGraw Hill.
[8] OWASP. 2010. Testing for SQL Injection. Diperoleh 01-23-2012 dari
https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005).
[9] The PHP Group. 2011. General Information. Diperoleh 11-18-2011 dari
http://id.php.net/manual/en/faq.general.php.
[10] The Tor Project, Inc. n.d. TOR. Diperoleh 01-18-2012 dari
https://www.torproject.org/about/overview.html.en.
WEB PAGE SECURITY DESIGN BASED PHP PLATFORM FOR SQL INJECTION
ATTACK
Meita Setiasih Binus University, Jakarta, DKI Jakarta, Indonesia
Deborah Estefanus Binus University, Jakarta, DKI Jakarta, Indonesia
and
Michael Andinata Binus University, Jakarta, DKI Jakarta, Indonesia
Abstract
Research purposes, is to protect and close security holes in a web in which the gap could be
exploited by attackers, make configuration to protect a web from assault carried out by using
SQL Injection. The research method used in this thesis is literature study method, data collection
method and design method. Methods of literature study carried out by studying hacking
techniques, using hacking tools that are available and study the various cases of hacking that has
ever happened. Design method in the writing of this thesis is divided into several stages,
analysis, design, simulation/prototyping, implementation, and evaluation. The results achieved
like a configuration step for preventing attacks on the web by using SQL Injection method, to
preserve database from attackers who want to retrieve data that is owned by the web, be it admin
data, customer data, as well as other important data. The conclusions from the results of this
thesis writing is a configuration designed to prevent SQL Injection attack methods can be
implemented properly and provide security for web-based PHP version 5, so it reduces the
chance to be penetrated by outsiders who do not have the authority to take over the web
permissions by SQL Injection method.
Keyword : SQL Injection, PHP, Hacking, Web.
1. Introduction
Internet today has become a fundamental requirement for modern society to
support their activity. With the Internet, the exchange of data and information can
be done in real time ways. It can also change the habits that were
once done conventionally. For example in the process of sending a letter, in which
the former have to use the postal service that tend to be long, but now can be
done by sending an email letter, and the time taken to send messages in a matter of
milliseconds.
Another example is in the financial and publication field, like the using of web
to promote a product, and to make a transaction. In general, the web programming
language is PHP, which using Mysql as its database. The web can make the consumer
easier to shopping, and increase the income of the seller. Seeing the
ease and prospects offered via the web to sell, the more the web that have sprung
up, either to simply promote a product, or to direct an order.
With increasing number of web, such as the threat of SQL Injection attacks is
increasing, because the number of possible weakness in each web. By using SQL
Injection, the attacker can obtain the data that stored in the web database, through
those data, the products information, user accounts and even the administrator account
can be used by the attacker, leading to security threats and financial losses for the web
owner.
Using a SQL Injection attack is very easy to do, even when it has a lot of
programs that can be used to assist in the conduct SQL Injection, so that the security
configuration web page is very necessary, because many web is still vulnerable to this
attack, and with the ease of do SQL Injection, it is tantamount to increasing the
number of attackers that can threaten data from the web.
2. Methodology
The scope of research includes the study of literature, data collection, and design
methods. The discussion is conducted as follows:
- Study of literature
- Design Methods
- Evaluation
2.1. Study of Literature
Literature is divided into three parts :
1) Hacking tools.
2) Hacking techniques.
3) Reasoning various cases.
Hacking tools are used is Havij that serves as a penetration tool for SQL Injection
attacks.
Hacking techniques is done by studying SQL Injection attacks. Also learn how to
anticipate tracking the trail during an attack on a web test case.
Reasoning of cases is done by studying various cases of SQL Injection attacks
that ever happened. So it can be used as learning materials for the same mistakes are
not made, but the method of attack can be learned to improve security.
2.2. Design Method
Design methods used include :
1) Analysis
2) Design
3) Simulation/Prototyping
The analysis is conducted by analyzing the existing security on the web.
Design is conducted by designing web security from the side coding of PHP
and Mysql, as well as designing the configuration of services at web server
local and hosting. Simulation/prototyping is conducted by testing the system
configuration at testing server.
2.3. Evaluation
The evaluation consists of:
1) Evaluation the results of the SQL Injection attack
From the evaluation result that already obtained there are some vulnerabilities of
SQL Injection attack that possible to do in the PHP web based.
2) Evaluation configuration of prevention to SQL Injection in PHP
After the configuration of SQL Injection vulnerabilities, such as the
implementation of the PHP code (syntax mysql_real_escape_string, return
value, validation with preg_match() and MD5 hash on password) and file
storage, as the implementation of the configuration on the local server
(syntax magic_quotes_gpc in the php.ini file, display_errors in the php.ini
file, mod_ security install on linux) and on the web server hosting (magic-
quotes_gpc on htaccess file, display_errors on htaccess file).
.
3. Conclusion
Based on the analysis, design, testing, implementation, and evaluation,
it may take a few conclusions :
1) The creation of a configuration for the prevention of SQL Injection attacks on
web-based PHP version 5 with database using MySql.
2) Htaccess usage and configuration are available from web hosting to prevent
SQL Injection attacks.
3) Cover the gap in terms of coding flaws PHP programming.
4) Use and configuration of php.ini on a local web server.
References
[1] Cisco Systems, Inc. 2002. Understanding TCP/IP. Diperoleh 11-18-2011 dari
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ap1.htm.
[2] Gilbert, H. 1995. Introduction to TCP/IP. Diperoleh 11-18-2011 dari
http://www.yale.edu/pclt/COMM/TCPIP.HTM.
[3] Gralla, Preston. (1999). How The Internet Works. Indiana: Que Corporation.
[4] ITSecTeam Security Research. 2011. Havij v1.15 Advanced SQL Injection.
Diperoleh 01-04-2012 dari http://www.itsecteam.com/en/projects/project1.htm.
[5] Larson, E.,& Stephens B. (2000). Administrating Web Servers, Security & Maintenance.
New Jersey: Prentice Hall.
[6] Mcclure, S., Saumil S.,& Sheeraj S. (2003). Web Hacking Serangan dan Pertahanannya.
Yogyakarta: Penerbit Andi.
[7] Mclure, S., Joel S.,& George K. (2003). Hacking Exposed Network Security Secrets and
Solutions. (4th edition). Australia: McGraw Hill.
[8] OWASP. 2010. Testing for SQL Injection. Diperoleh 01-23-2012 dari
https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005).
[9] The PHP Group. 2011. General Information. Diperoleh 11-18-2011 dari
http://id.php.net/manual/en/faq.general.php.
[10] The Tor Project, Inc. n.d. TOR. Diperoleh 01-18-2012 dari
https://www.torproject.org/about/overview.html.en.