Otentikasi memainkan peran penting dalam keamanan aplikasi web. Saat Anda memberikan kredensial login untuk mengautentikasi dan membuktikan identitas Anda, aplikasi memberikan hak istimewa khusus kepada Anda, bergantung pada identitas yang dibuat oleh kredensial yang diterapkan. Ketika seorang hacker membobol suatu aplikasi atau sistem menjadi pengguna yang sah, ia dapat mengakses semua hak istimewa yang diberikan oleh administrator kepada pengguna tersebut. Hal ini dapat membahayakan data sensitif pengguna dan menimbulkan risiko besar bagi mereka. Penjahat dunia maya menggunakan kerentanan bypass otentikasi untuk melakukan operasi ini.
contoh
sederhana dari bypass autentikasi adalah ketika pelaku jahat mengakses
aplikasi dengan kredensial pengguna lain, seperti alamat email dan kata
sandinya
Berikut beberapa alasan yang memungkinkan peretas melewati otentikasi.
- Banyak server dan aplikasi default dilengkapi dengan folder atau data yang tidak aman.
- Administrator gagal mengamankan data dan server.
- Pengguna tidak mengatur ulang kata sandi default.
- Aplikasi web atau situs web mungkin menyertakan file yang tidak memiliki otentikasi.
Berikut dibawah akan ada sedikit teknik yang dapat digunakan:
Bypass Regular Login
Jika Anda menemukan halaman login, di sini Anda dapat menemukan beberapa teknik untuk mencoba melewatinya:
- Periksa komentar di dalam halaman (scrol kebawah dan kesamping untuk menemukan)
- Lakukan Pemeriksaan apakah Anda dapat langsung mengakses halaman yang dibatasi
- Periksa PHP error, contohnya: user[]=a&pwd=b , user=a&pwd[]=b , user[]=a&pwd[]=b
- Ubah tipe konten menjadi json dan kirim nilai json (termasuk logika boolean true) lakukan di burpsuite dengan mengubah
- Jika Anda mendapat respons yang mengatakan bahwa POST tidak didukung, Anda dapat mencoba mengirim JSON di badan tetapi dengan permintaan GET dengan Tipe Konten: application/json
- Periksa potensi kesalahan penguraian nodejs (baca): password[password]=1
- Nodejs akan mengubah payload tersebut menjadi kueri yang mirip dengan yang berikut: SELECT id, username, left(password, 8) AS snipped_password, email FROM account WHERE username='admin' AND`` ``password=password=1; yang membuat password sedikit selalu benar.
- Jika Anda dapat mengirim objek JSON, Anda dapat mengirim "password":{"password": 1} untuk melewati login.
- Ingatlah bahwa untuk melewati login ini Anda masih perlu mengetahui dan mengirimkan nama pengguna yang valid.
- Menambahkan opsi "stringifyObjects":true saat memanggil mysql.createConnection pada akhirnya akan memblokir semua perilaku tak terduga ketika Object diteruskan dalam parameter.
- Periksa kredensial:
- teknologi/platform yang digunakan
- periksa kredensial default yang umumnya dapat digunakan (root, admin, password, nama teknologi,user default dengan salah satu kata sandi ini).
- Buat kamus menggunakan Cewl, tambahkan nama pengguna dan kata sandi default (jika ada) dan coba brute force menggunakan semua kata sebagai nama pengguna dan kata sandi
- Brute force menggunakan kamus yang lebih besar.
bypass autentikasi SQL Injection
Anda dapat melakukan tes bypass admin page dengan masukkan sql sederhana seprti dalam payload yang dapat anda cek di github jika memiliki kerentanan anda akan dibawa kehalaman dashboard admin dan atau user. github
Sekian sepertinya hanya sedikit yang bisa saya berikan dalam artikel saya ini, semoga dapat dimenegrti bagi teman yang sedang membaca dan membuthkan sedikit tambahan referensi. Temukan berbagai tekhnik dalam bug hunting disini
0 Komentar
Penulisan markup di komentar