# URL Spoofing via history.replaceState()

`history.replaceState()` adalah API JavaScript yang memungkinkan developer mengganti URL di address bar **tanpa me-reload halaman**. Ini sering digunakan untuk navigasi dinamis di SPA, tapi bisa disalahgunakan untuk **URL spoofing**.

![](https://cdn-images-1.medium.com/max/800/1*p8SZxwflePfQ_nWVhX9Pnw.jpeg align="left")

jika kamu menjalankan script tersebut di browser yang rentan, maka address bar hanya akan menampilkan `https://accounts.google.com`, padahal sebenarnya URL aslinya adalah [`https://attacker.com/?..................................https://accounts.google.com`.](https://attacker.com/?..................................https://accounts.google.com.)

Trik seperti ini bisa banget diterima di platform bug bounty, lho! Asalkan dampaknya jelas dan bisa menyesatkan pengguna secara visual.

Contoh :

![](https://cdn-images-1.medium.com/max/800/1*mnRP7NBCNeDUMI86zXkyQw.png align="left")
