webif optionen token und anti-hijack im script?

  • hi,


    ich verwalte aktuell diverse boxen meiner familie per script.
    wie müssen die beiden folgende befehle aussehen, um token-basierte sicherheit und anti-hijack aktiviert lassen zu können?


    bsp:
    ssh -p $PORT -i ~/.ssh/ssh_key root@$CLIENT "rm -R $PICON_FOLDER/picon*"
    oder:
    scp -r -P $PORT -i ~/.ssh/ssh_key $PICON_FOLDER/* root@$CLIENT:$PICON_FOLDER

  • hast recht, habe mal den themen titel angepasst um nicht zu verwirren.
    wie nutze ich die webif befehle richtig?

    Code
    wget -q -O - "http://root:$HTTP_PW@localhost/web/powerstate?newstate=5" >/dev/null 2>&1

    Einmal editiert, zuletzt von hawking ()

  • Geht wohl nicht so einfach. Vor allem weil du zuerst eine session holen must. Diese musst du dann in den post-Daten mitgeben.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • das ist nicht das problem:


    Code
    SESSIONID=`wget -q -O - "http://localhost/web/session" |grep -o -E "<e2sessionid>(.*)</e2sessionid>" |sed "s|.*<e2sessionid>\(.*\)</e2sessionid>.*|\\1|"`
    
    
    wget -q -O - "http://localhost/web/message?text=Hallo&type=1&timeout=5&sessionid=$SESSIONID" >/dev/null 2>&1

    jetzt brauche ich nur noch POST anstatt GET für anti-hijack. token-basierte sicherheit funzt schon mal :smiling_face:
    man braucht nicht mal mehr ein passwort für die http authentifizierung.

  • Passwort brauchst du nicht, weil du vermutlich die authentifizierung für lokale clients ausgeschaltet hast. Die SessionId kannst du nur per POST mitgeben.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • thx funzt :grinning_squinting_face:


    Code
    SESSIONID=`curl -s -X POST "http://localhost/web/session" |grep -o -E "<e2sessionid>(.*)</e2sessionid>" |sed "s|.*<e2sessionid>\(.*\)</e2sessionid>.*|\\1|"` >/dev/null 2>&1
    
    
    curl -X POST "http://localhost/web/message?text=hallo&type=1&timeout=5&sessionid=$SESSIONID" >/dev/null 2>&1


    jetzt muss ich es nur noch auf dem gira homeserver hinbekommen :frowning_face:

  • Hm, das sollte aber doch eigentlich nicht sein. Also Benutzername und Passwort muss meines Erachtens immer abgefragt werden, wenn lokale Clients an ist. Aber ich hatte auch bei Timer hinzufügen/löschen einen Session invalid-Fehler und trotzdem wurde die Aktion ausgeführt.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Das muss vermutlich reichi mal anschauen. Es könnte aber schlichtweg auch sein, dass deine Session einfach noch gültig war und deshalb nichts abgefragt wurde.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource