# Misplaced File Picker Dialog Across Tabs in Browser

Kerentanan ini memungkinkan attacker untuk memicu **file picker dialog** (misalnya untuk memilih foto) pada **tab yang berbeda dari yang aktif**, membuat korban percaya bahwa mereka sedang mengupload file ke situs **tepercaya** (seperti Google.com), padahal aksi tersebut sebenarnya terjadi di halaman attacker.

## 💡 Konsep & Teknik

Kerentanan ini memanfaatkan cara browser menangani interaksi user saat membuka tab baru menggunakan anchor (`<a target="_blank">`) yang dikombinasikan dengan event `click()` dan `file input`.

Ketika anchor ini diklik, tab baru menuju `google.com` akan terbuka. Namun, sebelum atau sesudahnya, kita bisa memicu `input type="file"` pada tab **lama**, memunculkan dialog file picker secara asinkron **di tab attacker**, bukan di tab `google.com`.

**Contoh Rentan :**

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1748856556629/ac748400-00e4-4fbc-a55e-23aa97f55ac0.png align="left")

### 🔥 Eksploitasi

1. User tap/klik halaman attacker yang menampilkan pesan:  
    **"Tap to upload photo to** Google\*\*."\*\*
    
2. Halaman membuka `https://www.google.com` di tab baru.
    
3. Secara bersamaan, halaman attacker memicu `input.click()` — memunculkan **dialog pemilih file di tab sebelumnya**.
    
4. Korban mengira bahwa upload file dilakukan ke Google, padahal sebenarnya file dikirim ke halaman attacker.
