Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

sscanf für die shell

Synthetic_codes / 3 Antworten / Baumansicht Nickles

Moin.

Ich habe atm folgendes Problem. Für eines meiner projekte muss ich derzeit in einer website daten abgreifen und analysieren. Die website liegt auf einem anderen server von mir. Diese Site benötigt eine identifizierung, was per cookie und sessionid gemacht wird.

ich logge mich also per
wget --save-cookies="cook.txt" http://85.31.187.29/login.php?ser=1932&login=username&pass=passwort -q -O login.php

daraufhin erhalte ich einmal die Authcookies in cook.txt und die datei login.php. in dieser ist einfach nur ein meta refresh tag drinne. dieses leitet auf die startseite weiter und enthält die session ID.
jetzt möchte ich die Session ID an der shell auslesen. Bisher war ich dazu zu blöde, weswegen ich mir ein c-prog geschrieben habe, das die datei login.php öffnet und die sessionID per sscanf aus der datei ermittelt. Die SessionID wird dann auf stdout ausgegeben und kann mit pipes weiterverarbteitet werden.

Wie ihr euch denken könnt, ist diese lösung alles andere als flexibel. Das ganze müsste doch auch per sed gehen oder liege ich da falsch? weiss jemand eine gute seite mit erklärungen zu regexes? früher war ich da mal fit, aber lang lang ists her...

hier ist ein beispielinhalt aus der login.php:


<meta http-equiv='refresh' content='0; URL=/control/index.php?page=overview&session=0aa852385866&lgn=1'>


naja ich danke für eure hilfe, ich brauche keine fertige lösung, ein stups in die richtige richtung sollte genügen...

'); DROP TABLE users;--
bei Antwort benachrichtigen
Synthetic_codes Nachtrag zu: „sscanf für die shell“
Optionen

btw, sind die regexes für sed die gleichen wie bei perl?

'); DROP TABLE users;--
bei Antwort benachrichtigen
xafford Synthetic_codes „sscanf für die shell“
Optionen

Könnte es sein, dass Du das Pferd von der falschen Seite aufzäumst? Wenn die Seite mit dem Login auch deine ist, warum fügst Du dann nicht einfach entweder einen Parameter hinzu, oder eine eigene Login-Seite, sodass nur die Sessionid als Text, anstatt einer kompletten HTML-Seite zurück gegeben wird? Also entweder eine Seite "robologin.php", oder ein Aufruf mit:

wget --save-cookies="cook.txt" http://85.31.187.29/login.php?ser=1932&login=username&pass=passwort&robologin=1 -q -O login.php

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Synthetic_codes xafford „Könnte es sein, dass Du das Pferd von der falschen Seite aufzäumst? Wenn die...“
Optionen

stimmt eigentlich. das kommt davon wenn man zu kompliziert denkt.

'); DROP TABLE users;--
bei Antwort benachrichtigen