Seorang rekan kerja dan saya sedang melihat sebuah aplikasi hari ini yang, seperti banyak aplikasi web modern lainnya, menawarkan RESTful API dengan JSON yang digunakan untuk serialisasi permintaan/tanggapan. Dia mencatat bahwa aplikasi tersebut tidak menyertakan token CSRF apa pun dan sepertinya tidak menggunakan salah satu header (X-Requested-With, Referer, Origin, dll. ) sebagai "token CSRF orang miskin", tetapi karena memposting JSON, apakah benar-benar rentan terhadap CSRF? Show Menariknya, ini mengingatkan banyak kebingungan antara server dan browser yang dijelaskan dalam The Tangled Web karya Michal Zalewski Gagasan bahwa penggunaan pengkodean tertentu adalah batas keamanan, paling buruk, adalah gagasan keamanan yang sepenuhnya salah, dan paling banter, sementara sampai W3C, vendor browser, atau penyerang pintar mendapatkan API Anda. Mari kita periksa pengodean JSON sebagai perlindungan terhadap CSRF dan mendemonstrasikan mini-PoC AplikasiKami memiliki aplikasi dasar yang ditulis dalam Go. Pengecekan autentikasi dihilangkan untuk ukuran posting, tetapi ini bukan hanya titik akhir yang tidak diautentikasi
|