Semua karyaStudi kasus 02 / 03

Memperkuat auth di sisi frontend

Token, konten pengguna, dan cookie adalah celah serangan di frontend. Saya menganggapnya tanggung jawab saya dan menutup tiga jalur serangan yang umum.

Konteks
Digital Agency
Peran
Mid-level Frontend Developer
Kapan
2021 — 2023
Stack
JWT · DOMPurify · CORS
XSSCSRFtoken replay

Tiga jalur serangan, masing-masing ditutup dengan kontrol yang jelas.

01 · Masalahnya

Auth dan konten buatan user adalah tempat bug frontend berubah jadi bug keamanan. Tidak ada yang meminta pekerjaan ini. Saya melihat risikonya dan memulainya sendiri.

02 · Batasan

Sesi yang sudah ada harus tetap jalan, jadi tidak ada user yang ter-logout. Embed pihak ketiga juga harus tetap bisa dimuat.

03 · Yang saya lakukan

  1. Rotasi refresh token

    Access token berumur pendek; setiap refresh token hanya berlaku sekali, jadi token curian langsung ketahuan saat dipakai ulang.

  2. Sanitasi sebelum render

    DOMPurify di setiap jalur yang merender HTML dari user, jadi script sisipan tidak pernah sampai ke DOM.

  3. Cookie dan CORS dikunci

    Flag SameSite dan Secure ditambah kebijakan CORS yang ketat untuk menahan request lintas situs.

04 · Hasil

  • 3
    jalur serangan ditutup: XSS, CSRF, token replay

05 · Kalau diulang, ini yang saya ubah

Lain kali saya akan menambahkan handshake dan menyimpan fingerprint di cookie untuk semua user, baik yang sudah login maupun belum.

Studi kasus berikutnyaShipped.Toko online Swiss, sendirian, dalam satu bulan