Menguji Otentikasi Rusak

Ketika fungsi otentikasi yang terkait dengan aplikasi tidak diimplementasikan dengan benar, ini memungkinkan peretas untuk menyusupi kata sandi atau ID sesi atau untuk mengeksploitasi kelemahan implementasi lainnya menggunakan kredensial pengguna lain.

Mari kita pahami Agen Ancaman, Vektor Penyerang, Kelemahan Keamanan, Dampak Teknis, dan Dampak Bisnis dari kelemahan ini dengan bantuan diagram sederhana.

Contoh

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

Pengguna situs yang diautentikasi meneruskan URL ke teman mereka untuk mengetahui tentang penjualan diskon. Dia mengirim email tautan di atas tanpa mengetahui bahwa pengguna juga memberikan ID sesi. Saat teman-temannya menggunakan tautan tersebut, mereka menggunakan sesi dan kartu kreditnya.

Tangan di atas

Step 1- Masuk ke Webgoat dan arahkan ke Bagian 'Cacat Manajemen Sesi'. Mari kita melewati authetication dengan spoofing cookie. Di bawah ini adalah snapshot dari skenario tersebut.

Step 2 - Saat kami masuk menggunakan kredensial webgoat / webgoat, kami menemukan dari Burp Suite bahwa ID JSESSION adalah C8F3177CCAFF380441ABF71090748F2E sedangkan AuthCookie = 65432ubphcfx setelah otentikasi berhasil.

Step 3 - Saat kami masuk menggunakan kredensial aspek / aspek, kami menemukan dari Burp Suite bahwa ID JSESSION adalah C8F3177CCAFF380441ABF71090748F2E sedangkan AuthCookie = 65432udfqtb setelah otentikasi berhasil.

Step 4- Sekarang kita perlu menganalisis Pola AuthCookie. Paruh pertama '65432' umum untuk kedua otentikasi. Karenanya kami sekarang tertarik untuk menganalisis bagian terakhir dari nilai authcookie seperti - ubphcfx untuk pengguna webgoat dan udfqtb untuk pengguna aspek.

Step 5- Jika kita melihat lebih dalam pada nilai AuthCookie, bagian terakhir memiliki panjang yang sama dengan nama pengguna. Oleh karena itu jelaslah bahwa nama pengguna digunakan dengan beberapa metode enkripsi. Setelah mekanisme trial and error / brute force, kami menemukan bahwa setelah membalik nama pengguna, webgoat; kita berakhir dengan taogbew dan karakter alfabet sebelumnya yang digunakan sebagai AuthCookie. yaitu ubphcfx.

Step 6- Jika kita meneruskan nilai cookie ini dan mari kita lihat apa yang terjadi. Setelah mengautentikasi sebagai webgoat pengguna, ubah nilai AuthCookie untuk mengejek pengguna Alice dengan mencari AuthCookie yang sama dengan melakukan langkah # 4 dan langkah # 5.

Mekanisme Pencegahan

  • Kembangkan otentikasi yang kuat dan kontrol manajemen sesi sehingga memenuhi semua otentikasi dan persyaratan manajemen sesi yang ditentukan dalam Standar Verifikasi Keamanan Aplikasi OWASP.

  • Pengembang harus memastikan bahwa mereka menghindari kekurangan XSS yang dapat digunakan untuk mencuri ID sesi.