Lewati ke konten

Model keamanan ​

Ini adalah shell yang bisa dijangkau lewat HTTP. Ia hanya aman karena lapisan di bawah ini, jadi tolong jangan dihapus.

LapisanYang diblokir
Hanya bind ke 127.0.0.1Perangkat lain di Wi-Fi yang sama
Token bearer (acak, 192-bit, per perangkat)Situs mana pun yang tidak tahu token
Allowlist origin, diatur pemilik perangkat di WebUIWebsite sembarang yang memanggil jembatan dari browser pengguna
Content-Type: application/json wajibCSRF "simple request" dengan text/plain
Pengecekan header HostDNS rebinding
Timeout dan batas ukuranPerintah yang lepas kendali
Kill seluruh process groupProses anak yang tertinggal setelah timeout atau kill()

Batasan ​

/exec/spawn
Timeout default30 dtk300 dtk
Timeout maksimum120 dtk3600 dtk
Body request64 KB64 KB
Output1 MB (kelebihannya dibuang)16 MB (proses dimatikan jika lewat)

Token ​

  • Dibuat saat pertama kali menyala, disimpan di $AXERONDIR/axbridge/token dengan mode 600.
  • Dibandingkan dalam waktu konstan.
  • Dikirim sebagai Authorization: Bearer <token>.
  • Kamu bisa menentukan sendiri lewat environment variable AXBRIDGE_TOKEN.

Perlakukan token seperti password

Siapa pun yang memegang token dan berjalan dari origin yang diizinkan punya akses shell ke HP.

Untuk developer aplikasi ​

  • Token ada di localStorage halamanmu. Script pihak ketiga mana pun di halaman itu bisa membacanya dan menjalankan perintah di HP pengguna. Jaga halaman itu bebas dari script tak tepercaya, kode iklan, dan analytics yang tidak kamu kendalikan.
  • Bug cross-site scripting di situsmu menjadi remote shell di HP penggunamu. Anggap XSS sebagai masalah kritis.
  • Jangan teruskan input bebas dari pengguna ke exec. Sediakan aksi spesifik dari kodemu sendiri (restartGame(), clearCache()) dan susun perintahnya sendiri.
  • Dengan spawn, kirim array args supaya tidak ada shell yang mem-parse argumen.

Yang tidak dilindungi AxBridge ​

  • Aplikasi jahat yang sudah berjalan di HP yang sama dan memegang token. Aplikasi juga bisa menjangkau 127.0.0.1, dan pengecekan origin hanya membatasi browser. Karena itu token ada dan harus dirahasiakan.
  • Pemilik perangkat yang menambahkan situs tak tepercaya ke allowlist.

Melaporkan masalah ​

Tolong buka security advisory privat di repositori GitHub, bukan issue publik.

Released under the MIT License. Based on RiProG-ADB-Panel (MIT).