Sekarang kita tahu bagaimana menemukan dan mengeksploitasi kerentanan kita.
Mari kita bicara tentang cara melindungi situs web dari mereka.
Jadi jika kita kembali saja ke GVW 8 dan mengatakan keamanannya terlalu tinggi, Anda akan melihat bahwa mereka memiliki cara yang sangat sederhana
untuk melindunginya tetapi cara ini benar-benar berfungsi.
Dan yang mereka lakukan adalah meminta kata sandi saat ini.
Jadi, bahkan jika kita mendapatkan formulir ini dan kita melakukan semua penempaan dan semua hal yang kita lakukan dan
kemudian mengirimkannya ke orang target kita tidak dapat menyembunyikan ini dan membuatnya untuk secara otomatis mengirimkan karena kita tidak
tahu saat ini kata sandi.
Jadi ia meminta kata sandi saat ini dan kemudian memungkinkan Anda untuk menambahkan kata sandi baru.
Jadi ini solusi yang sangat bagus untuk kasus ini.
Padahal karena bagaimana jika form sebenarnya tidak mengubah kata sandi Anda.
Bagaimana jika kita hanya akan mengirim pesan yang berpura-pura menjadi orang itu.
Bagaimana jika kita akan memposting sesuatu ke dinding orang itu.
Bagaimana jika kita akan memposting sesuatu ke blog orang itu.
Jadi sejak Aref dapat dieksploitasi untuk melakukan banyak hal.
Seperti yang saya katakan di video sebelumnya dan metode ini hanya akan melindungi terhadap perubahan kata sandi.
Anda tidak dapat benar-benar meminta kata sandi orang tersebut setiap kali mereka ingin memposting sesuatu atau melakukan
sesuatu dengan profil mereka.
Sekarang versi DVD yang lebih baru ketika Anda membutuhkannya yang tidak datang bersama saya menguji protokol untuk benar-benar memiliki opsi yang lebih
aman yang akan mengimplementasikan metode yang akan saya bicarakan dengan Anda tentang hal itu.
Sekarang ini sebenarnya disebut mustahil bukannya tinggi tetapi tidak masalah itu tidak dapat dieksploitasi,
jadi kita tidak benar-benar perlu menginstalnya.
Jadi mari kita bicara tentang bagaimana Anda sebenarnya bisa mencegah kerentanan ini terjadi tanpa
meminta pengguna untuk memasukkan kembali informasi atau memasukkan kembali kata sandi.
Jika Anda memikirkan cara kami dapat mengeksploitasi ini, kami dapat menyalin formulir yang digunakan situs
web dan mengirimkannya ke orang yang dituju dan membuat orang itu menjalankannya atau secara otomatis dijalankan di komputer
orang yang dituju.
Jadi begitu permintaan dikirim ke server atau server tidak melakukan jenis validasi apa pun untuk
memastikan bahwa pengguna benar-benar ingin mengubah kata sandi mereka.
Jadi cara terbaik untuk mencegah s rf adalah memastikan bahwa pengguna mengirimkan data melalui halaman
yang disajikan kepadanya oleh aplikasi web dan bukan oleh orang lain.
Cara yang baik untuk mengimplementasikannya adalah dengan menggunakan token sinkronisasi.
Sekarang saya tahu nama itu terdengar rumit tetapi idenya sangat sederhana.
Pada dasarnya kami ingin membuat token yang unik dan acak di sisi server.
Kemudian ketika halaman dimuat ketika formulir dimuat Kita akan menanamkan token yang sudah dihasilkan
ini ke halaman itu sebagai bentuk tersembunyi.
Kemudian ketika formulir dikirimkan, kami akan memastikan bahwa formulir dikirimkan dengan token
yang kami kirim ke pengguna tertentu.
Jadi pada dasarnya kami memberikan token kepada pengguna dan kemudian kami menunggunya untuk mengirimkan formulir dengan token yang kami
berikan kepadanya.
Dengan begitu token yang didapat hacker hanya akan bekerja untuknya.
Jadi, bahkan jika dia menghasilkan halaman dan mengirimkannya ke target dan target melempar halaman,
formulir akan dikirimkan tetapi akan ditolak oleh server karena tidak memberikan token itu kepada pengguna itu
memberikan token itu ke hacker mengatakan misalnya kami memiliki pengguna ini di sini dan di sini harganya Facebook
dot com kata sandi BHB.
Ia pergi ke server.
Server akan menghasilkan respons untuk permintaan itu.
Jadi itu akan mengembalikan halaman email yang mewakili kata sandi ph berada di halaman itu.
Ini akan menyertakan token unik.
Jadi ketika halaman dimuat di sisi klien itu akan sudah memiliki bentuk
yang dicari pengguna plus token unik yang dihasilkan oleh server.
Kemudian ketika pengguna mengirimkan apa pun yang mereka ingin kirimkan server hanya akan menerima formulir dan akan
atau akan menanggapi apa yang diminta pengguna.
Jika pengguna mengembalikan token yang sama.
Sekarang jika ini tidak diterapkan dengan benar, itu masih dapat dieksploitasi.
Jadi jika token itu dapat diprediksi atau jika token yang sama digunakan maka Anda si hacker dapat menemukan
apa token yang tertanam dalam kode HDMI dan mengirimkannya kepada pengguna.
Jadi token perlu memiliki karakteristik tertentu sehingga aman.
Dan pada dasarnya hal utama yang ingin Anda ingat adalah bahwa token harus tidak dapat
diprediksi dan tidak dapat digunakan terlepas dari cara Anda akan mengimplementasikan ini.
Ini adalah dua hal utama yang ingin Anda ingat karena jika dapat diprediksi,
peretas akan dapat membuat token mereka sendiri dan kemudian menanamkannya dalam kode dan menjalankan serangan.
Token yang sama dapat digunakan.
Kemudian para peretas bisa menggunakan token mereka atau token orang lain untuk menargetkan target mereka.
Jadi untuk membuat token tidak dapat diprediksi dan membuatnya sehingga dapat digunakan maka token harus
bernilai besar sehingga hacker tidak dapat melakukan serangan brute force dan menemukan apa token itu token adalah menjadi acak
sehingga peretas tidak akan dapat membuat token mereka sendiri dan itu harus unik untuk setiap pengguna karena
jika pengguna mendapatkan token yang sama atau token yang sama maka mereka dapat menyebarkannya dan kemudian
token yang berfungsi untuk peretas akan bekerja orang lain.
Jadi itu akan mendefinisikan seluruh poin.
Anda juga dapat meningkatkan keamanan token dengan memasukkan faktor-faktor lain dan algoritma
pembuatan token.
Jadi Anda bisa memasukkan misalnya tanggal dan waktu.
Kemudian gabungkan dengan generator acak aman dan kemudian enkripsi itu.
Semua ini jelas terjadi di sisi server.
Jadi peretas tidak akan dapat mengetahui algoritma apa yang Anda gunakan karena kode akan dieksekusi
di sisi server.
Anda tidak harus melakukan ini menggunakan nomor acak besar dan unik yang aman sudah cukup.
Tetapi jika Anda ingin meningkatkan keamanan maka Anda bisa menambahkan faktor-faktor lain dan mengenkripsi token sebelum
Anda mengirimkannya kepada pengguna.
Ini sebenarnya diterapkan pada hari Matile.
Jadi izinkan saya menunjukkannya kepada Anda dalam aksi.
Jadi saya hanya akan pergi ke hari Matile di sini.
Saya akan pergi pada tabuhan lalu ya atau sebagai tambahan ke blog.
Jadi ini memungkinkan Anda untuk menambahkan posting blog sehingga tidak memungkinkan Anda untuk mengubah kata sandi Anda atau
apa pun yang sebenarnya memungkinkan orang anonim untuk posting blog kami juga.
Jadi Anda tidak bisa benar-benar meminta kata sandi pada orang.
Saya benar-benar akan pergi dan beralih keamanan sehingga itu yang tertinggi karena di nol sekarang.
Jadi sekarang yang paling aman.
Dan jika Anda mengklik kanan ini dan pergi adalah memeriksa elemen.
Sekarang saya akan gulir ke atas dan seperti yang Anda lihat kami memiliki forum di sini dan kami memiliki input tersembunyi dengan nilai
yang sangat panjang.
Dan ini tokennya.
Jadi ini sudah dibuat oleh server dan server akan menolak semua permintaan yang
kami kirimkan kecuali ia memiliki token khusus ini.
Dan jika saya menggunakan formulir ini dan mengirimkannya ke orang lain.
Kemudian lagi permintaan yang akan mereka kirim akan ditolak karena mereka akan mendapatkan token yang berbeda
token ini dibuat untuk saya dan hanya untuk saya.
Jadi izinkan saya menunjukkan kepada Anda jika saya benar-benar menyegarkan sekarang saya akan mendapatkan token yang berbeda.
Dan lagi jika saya menyegarkan kembali saya akan mendapatkan token yang berbeda jika saya memodifikasi ini.
Jadi katakanlah alih-alih modal saya pada akhirnya saya akan menempatkan saya kecil jika saya kirimkan ini sekarang
itu memberi saya kesalahan.
Tetapi saya tidak mengubahnya jadi sekali lagi saya mendapat token yang berbeda sekarang dan jika saya hanya mengajukan cara
itu akan berfungsi dan sekarang kami memiliki entri blog yang disebut tes.
Jadi begitu.
Ini sebenarnya sangat sangat sederhana.
Saya tidak ingin membahas terlalu banyak detail tentang cara membuat token acak dan semua itu
karena itu akan tergantung pada bahasa pemrograman.
Itulah aplikasi web yang diprogram dalam.
Tapi saya adalah saya hanya ingin menunjukkan kepada Anda konsep atau ide tentang cara mengamankan aplikasi web
terhadap jenis kerentanan ini.
Seluruh gagasannya adalah Anda ingin memastikan bahwa pengguna mengirimkan data mereka melalui halaman yang Anda layani dan
bukan oleh halaman yang diberikan kepada mereka oleh orang lain.
Jadi untuk melakukan itu kami membuat token di sisi server token ini harus acak panjang dan
unik mengirim token itu dengan halaman dengan formulir dan disematkan sebagai bentuk tersembunyi.
Dan setiap kali pengguna mengirimkan respons, pastikan mereka mengirimkan token yang sama dengan yang diberikan
kepada mereka.