Come posso creare un file system di sola lettura / scrittura?

1

Recentemente ho violato il mio router che esegue BusyBox v1.9.1. Voglio modificare alcuni file nell'interfaccia della mia interfaccia web che mi permetteranno di ottenere opzioni nascoste. Sto cercando di modificare un file .js e sostituirlo tramite FileZilla (Ho anche hackerato FTP impostando la directory del router predefinita come ../.. ), e quando carico il file nel router, dice: 553 Errore: sistema di file di sola lettura. Come posso risolvere il problema tramite SSH o FTP? ( Telnet sembra essere rotto.)

Inoltre, come posso impostare un comando predefinito da eseguire quando I SSH in un server in PuTTY ? In Linux funziona per me quando faccio "ssh [email protected] / bin / sh", ma quando provo a farlo su Windows attraverso PuTTY mi disconnette direttamente dopo il mio accesso.

EDIT: okay, ecco qui:

rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
none on /dev type tmpfs (rw)
/proc on /proc type proc (rw)
none on /var type tmpfs (rw)
none on /tmp type tmpfs (rw)
none on /mnt type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/nandflash on /upgflash type ext3 (rw,data=ordered)
none on /html/help type tmpfs (rw)
/dev/sda1 on /mnt/usb1_1 type vfat (rw,fmask=0000,dmask=0000,codepage=cp936,iocharset=cp936,shortname=winnt)

nota: l'ultima è la mia memoria flash da 4 GB, ho bisogno che sia sempre collegata al router perché mi aiuta a vedere il filesystem del router facendo un piccolo exploit aggiungendo ../ .. alla directory usb1_1 creata in upgflash file nel filesystem del mio router.

    
posta H3lp3ingth3p33ps 20.07.2014 - 13:01
fonte

2 risposte

4

Vedi una domanda simile su Unix & Linux Stack Exchange per lo sfondo. Non stai riscontrando alcun tipo di limitazione di sicurezza.

Questo non è correlato all'uso di BusyBox, è relativo al filesystem usato dal router. Con i filesystem per i quali un driver supporta la scrittura, mount -o remount,rw / ripristinerebbe il file system in lettura-scrittura. È necessario l'accesso alla shell per questo, non è possibile farlo tramite FTP (ma se si ha accesso FTP di root è possibile iniettare il codice caricandolo in un file che viene eseguito - cercare le partizioni scrivibili per i file eseguibili, crontabs, ecc.) . Ma il tuo router esegue SquashFS, che è progettato specificamente per i filesystem di sola lettura; SquashFS non supporta la scrittura, punto. È possibile modificare il contenuto del filesystem generando una nuova immagine e lampeggiando.

Esegui cat /proc/filesystems per vedere quali tipi di filesystem sono disponibili. Potrebbe esserci un sistema di file unione che ti consente di ignorare alcuni file con una vista in lettura-scrittura dal flash esterno o in tmpfs. In alternativa, potresti% ro_de% della radice di SquashFS in un'altra posizione e montare un filesystem tmpfs su mount --bind contenente principalmente collegamenti simbolici alla root trasferita. Per rendere persistenti le tue modifiche, dovresti trovare qualcosa che viene eseguito all'avvio; fai attenzione ai valori NVRAM.

Sembra che tu sia davvero un utente che cerca di fare in modo che il tuo router faccia più cose, piuttosto che un utente malintenzionato che cerca di ottenere che il router faccia cose che il proprietario non vuole. Quindi dimenticalo e installa un firmware alternativo.

    
risposta data 21.07.2014 - 02:26
fonte
1

Potrebbe darsi che tu stia interagendo con la memoria di sola lettura, ma un normale file system può essere rimontato per scrivere.

Quando fai il root, fai:

mount -o remount,rw /

E dovrebbe rimontare il filesystem per essere scrivibile.

Ad ogni modo, se vuoi che il tuo router faccia di più, sostituisci il firmware con uno migliore.

    
risposta data 20.07.2014 - 15:02
fonte

Leggi altre domande sui tag