misal web lain itu scraping csrf tokenya gimana mas? misal pake jwt biar gampang bacanya, apa perlu di setiap form itu di jagain pake identifier misal crsf-transfer di data tokenya? jd misal di scraping juga tokenya ga valid karna beda url nya. apa saya yg gagal paham ya? apa dengan ngasih 1 token csrf untuk semua form post itu sudah aman harusnya? edited: oh apa csrf tokenya tuh dikasih kalo udah login aja kali ya.
token nya bisa di set owner nya, misal ada informasi itu token user siapa, jadi kalo dia scraping walaupun dia dapat tokennya, pas di submit ke user orang, gak bisa karena token nya bukan milik user itu
@@ProgrammerZamanNow Nahh gimana dengan beberapa framework yg terkenal kang eko? Seperti Laravel, CI, Next, Nuxt, dll. Apakah mereka sudah punya fitur builtin buat set setiap token csrf supaya punya owner? Oh iya, terkadang kan beberapa website menyediakan form kontak yg sifatnya open untuk pengunjung. Itu bisa jadi celah juga gak? Semisal dikasih csrf token juga, kan itu form public untuk semua pengunjung.
makasih banyak pak eko. saya melihat materi race condition dan juga materi ini bener2 sangat berguna buat fitur yang lagi saya bangun pak. semoga berkah selalu ilmunya pak dan dilancarkan rezekinya
Bagus banget bang pengajarannyaa 🤩 Tolong bikinin lagi dong video-video mengenai security begini. Video-video pembelajaran di Indonesia mengenai edukasi security begini masi kurang deh 😢
Ga kebayang kalau seorang web developer expert seperti pak Eko kalau switch karir jadi ethical hacker atau bug bounty Hunter.. pasti akan jadi aset berharga di dunia cyber security karena bisa punya 2 perspektif.. dari perspektif developer dan attacker nya... Tentu dengan pengalaman yang di punya selama ini akan sangat berharga dalam menemukan suatu bug...
@@itaamelia6715 ini ga bisa masuk form 101. ini sebenernya advance form material. karena sudah berhubungan dengan keamanan. dan memang ga sempat dimasukkan kedalam kurikulum. di kelas pasti butuh waktu lebih daripada di youtube. ilmu kaya gini mah cuma bisa di dapat dari self learning. ga cukup pake bangku kuliahan
Faktor keamanan bisa ditingkatkan dgn secure cookie, yg bisa diisi dengan token dan divalidasi oleh server. Secure cookie tdk bisa dibaca oleh Javacript di browser, dan bisa ditentukan hanya pada suatu domain.
Sudah lama sekali ga memikirkan CSRF, sebab sejak 2019 selalu terlibat/ngerjain project yang stateless (token-based authentication) yang secara alami kebal dari CSRF. Takutnya lupa hal-hal yang beginian.
Pake CSRF token udah aman kok buat form POST sederhana. Fun fact, buat sistem pembayaran digital ada sertifikasi keamanannya, dan CSRF cuma segelintir proteksi yg diperlukan.
Nambahin mas, ngasih durasi 5 menit auto destroy di redisnya itu smart move sih, tapi mending sekalian nambah logic setiap refresh halamannya sekalian delete token sebelumnya, toh ga kepake juga kan biar safety aja. Takutnya kalo dikasih waktu 5 menit gitu masih bisa dimanfaatin oleh attacker dengan cara ambil token dari web kita terus tokennya dipake di web phisingnya karna tokennya kan masih berlaku selama 5 menit. CMIIW temen2
aku punya ide gini: liat aja web aslinya terus inspect ambil token nya jangan di refresh, terus buru-buru kita simpan token nya di web scraping itu dan di submit, itu harus nya bisa juga sih ya, kecuali kalo emang harus auth dulu..
@@ProgrammerZamanNow soalnya di video abang, tdk dijelaskan bahwa form Post itu kondisinya sdh dlm kondisi login. Jd seolah2 form post itu user tdk kondisi login, pdhal yg harmful itu utk user yg sdh login
Saya bisa input post secara masal dari buku tamu atau form lain melalui javascript console, walaupun sudah ada checking tokennya, karena dengan javascript kita tetap bisa ambil content csrfnya. Yang paling aman tetep captcha image kayanya, walaupun sudah ada ai buat baca image😂
saya pernah lakuin uji coba untuk ngirim post ke website temen kuliah saya yang dimana terdapat input hidden untuk token csrfnya, saya coba untuk melakukan web scraping buat dapetin token dan field formnya, ketika data saya coba kirim ternyata itu berhasil dan masuk ke dalam data base.. apakah dengan menambahkan one time token masih menjamin keamanan jika seseorang melakukan hal seperti ini?? mohon pencerahannya pak...
Saya sering melakukan web scrapping dengan python dan library requests dan sampai saat ini csrf masih bisa di akali walaupun kadang harus nge reverse engineering dulu dan ada yang sulit dan ada yang mudah, Intinya menurut ku csrf tidak bisa di anggap aman perlu , proteksi lain lagi
saya biasanya masih kurang yakin dengan csrf + auth token, masih kurang yakin saya biasanya encrypt pake AES dengan key setiap user berbeda dan keynya di simpan di javascript dengan obfuscate, saran key nya di encrypt dlu pake base46 supaya obfuscate lebih perfect ngacak2 sourcenya, kemungkinannya masiha ada, tapi butuh waktu lama buat nge-reverse nya, selain harus tembus csrf + auth token
@@ProgrammerZamanNow betull pak, karena saya pernah menjadi pelaku scraping, jadi punya paranoid yg berlebih, apalagi klo ada transaksi dg keuangan, bahkan klo itu di web di lapisi lagi dengan cloudflare 😅
Terimakasih Atas Tutorial nya, boleh minta solusinya kang cara mengatasi Laravel CSRF token di reject karena race condition (ada 2 form submit secara bersamaan)
si penyerang bisa aja request pakai form action method get dulu buat dapat tokennya kan tokennya dikirim tiap buka url get yang ada formnya, nah penyerang tinggal bikin form action auto submit yang methodnya get ke url tersebut, dapat deh csrf tokennya, lalu lanjut ke form action method post, gitu apa bakal bisa bang >
setahu saya gk bisa bang. kemungkinan dia get website kita pakai metode apa gimana ya? kalau udh beda website, gk akan bisa ngambil value csrfnya setahu saya. jikalau pun bisa sepertinya ketika submit juga bakal muncul token miss match (CMIIW)
Permisi pak Eko dan teman teman, saya cenderung baru dalam kolaborasi. Baru saja harus ngelead project teman. Kira kira development itu harus dilakukan di level local ya? Ngak bisa pakai Dev server bareng bareng terus otomatis kalo ada change langsung ke reflect seperti local (ga harus langsung sih, yang penting nyaman). Terimakasih🙏
Bang, makasih infonya. Btw mau tanya kenapa csrf di laravel saya ketika saya refresh halaman form, tokennya tidak regenerate? apa yang harus diperbaiki/setting? terima kasih
pak csrf itu diterapkan di BE ya gmn kalau BE ama FE dipisah brt di fe setiap ada tampilan form harus ambil token juga ya dengan funtion generate csrf yang disediakan oleh BE ya (kasusnya web tidak pakai authentikasi)
@@ProgrammerZamanNow kalau json api di backend ndak ada muddleware untuk cek token atau pakai cors, dll send request dari web luar tetap dijalankan ya pak
Kalau valuenya diinject ditengah2 saat mengirim data bagaimana cara mengatasinya? Misalnya ketika post data dibutuhkan waktu 10 detik, kemudian di detik ke 5 ada inject data
Pak apakah penyimpanan token di input hidden itu penanganan yang terbaik? Kalau misal si havkernya masuk dulu ke web kita terus ngmbil tokennya dan tokennya di pake di web jahat apakah itu memungkinkan untuk terjadi ?
Kalo di laravel itu ada yang namanya @csrf, di tulis di dalem form nya sebelum ngirim atau nge request data, apa itu sudah cukup kang ? Atau kita perlu konfigurasi lagi supaya lebih aman ?
Kalau token nya taruh di local storage gmna itu ko? Biasanya kan di fe suka pkai localstorage & persist biar gampang ambil2 data token nya & ngirim token nya pakai header ex: token-transfer.
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v jadi lebih ke settingan auth yang bener, settingan cors yang bener bukan karena pakai ajax dan json api
@@GabrielFermy lu salah memahami bang >< maksudnya dia itu tokennya aman ga disimpan di localstorage, karena biasanya token di frontend disimpan di localstorage, lalu token itu dikirim ke backend ditempatin di header tiap request api form tersebut dengan nama headernya token-transfer
Keren pak, tapi ketika web jahat tersebut membuka terlebih dahulu web transfer untuk mendapatkan tokennya, apakah masih bisa melakukan transfer pak ? atau tidak bisa karena csrf token ini hanya bisa digunakan oleh client-side yang sudah ditentukan sebelumnya ?
kalo web jahat ngelakuin ajax get ke form, gak bisa karena pasti error CORS kalo web jahat call via server, token nya bisa di set per user, jadi token si orang jahat pasti beda dengan token punya user
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
@@ProgrammerZamanNow By default setiap browser akan aktif untuk CORSnya. Cuman itu bisa didisable. Nahh makanya teman-teman jangan didisable yaa web securitynya.
tujuannya kan beda mas. Auth token kaya jwt itu buat authentikasi user. sementara csrf kan buat validasi kalo asal request memang dari form resmi dari kita. csrf ini kaya watermark di slip isian di bank. semua juga bisa bikin bentuk lembar isian yang serupa tapi ada kaya watermark nya di balik tinta yang tak terlihat yang menunjukkan kalo itu memang lembar isian resmi yang dicetak si bank. kalo petugas bank ga menemukan watermark yang benar di lembar yang kamu kembalikan, walau pun data yang di isi benar, tetap di tolak. nah auth token setelah validasi watermark tadi lewat maka auth token nya di validasi lagi dengan method validasi yang khusus sendiri buat auth token tadi. seharusnya sih best practice nya seperti itu.
kalau saya buka browser tab baru, kemudian login ke website saya. terus di close tab nya. dan kemudian saya klik link hackernya. apakah bisa kena csrf juga ? 🤔
@@ProgrammerZamanNow eh lebih ke cara dapetin token csrf nya pak, apakah lewat api get token nya?, problemnya kalau lewat api kan mudah juga di request oleh web lain juga
@@ProgrammerZamanNow request course pyhon web programming bang, pengen yg tenik, kalo di yutub kebanyakan tutor ny yg langsung bikin bussines logic terus, malah langsung bikin web UI nya.
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
apa yg menghalangi hacker buat scraping bot yg secara otomatis ngambil csrf token `dari form kita terus tempel di form hacker ya bang? edit: ternyata udh ada yg tanya di pinned comment
misal web lain itu scraping csrf tokenya gimana mas?
misal pake jwt biar gampang bacanya, apa perlu di setiap form itu di jagain pake identifier misal crsf-transfer di data tokenya?
jd misal di scraping juga tokenya ga valid karna beda url nya.
apa saya yg gagal paham ya? apa dengan ngasih 1 token csrf untuk semua form post itu sudah aman harusnya?
edited:
oh apa csrf tokenya tuh dikasih kalo udah login aja kali ya.
token nya bisa di set owner nya, misal ada informasi itu token user siapa, jadi kalo dia scraping walaupun dia dapat tokennya, pas di submit ke user orang, gak bisa karena token nya bukan milik user itu
@@ProgrammerZamanNow mantab seperti nya saya hampir pinter. paham dkrg. makasih mas
berarti tetep harus ada user login dulu di backend nya ya bang? Lalu di assign ke tokennya sbg issuer nya begitu ya?@ProgrammerZamanNow
@@ProgrammerZamanNow Nahh gimana dengan beberapa framework yg terkenal kang eko?
Seperti Laravel, CI, Next, Nuxt, dll. Apakah mereka sudah punya fitur builtin buat set setiap token csrf supaya punya owner?
Oh iya, terkadang kan beberapa website menyediakan form kontak yg sifatnya open untuk pengunjung. Itu bisa jadi celah juga gak? Semisal dikasih csrf token juga, kan itu form public untuk semua pengunjung.
tapi bukannya tetap bisa dimanipulasi bahwa seorang dibelakang pengirimnya memang url aplikasinya padahal aplikasi pihak ke 3nya ya
makasih banyak pak eko. saya melihat materi race condition dan juga materi ini bener2 sangat berguna buat fitur yang lagi saya bangun pak. semoga berkah selalu ilmunya pak dan dilancarkan rezekinya
amin
Bagus banget bang pengajarannyaa 🤩
Tolong bikinin lagi dong video-video mengenai security begini. Video-video pembelajaran di Indonesia mengenai edukasi security begini masi kurang deh 😢
Trmksh mas Eko, infonya sangat sangat mencerahkan 👍
Keren pak, next bahas lagi CORS juga,
menarik
Alhamdulillah pake framework laravel utk basic sudah membantu sekali adanya csrf token.
Ga kebayang kalau seorang web developer expert seperti pak Eko kalau switch karir jadi ethical hacker atau bug bounty Hunter.. pasti akan jadi aset berharga di dunia cyber security karena bisa punya 2 perspektif.. dari perspektif developer dan attacker nya... Tentu dengan pengalaman yang di punya selama ini akan sangat berharga dalam menemukan suatu bug...
ini materi sebenernya sederhana tapi jarang banget ada di materi kuliah, biasanya abis materi CRUD udah kelar
mudah2an nanti kedepannya materi2 seperti ini masuk ke kuliah
aminnn kanh@@ProgrammerZamanNow
Inimah materi 101, harusnya wajib, dosennya males2an kali
@@itaamelia6715biasanya beda matkul, crud biasanya fokus ke mekanismenya sama bahasanya aja. urusan security ngga terlalu di perhatiin
@@itaamelia6715 ini ga bisa masuk form 101. ini sebenernya advance form material. karena sudah berhubungan dengan keamanan. dan memang ga sempat dimasukkan kedalam kurikulum. di kelas pasti butuh waktu lebih daripada di youtube. ilmu kaya gini mah cuma bisa di dapat dari self learning. ga cukup pake bangku kuliahan
Pas banget waktu ada tugas kuliah analisis kerentanan, makasih bang
Faktor keamanan bisa ditingkatkan dgn secure cookie, yg bisa diisi dengan token dan divalidasi oleh server. Secure cookie tdk bisa dibaca oleh Javacript di browser, dan bisa ditentukan hanya pada suatu domain.
Ralat bukan 'secure' tapi atribut 'HttpOnly'
Sudah lama sekali ga memikirkan CSRF, sebab sejak 2019 selalu terlibat/ngerjain project yang stateless (token-based authentication) yang secara alami kebal dari CSRF. Takutnya lupa hal-hal yang beginian.
Pake CSRF token udah aman kok buat form POST sederhana.
Fun fact, buat sistem pembayaran digital ada sertifikasi keamanannya, dan CSRF cuma segelintir proteksi yg diperlukan.
mumppung ngebahas ini, sekalian bahas APKTool sama Frida mas, hehehe
Bermanfaat banget...
Nice ty, lebih banyak lagi pak bahas yg modelan praktik kaya gini ❤
terimakasih
Auto subscribe pak
Nambahin mas, ngasih durasi 5 menit auto destroy di redisnya itu smart move sih, tapi mending sekalian nambah logic setiap refresh halamannya sekalian delete token sebelumnya, toh ga kepake juga kan biar safety aja. Takutnya kalo dikasih waktu 5 menit gitu masih bisa dimanfaatin oleh attacker dengan cara ambil token dari web kita terus tokennya dipake di web phisingnya karna tokennya kan masih berlaku selama 5 menit. CMIIW temen2
aku punya ide gini: liat aja web aslinya terus inspect ambil token nya jangan di refresh, terus buru-buru kita simpan token nya di web scraping itu dan di submit, itu harus nya bisa juga sih ya, kecuali kalo emang harus auth dulu..
gak ada kerjaan donk, buka akun sendiri, submit token sendiri ke website heker nya, hahahah
@@ProgrammerZamanNow 😭🤣
@@ProgrammerZamanNow soalnya di video abang, tdk dijelaskan bahwa form Post itu kondisinya sdh dlm kondisi login. Jd seolah2 form post itu user tdk kondisi login, pdhal yg harmful itu utk user yg sdh login
@@novianindy887 nah iya ka, aku Mandang nya ga ada auth/login nya, sedangkan kang eko Mandang nya di realiti nya (dalam ke adaan login)
@@novianindy887 iya sih ka, aku mandang nya ga ada auth nya, nah sedangkan kang eko mandang nya ada auth (di kenyataan nya emang harus ada auth nya)
Saya bisa input post secara masal dari buku tamu atau form lain melalui javascript console, walaupun sudah ada checking tokennya, karena dengan javascript kita tetap bisa ambil content csrfnya. Yang paling aman tetep captcha image kayanya, walaupun sudah ada ai buat baca image😂
kalo lewat javascript biasanya kehalang duluan sama cors
tujuan captcha juga bukan buat verifikasi user, tapi mitigasi serangan bot
Sangat membantu mas.. kalau di API kita batasi di Cross-Origin Resource Sharing (CORS)?
pak eko, tolong bikin course swift dong. hehe
saya pernah lakuin uji coba untuk ngirim post ke website temen kuliah saya yang dimana terdapat input hidden untuk token csrfnya, saya coba untuk melakukan web scraping buat dapetin token dan field formnya, ketika data saya coba kirim ternyata itu berhasil dan masuk ke dalam data base.. apakah dengan menambahkan one time token masih menjamin keamanan jika seseorang melakukan hal seperti ini?? mohon pencerahannya pak...
Saya sering melakukan web scrapping dengan python dan library requests dan sampai saat ini csrf masih bisa di akali walaupun kadang harus nge reverse engineering dulu dan ada yang sulit dan ada yang mudah,
Intinya menurut ku csrf tidak bisa di anggap aman perlu , proteksi lain lagi
Scraping gak ada hubungannya sama csrf
Lanjut pak broken access control
saya biasanya masih kurang yakin dengan csrf + auth token, masih kurang yakin saya biasanya encrypt pake AES dengan key setiap user berbeda dan keynya di simpan di javascript dengan obfuscate, saran key nya di encrypt dlu pake base46 supaya obfuscate lebih perfect ngacak2 sourcenya, kemungkinannya masiha ada, tapi butuh waktu lama buat nge-reverse nya, selain harus tembus csrf + auth token
tiap orang punya level paranoid masing2, jadi gak masalah mau dibikin lebih sulit lagi
@@ProgrammerZamanNow betull pak, karena saya pernah menjadi pelaku scraping, jadi punya paranoid yg berlebih, apalagi klo ada transaksi dg keuangan, bahkan klo itu di web di lapisi lagi dengan cloudflare 😅
pak. bikin course swift kapan?
mudah2an bisa dibuatkan
Terimakasih Atas Tutorial nya, boleh minta solusinya kang cara mengatasi Laravel CSRF token di reject karena race condition (ada 2 form submit secara bersamaan)
Mantap pak 🔥
si penyerang bisa aja request pakai form action method get dulu buat dapat tokennya kan tokennya dikirim tiap buka url get yang ada formnya, nah penyerang tinggal bikin form action auto submit yang methodnya get ke url tersebut, dapat deh csrf tokennya, lalu lanjut ke form action method post, gitu apa bakal bisa bang >
setahu saya gk bisa bang. kemungkinan dia get website kita pakai metode apa gimana ya? kalau udh beda website, gk akan bisa ngambil value csrfnya setahu saya. jikalau pun bisa sepertinya ketika submit juga bakal muncul token miss match (CMIIW)
kalau get dulu harus pakai js atau ajax, udah pasti kena cors.
Gak bisa, kena CORS
@@TrelaDark bukan pakai ajax bang tapi pakai form action method get, jadi
@@allone258 ga pakai ajax bang, itu di atas aku ketik bukan pakai ajax tapi pakai form action method get, jadi
info text editor yang digunakan apa?
Intellij Idea nga tau versi yang comunity ato ultimate
@@nailachan9626 makasih bang
Permisi pak Eko dan teman teman, saya cenderung baru dalam kolaborasi. Baru saja harus ngelead project teman. Kira kira development itu harus dilakukan di level local ya? Ngak bisa pakai Dev server bareng bareng terus otomatis kalo ada change langsung ke reflect seperti local (ga harus langsung sih, yang penting nyaman). Terimakasih🙏
Joss bang
pak, kalau bahas tentang data encryption, mungkin ada aplikaei finance dan gman caranya gk biss di decryot ps do inspect
kalo di enkripsi, selama orang gak punya key untuk decryppt, dia gak akan di decrypt
saya cuma nyimpennya di sesion terus kalau selesai di unset terus generate token baru
mahaaal kang🔥
Kalau dengan aplikasi web SPA seperti reactJS bagaimana cara secure nya bang Eko?
jangan pake form post, pake json api aja
@@ProgrammerZamanNow kalau itu pakai ajax call ya berarti? apakah pakai jwt saja cukup bang?
@@b0ysb3SPA bisa pake JWT
mantap sekali pak materinya, terima kasih
aku cuma penasaran mau tanya pakai editor code apa ya pak?
JetBrains
Kalau semisal dari robots.txt bagaimana ya . Sempet kena hack tampilan saya liat lognya masuknya dari robots.txt itu gmna ya bang ?
Bang, makasih infonya. Btw mau tanya kenapa csrf di laravel saya ketika saya refresh halaman form, tokennya tidak regenerate? apa yang harus diperbaiki/setting? terima kasih
Kang, bahas soal race condition dong buat di laravel dan juga php. terus gmana cara nanganin kasusnya.
sudah pernah membahas kalau gak salah
klo ga salah udah pernah di jelasin kang cuma studi kasusnya di database
bang coba bahas serangan yang lainnya selain CSRF 😁
pak csrf itu diterapkan di BE ya gmn kalau BE ama FE dipisah brt di fe setiap ada tampilan form harus ambil token juga ya dengan funtion generate csrf yang disediakan oleh BE ya (kasusnya web tidak pakai authentikasi)
kalo JSON API, gak perlu csrf lagi, udah aman
@@ProgrammerZamanNow amannya gimana? bukannya bisa dari website apa saja akses? kalo check origin bukannya bisa set header juga ya?
@@kiruakinagi7117 karena tinggal kasih token_required di endpointnya
@@kiruakinagi7117Karena pake API token nya. Kecuali api nya ga dibuat secure dgn token
@@ProgrammerZamanNow kalau json api di backend ndak ada muddleware untuk cek token atau pakai cors, dll send request dari web luar tetap dijalankan ya pak
Dan pemain CARDING SERTA WEB DEVELOPMENT SUKA NEBAR PHISING CC FULL SENYUM DGN VIDEO INI
Senyum kenapa?
Pak maaf saya request playlist framework Angular dari 0 sampai bisa pak 🙏🏼
mending vue atau reactjs aja
@@ProgrammerZamanNow baik pak terima kasih sarannya. Saya masih 0 banget soalnya pak 😅
pak, pliss bahas django framework🙏🙏
Next XSS Filter input di form kang
kalau udh make laravel,atau fe react js vue dll sih xss udh kerender , kalau laravel udh ditolak sih harus pakai {!! !!}
mas eko. buatin tutorial udemy laravel livewire
iya, udah ada rencana
kalau ada ini aman g bang strict-origin-when-cross-origin..
biasaa pake laravel tinggal tambahin @csrf didalem formnya. pas pindah pake nextjs jadi bingung gimana implementasinya, masih ngulik" lagi 😂😂
biasanya udah ada sih di framework2
Bang bukan nya bisa pake library cors buat menghindari hal hal seperti ini
Kalau valuenya diinject ditengah2 saat mengirim data bagaimana cara mengatasinya? Misalnya ketika post data dibutuhkan waktu 10 detik, kemudian di detik ke 5 ada inject data
gimana cara inject datanya? kecuali kamu pake jaringan internet gratisan dan ternyata yang kasih jaringan gratisannya itu orang jahat
Wah mantul kang, sekalian izin tanya kalo misal kita pake private network trus yang di allow di BE nya hanya dari FE nya apakah bisa juga kang?
selama BE bisa diakses via internet oleh user, tetep bisa
@@ProgrammerZamanNow oh oke, makasih kang
Masih bingung. Apa jwt di header dan di validasi di be aja kurang?
beda case bang, ini case nya UI dan Backend jadi satu.
kak khanedy itu aplikasi yang digunakan buat ngejelasin, buat notepad yang di layar apa kak? yang buat coret coret😅
excalidraw
ini juga bsa ditackle pakai header same origin bukan?
Pak apakah penyimpanan token di input hidden itu penanganan yang terbaik?
Kalau misal si havkernya masuk dulu ke web kita terus ngmbil tokennya dan tokennya di pake di web jahat apakah itu memungkinkan untuk terjadi ?
token nya bisa direlasiin ke user nya
Kalo di laravel itu ada yang namanya @csrf, di tulis di dalem form nya sebelum ngirim atau nge request data, apa itu sudah cukup kang ? Atau kita perlu konfigurasi lagi supaya lebih aman ?
sudah cukup
tp keknya kalo udh ada validasi authroization msh bisa diamanin deh, walaupun msh ada peluang sih.
justru ngincer yang udah login
Misal kalau aplikasinya terpisah antara fe dan be, apakah cukup pakai cors aja? Atau harus implementasi csrf token juga?
kalo semua AJAX JSON, gak butuh, udah terlindungain dengan CORS
klo api yang digunakan aplikasi mobile perlu csrf juga gk bang? atau cukup pake otentikasi (oauth) sama otorisasi doang
kalo buat mobile, gak butuh csrf
@@ProgrammerZamanNow ok makasih ilmunya bang
Kalau misalkan si hacker bener bener niat sampe pasang endpoint buat dapetin one time token nya gimana itu pak?
csrf dan captcha adalah jalan ninjaku
Kalau token nya taruh di local storage gmna itu ko?
Biasanya kan di fe suka pkai localstorage & persist biar gampang ambil2 data token nya & ngirim token nya pakai header ex: token-transfer.
kalo dari FE ke BE pake ajax JSON API, aman2 aja, gak butuh CSRF lagi
@@ProgrammerZamanNow makasih info nya.
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v jadi lebih ke settingan auth yang bener, settingan cors yang bener bukan karena pakai ajax dan json api
kok fe sih yang harus generate token? yakin workflownya udah bener kalo gitu mah.
@@GabrielFermy lu salah memahami bang >< maksudnya dia itu tokennya aman ga disimpan di localstorage, karena biasanya token di frontend disimpan di localstorage, lalu token itu dikirim ke backend ditempatin di header tiap request api form tersebut dengan nama headernya token-transfer
msu tanya pak, untuk tokennya, bisa di taro di cookies gak? atau cuman di input aja?
csrf token ga boleh ditaruh di cookie karena fungsinya biar kalau penyerang dapat cookienya, dia ga dapat csrf tokennya
Keren pak, tapi ketika web jahat tersebut membuka terlebih dahulu web transfer untuk mendapatkan tokennya, apakah masih bisa melakukan transfer pak ? atau tidak bisa karena csrf token ini hanya bisa digunakan oleh client-side yang sudah ditentukan sebelumnya ?
kalo web jahat ngelakuin ajax get ke form, gak bisa karena pasti error CORS
kalo web jahat call via server, token nya bisa di set per user, jadi token si orang jahat pasti beda dengan token punya user
kalau gapake form post, tapi pake fetch atau axios gitu untuk ngirim datanya, apakah ga bakal kena CSRF?
selama pake nya JSON API , gak perlu
@@ProgrammerZamanNow makasih om
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
bukannya bisa juga ya kalo kita pakai CORS? jadi cuma ip tertentu yang bisa hit API kita
CORS itu kalo di web berbeda domain, ngakses ajax call ke domain lain
form post itu bukan ajax call
CORS tuh browser things ga sih? Kalau dari server ga guna ada CORS tetep bisa
@@ProgrammerZamanNow kalau pakai request pakai ajax, bisa jalan gak?
@@novianindy887 ditolak browser, karena CORS
@@ProgrammerZamanNow By default setiap browser akan aktif untuk CORSnya. Cuman itu bisa didisable. Nahh makanya teman-teman jangan didisable yaa web securitynya.
Kalau udah make auth token buat tiap request API apakah masih harus nerapin csrf token ? (Auth token kan biasanya durasinya lama, min sehari)
kalo masih ada form post, wajib pake csrf
@@ProgrammerZamanNow ok pak siap
tujuannya kan beda mas. Auth token kaya jwt itu buat authentikasi user. sementara csrf kan buat validasi kalo asal request memang dari form resmi dari kita. csrf ini kaya watermark di slip isian di bank. semua juga bisa bikin bentuk lembar isian yang serupa tapi ada kaya watermark nya di balik tinta yang tak terlihat yang menunjukkan kalo itu memang lembar isian resmi yang dicetak si bank. kalo petugas bank ga menemukan watermark yang benar di lembar yang kamu kembalikan, walau pun data yang di isi benar, tetap di tolak. nah auth token setelah validasi watermark tadi lewat maka auth token nya di validasi lagi dengan method validasi yang khusus sendiri buat auth token tadi. seharusnya sih best practice nya seperti itu.
kalau saya buka browser tab baru, kemudian login ke website saya. terus di close tab nya. dan kemudian saya klik link hackernya. apakah bisa kena csrf juga ? 🤔
bisa
Untuk case api yang akan diakses mobile apps gimana pak?
gak perlu csrf
tapi kalo si hengkel nge buka web asli nya di background dan abis itu ngambil token dari web asli tsb? bisa jebol ato ga?
gak bisa
kalo udah nerapin csrf token, gk bisa lagi ngetesting misal pake insomnia / jmeter ya?
atau gimnaa ya?
iya, gak bisa, harus manual ambil dulu token nya
Kalo untuk aplikasi mobile apa butuh csrf token juga kang?
gak butuh
itu case untuk server side rendering pak bs insert ketika di server, kalau client side rendering seperti mobile / reactjs apakah masih bisa?
Kalo form post tetep bisa
kalau maksudnya untuk proteksi tambahan di client side, mungkin bisa pake captcha.
@@ProgrammerZamanNow eh lebih ke cara dapetin token csrf nya pak, apakah lewat api get token nya?, problemnya kalau lewat api kan mudah juga di request oleh web lain juga
pake oauth mungkin maksudnya
maksudnya kalau app PWA, apa bisa CSRF tokennya diambil lewat api
makasih atas konten luarbiasanya ini, maaf pak ingin koreksi spelling bingris aja hehe, hidden bacanya 'hidden' bukan 'haiden'
siap
Itu Editor make apa pak?
untuk form yang open kaya contact us gimana pak eko? apakah pakai captcha aja cukup?
pake captca lebih sulit lagi di hack, tapi dari sisi user kurang bagus experience nya
bang kalo nyimpen jwt token dmna?
token tu apa? login ke mas?
kang ada source codenya gak?
django ada ini
Belum bisa komen apa2, belum nyampe situ pak.
Semangat
@@ProgrammerZamanNow request course pyhon web programming bang, pengen yg tenik, kalo di yutub kebanyakan tutor ny yg langsung bikin bussines logic terus, malah langsung bikin web UI nya.
berarti pelaku serangan CRSF harus tau nama table database dan passwornya dong?
kalo ga tau ga bisa kan?
gak perlu, cukup tahu form nya aja
Serau gue kl ada auth nya harus dapat auth token atau cookiesny jg
buat diagram nya pake software apa pak?
excalidraw
perlu nggak kang kita encrypt token, supaya user juga nggak nakal sama tokennya ?
gak terlalu berguna
apakah ini juga bakal terjadi di laravel?
laravel sudah punya csrf protection
Ini kalau fe be dipisah dan pakek rest api bisa kena gituan bang?
kalo pake JSON API, aman
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
kalo di form post pake CRSF gmn mas?
sudah dibahas di video nya
@@ProgrammerZamanNow iya kelewatan td kebanyakan fast forward wkwkw
Kalo routes diprotect pke login session gmn??
@@ekasatriabahari2264 justru hacker itu ngincer yang udah login
Lalu untuk kasus yang dimana FE sama BE dipisahkan dan menggunakan access token seperti jwt, apakah perlu juga pakai CSRF?
kalo via JSON API, gak butuh
@@ProgrammerZamanNow tergantung authnya pakai apa ga sih bang? kalau pakai cookie karena browser secara otomatis mengirimkan cookie bahkan ke domain yang berbeda kalau ga disetting dengan benar, cookie harus disetting same site agar kemudian dilapisi csrf token tapi tokennya jangan dikirim ke dalam cookie, dikirim lewat json kayak biasanya dan setting cors origin hanya ke url frontend jangan disetting * (bintang) yang mengizinkan semua url apapun, kalau pakai token lebih aman terhadap csrf tapi bisa dicuri juga tokennya :v
Kalau saya pakai API auhmthorization JWT 😂
ini bukan bahas API
apa yg menghalangi hacker buat scraping bot yg secara otomatis ngambil csrf token `dari form kita terus tempel di form hacker ya bang?
edit: ternyata udh ada yg tanya di pinned comment
Emang web bot bisa scrapping halaman web yg harus login dulu, kecuali komputer clientnya terinfeksi virus mungkin
Mas eko kalai ngasih ilmu gak pernah ngecewain akal.. maaf mas eko akun yt q yg member di hack orang.. ini buat baru
kalo misal form nya dikirim via AJAX gitu, apakah perlu CSRF token juga?