Hallo Leute
Ich hab mal wieder ne Frage..
Re.search.__globals__ was listet das alles auf?
Und wie funktioniert dieser Aufruf?
search.__globals__['sys'].modules['os'].system('cat')
Hoffe das war verständlich genug..
Re.search
@nooby: Das kannst Du doch ganz einfach selber herausfinden in einer Python-Shell. Einfach mal die Teilausdrücke ausprobieren und `type()` und `help()` auf die Zwischenergebnisse anwenden.
@nooby: Nein wohl kaum, dafür würde eindeutig zu viel fehlen. Schau dir doch mal an was Du da bekommst. Also was für einen Datentyp. Und dann den Inhalt. Woher kommt Dir der bekannt vor? Falls der Dir gar nicht bekannt vorkommt, fang doch einfach mal an die Dokumentation zu lesen. Sinnvollerweise startest Du bei dem Modul das Du da verwendest.
Edit: Die `dir()`- und die `vars()`-Funktion könnte beim untersuchen der beteiligten Objekte auch interessant sein.
Edit: Die `dir()`- und die `vars()`-Funktion könnte beim untersuchen der beteiligten Objekte auch interessant sein.
@nooby: Der direkte weg wäre ``import sys; sys.system('cat')``. Wo hast Du den Code denn her? Daraus sollte sich der Sinn eigentlich ergeben.
@nooby: Da dann weisst Du doch warum nicht einfach `re.sys`. Das wird dann wohl nicht zulässig sein.
@nooby: das soll demonstrieren, dass man keinen Code aus nicht vertrauenswürdigen Quellen einfach so mit exec ausführen darf, auch wenn, z.B. nur die search-Methode direkt zugreifbar ist, weil man eben über die Attribute dieser Methode an alle Funktionen herankommt, auch an os.system.