BAB 2
LANDASAN TEORI
Pada dasarnya, apabila kita ingin mengenal SQL Injection kita harus mengerti apa saja
yang berhubungan dengan teknik ini. Oleh karena itu, di bab ini penulis akan menjelaskan
bebrapa materi yang dapat penulis pahami konsep SQL Injection itu sendiri. Yang
pertama penulis akan menjelaskan pengertian dari database.Database sendiri sangat
terkait dengan SQL Injection karena inilah tujuan dari SQL Injection itu sendiri.
Selanjunya yang dijelaskan adalah konsep SQL itu sendiri, karena dengan perintah SQL
inilah seorang hacker dapat bekerja. Selain itu penulis akan menjelaskan juga bahasa
pemrograman static web, dimana bahasa pemrograman yang akan penulis jelaskan disini
adalah PHP, karena lewat bahasa pemrograman ini dilakukan. Yang terakhir dan tidak
akan dilupakan penulis sendiri adalah pengertian dari Hacker, karena SQL Injection
adalah salah satu kegiatan seorang Hacker.
2.1 SQL Injection
SQL Injection adalah sebuah teknik hacking yang bertujuan untuk merusak sebuah situs
ataupun menhetahui isi database ataupun informasi-informasi yang terdapat di situs
tersebut. Teknik ini dapat terjadi dikarenakan adanya kode-kode program yang lemah dan
kita sebut administrator. Kode-kode program tersebut biasanya merupakan bahasa
pemrograman seperti PHP, ASP, Coldfusion, dll. Yang bisa menunjang dalam pembuatan
situs yang dinamis dan tidak statis.
Apabila seseorang yang tidak bertanggung jawab atau yang sering kita sebut
hacker menemukan suatu kelemahan di sebuah situs, maka kelemahan tersebut akan
dieksploitasi dengan mudah oleh si hacker tersebut. Pertanyaannya sekarang,
bagaimanakah seorang hacker mengetahui kelemahan suatu situs tersebut ?. Langkah
pertama yang harus dilakukan oleh si hacker adalah dengan menginputkan
karakter-karakter seperti single quoted(‘), --, ataupun karakter-karakter-karakter-karakter seperti perintah SQL yang
apabila diinputkan akan menjadi kriteria dari suatu perintah SQL yang sebenarnya.
Setelah mengetahui ada bug atau kelemahan dari sebuah situs, maka seorang
hacker dapat masuk ke dalam halaman administrator dengan mudah di mana halaman
inilah tempat dimana sebuah situs dapat diolah secara dinamis oleh si administrator situs
tersebut. Apa saja yang dapat dilakukan oleh si hacker di halaman administrator tersebut
? tentunya kita dapat menginputkan data atau informasi ke dalam situs tersebut, mengedit
data di situs tersebut, dan yang paling berbahaya adalah menghapus data yang ada di situs
tersebut tanpa sepengetahuan administrator website tersebut.
2.2 Database
Database merupakan kumpulan dari data yang saling berhubungan satu dengan yang
memanipulasinya. Database juga merupakan salah satu komponen yang penting dalam
sistem informasi, karena merupakan basis dalam menyediakan informasi bagai para si
pemakai.
Penerapan Database dalam sistem informasi disebut dengan Database system.
Database System adalah suatu sistem informasi yang mengintegrasikan kumpulan dari
data yang saling berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk
beberapa aplikasi yang bermacam-macam di dalam suatu organisasi. Dengan sistem
Database ini, memori yang tersimpan tidak akan memakan memori yang banyak, selain
itu dengan sistem Database sebuah situs dapat dengan mudah menyimpan data secara
otomatis dan teroganisir.
Oleh karena hal di atas, Database merupakan salah satu tujuan SQL Injection
yang berisi data-data ataupun informasi yang penting dan seharusnya hanya dapat dilihat
oleh orang-orang tertentu. Apabila seseorang yang tidak bertanggung jawab melihat
data-data tersebut, maka data-data-data-data tersebut dapat disalahgunakan dan digunakan untuk hal-hal
yang tidak bertanggung jawab.
2.3 SQL (Structured Query Language)
SQL merupakan singkatan Structured Query Language. Di dalam dunia Database istilah
query dapat diartikan “Permintaan Data”. SQL merupakan bahasa tingkat empat yang
dengan perintah-perintah yang terdapat di dalamnya seperti SELECT yang berfungsi
menampilkan data, DELETE untuk menghapus data, ataupun UPDATE yang berfungsi
sebagai mengubah data.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd
yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970.
Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses
data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL
(Structured English Query Language). Setelah terbitnya artikel tersebut, IBM
mengadakan proyek pembuatan basis data relasional dengan bahasa SEQUEL. Akan
tetapi, karena permasalahan hokum mengenai penamaan SEQUEL, IBM pun
mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir 1970-an, muncul perusahaan bernama Oracle yang membuat server basis
data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya
kepopuleran Oracle, maka SQL juga populer sehingga saat ini menhadi standar defacto
bahasa dalam manajemen basis data.
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya
standar SQL oleh ANSI. Standar ini sering disebut dengan SQL 1986. Standar tersebut
kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi
terakhir dikenal dengan SQL-92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL-99
SQL-92. Saat ini sebenarnya tidak ada serber basis data yang 100 % mendukung SQL-SQL-92. Hal
ini disebabkan masing-masing server memiliki dialek masing-masing.
Dalam SQL kita tidak perlu mendefiniskan bagaimana data itu diambil atau
diproses, seperti halnya bahasa tingkat tiga, kita hanya perlu memberikan perintah
mengenai data apa yang diambil dan dieksekusi. Sehingga anda tidak perlu memikirkan
bagaimana proses data tersebut diambil atau dieksekusi.
Saat ini SQL merupakan bahasa query standar di berbagai software database.
Berbagai software database yang dapat diakses oleh SQL antara lain adalah Oracle,
MySQL, MySQL Server, dan Microsoft Access. Software-software ini dapat
mengkoneksikan atau mengintegrasikan SQL dengan bahasa-bahasa pemrograman seperti
PHP, Visual Basic, C++, dan C untuk menyusun sebuah sistem yang dapat menginput
atau menampilkan database yang sempurna.
Dalam SQL Injection, SQL mempunyai peran yang sangat penting untuk
melakukan sebuah aksinya. Perintah-perintah SQL seperti SELECT, UNION, ORDER BY,
dll adalah salah satu cara bagaimana teknik ini dapat berjalan dengan baik dan
mengeksploitasi situs yang lemah karena adanya kode-kode program yang tidak
2.4 Hacker
Hacker adalah orang yang mempelajari, menganalisa, menginginkan, memodifikasi, atau
bahkan mengeksploitasi sistem yang terdapat di sebuah perangkat seperti peangkat lunak
komputer, administrasi, situs, dan hal-hal yang berhubungan dengan sistem
komputerisasi. Hacker juga dapat dikatakan sebagai pisau bermata dua, tergantung apa
dan tujuan seseorang untuk memepelajari bidang ini. Artinya, seorang haker dapat
dikategorikan membantu seseorang untuk memberikan ide atau pendapat yang bisa
memperbaiki kelemahan sistem yang ditemukannya ataupun juga seorang hacker dapat
memanfaatkan kelemahan sistem tersebut tanpa sepengetahuan orang lain.
Kata hacker sebenarnya berasal dari bahasa Inggris, sedangkan bahasa Indonesia
berarti peretas. Terminologi ini muncul pada tahun 1960-an pada saat kelompok
mahasiswa di Laboratorium Kecerdasan Artifisial Massachusetts Institute of Terminology
(MIT) merintis perkembangan teknologi komputer dan berkutat dengan sejumlah
komputer mainframe. Sebenarnya kata hacker muncul pertama kali dengan pengertian
yang positif untuk menyebut seseorang yang memiliki keahlian dalam bidang komputer
dan mampu membuat program komputer yang lebih bail daripada yang telah dirancang
bersama.
Kemudian pada tahun 1983, istilah hacker mulai berkonotasi negatif. Pasalnya
pada tahun tersebut untuk pertama kalinya FBI menangkap kelompok kriminal komputer
The 414s yang bebasis di Milwaukee, Amerika Serikat. 414 merupakan kode lokal
pembobolan 60 buah komputer , dari komputer milik pusat kanker Memorial
Sloan-Kettering hingga komputer milik Laboratorium Nasional Las Alamos. Satu dari si pelaku
tersebut mendapatkan kekebalan karena testimonialnya. Sedangkan 5 pelaku lainnya
mendapatkan hukuman masa percobaan.
Peretas memiliki konotasi negative karena kesalahpahaman masyarakat akan
perbedaan istilah tentang hacker. Banyak orang memahami bahwa peretaslah yang
mengakibatkan kerugian pihak tertentu seperti mengubah tampilan suatu situs dan
menyisipkan kode-kode virus. Sebenarnya orang-orang seprti ini dinamakan Cracker
bukan hacker. Crackerlah orang-orang yang harusnya bertanggung jawab dengan semua
hal buruk yang terjadi di atas.
Atas alasan inilah peretas dibagi menjadi dua golongan, yaitu White Hat Hackers,
yakni Hacker yang mempunyai pengertian sebenarnya dan Cracker yang sering disebut
dengan istilah Black Hat Hackers. Ada beberapa orang yang dikenal karena
kepintarannya dalam meretas dan menyusup ke dalam sistem komputerisasi yang diakui
oleh dunia sampai saat ini.
1. Kevin Mitnick
Pria kelahiran 6 Agustus 1963 ini adalah salah satu hacker komputer yang paling
dicari di Amerika. Kevin diketahui pernah membobol jaringan komputer milik
ditangkap FBI pada Januari 1995 atas tuduhan penyerangan terhadap pemerintah. Saat
ini, ia berprofesi sebagai seorang konsultan keamanan jaringan sistem komputer.
2. Kevin Poulson
Jauh sebelum menjadi seorang editor di Wired News, prian bernama lengkap Kevin
Lee Poulson ini dikenal sebagai seorang hacker jempolan. Pria ini pernah membobol
jaringan telepon milik stasiun radion Los Angels KHS-FM, sehingga sering kali ia
memenangkan kuis-kuis radio tersebut, bahkan lewat kuis telepon via radio sampai ia
pernah memenangkan sebuah hadiah utama, yaitu mobil Porsche.
3. Adrian Lamo
Nama Adrian Lamo sering kali disebut sebagai “The Homeless Hacker” pasalnya ia
sering kali melakukan aksi-aksinya di kedai-kedai kopi, perpustakaan , atau internet
café. Aksinya yang paling mendapatkan perhatian adalah ketika ia membobol jaringan
milik perusahaan media New York Times, Microsoft, Cingular, MCI WorlCom, dan
Ameritech. Tak hanya itu ia juga berhasil menyusupi sistem milik AOL Time Warner,
Bank of America, Citigroup, Mcdonald, dan Sun Microsystem. Kini pria tersebut
bekerja sebagai jurnalis.
4. Stephen Wozniak
Woz begitu ia disapa. Saat ini ia mungkin lebih dikenal sebagai seorang pendiri
Apple. Tetapi saat ia menjadi mahasiswa, Wozniak pernah menjadi seorang hacker
yang memungkinkannya menelepon jarak jauh tanpa membayar sedikit pun dan tanpa
batas waktu. Alat yang dibuatnya semasa menjadi mahasiswa saat ini dikenal dengan
nama ‘Blue Boxes’.
5. Lyod Blakenship
Pria berjuluk ‘The Mentor’ ini pernah menjadi anggota group hacker kenamaan pada
tahun 1980 bernama Legion of Doom. Blakenship adalah penulis The Concscience of
a Hacker (Hacker Manifesto). Buku yang ditulis setelah ia ditangkap dan diumumkan
dalam ezine hacker di bawah rumah Phrack.
6. Michael Calce
Sejak usia muda Calce memang dikenal sebagai seorang hacker. Aksinya membobol
situs-situs komersial di dunia dilakukannya ketika ia berusia 15 tahun. Pria yang
menggunakan nama MafiaBoy dalam setiap aksinya itu ditangkap ketika membobol
pada tahun 2000 karena mengacak-ngacak situs terkenal seperti eBay, Amazon, dan
Yahoo.
7. Robert Tappan Morris
Nama Morris dikenal sebagai seorang pembuat virus internet pada tahun 1988 atau
dikenal dengan nama ‘Morris Worm’ yang diketahui merusak sekitar 6000 komputer.
Akibat ulahnya ia dikenai sanksi untuk bekerja sosial selama 4000 jam. Kini ia
8. The Master Of Deception
The Master Of Deception (MOD) merupakan kelompok hacker yang berbasis di New
York. Kelompok ini sering mengganggu jaringan telepon milik perusahaan
telekomunikasi seperti AT&T. Sejumlah kelompok ini ditangkap pada tahum 1992
dan dijebloskan ke penjara.
9. David L.Smith
Smith dikenal sebagai penemu Mellisa Worm yang pertama kali ditemukan pada 26
Maret 1999. Mellisa sering dikenal sebagai “Mallissa”, “Simpsons”, “Kwejebbo”.
Virus ini didistribusikannya lewat email. Smith sendiri dikenal akhirnya diseret ke
penjara karena virusnya telah menyelesaikan kerugian sebesar USD 80 juta.
10. Sven Jaschan
Jaschan menorehkan namanya sebagai seorang penjahat dunia maya pada tahun 2004
saat membuat program jahat Netsky dan Sasser Worm. Saat ini ia bekerja di sebuah
perusahaan keamanan jaringan
Orang-orang di atas membuktikan bahwa seorang hacker memang mempunyai
sifat ganda yang kita sebut di awal adalah pisau bermata dua, yaitu awalnya
memanfaatkan kelemahan dalam suatu sistem komputer perangkat lunak atau keras dan
pada akhirnya juga merekalah yang memperbaiki kelemahan sistem komputerisasi
tersebut. Ini terbukti dengan akhirnya rata-rata mereka menjadi konsultan di bidang
hacker mempunyai tujuan yang berbeda-beda, ada yang ingin mendapatkan keuntungan
pribadi, kebanggan diri sendiri, ataupun untuk mempelajari konsep hacking itu sendri