Sicherheitstools Phyton

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Über den Übergang

  • Kali Linux ist vollständig auf Python 3 umgestiegen.
  • Das bedeutet, dass jedes von Kali gepackte Tool, das Python 2 verwendet hat, entweder gelöscht oder für die Verwendung von Python 3 konvertiert wurde.
  • Jedes Tool, das auf Python 3 konvertiert wurde, enthält nur Skripte mit /usr/bin/python3 als shebang.
  • In Bezug auf die Pakete, die direkt von Debian kommen, haben sie bei den meisten Paketen dasselbe getan,
  • Es gibt aber einige Ausnahmen, bei denen Pakete weiterhin auf Python 2 angewiesen sein dürfen.
  • Diese Pakete wurden jedoch aktualisiert, sodass alle ihre Skripte /usr/ verwenden.
  • bin/python2 als ihr Shebang und damit sie vom python2-Binärpaket (anstelle des früheren Python) abhängen.
  • Dank dieser Änderungen muss Debian nicht mehr /usr/bin/python bereitstellen, und die jüngsten Upgrades werden diesen Symlink effektiv entfernen.
  • Wenn Sie ein Python-Skript aus dem Internet herunterladen, wird es leider wahrscheinlich /usr/bin/python als Shebang haben.
  • Wenn Sie versuchen, es auszuführen, ohne die Shebang-Linie zu reparieren, erhalten Sie am Ende einen Fehler wie diesen:
  • zsh: /home/kali/test.py: bad Interpreter: /usr/bin/python: keine solche Datei oder Verzeichnis
  • In Debian können Sie den symbolischen Link /usr/bin/python wiederherstellen, indem Sie Folgendes installieren:
  • python-is-python2 wenn Sie möchten, dass es auf python2 zeigt
  • python-is-python3 wenn Sie möchten, dass es auf python3 zeigt

Abwärtskompatibilität in Kali beibehalten

  • Angesichts der großen Anzahl von Benutzern, die nicht wissen, wie man den obigen Fehler vermeidet, haben wir entschieden, dass Kali weiterhin standardmäßig Python 2 ausliefert
  • (solange Debian es noch bereitstellt) und dass /usr/bin/python darauf verweisen würde .
  • Wir behalten auch einige gängige externe Module (wie Anfragen) bei, damit zufällige Exploit-Skripte eine angemessene Chance haben, erfolgreich ausgeführt zu werden.
  • Pip für Python2 (alias python-pip) ist jedoch weg, /usr/bin/pip ist dasselbe wie /usr/bin/pip3 und es werden Module für Python 3 installiert.
  • Diese Kompatibilität wurde implementiert, indem kali-linux-headless python2, python-is-python2 und offsec-awae-python2 empfiehlt.
  • Sodass sie standardmäßig installiert werden, während sie von Benutzern entfernt werden können, die sie loswerden möchten.
  • Um Benutzer auf diese Situation aufmerksam zu machen, zeigen wir beim Anmelden eine Aufforderungsmeldung an:
┏━(Message from Kali developers)
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/
┃
┗━(Run “touch ~/.hushlogin” to hide this message)
  • Die Hoffnung ist, dass sie diesen Artikel lesen und wissen, wie sie mit den verschiedenen Problemen umgehen, denen sie begegnen werden.

Häufig gestellte Fragen

  • Ich habe ein Python-Skript heruntergeladen, was soll ich tun?
  • Sie müssen seine Shebang-Linie inspizieren.
  • Die Shebang-Zeile ist die erste Zeile eines Skripts und beginnt mit #! gefolgt vom Pfad des Interpreters, der zum Ausführen des Skripts verwendet wird.
  • Wenn der Interpreter /usr/bin/python ist, sollten Sie die Dokumentation lesen, um zu sehen, ob das Skript mit Python 3 ausgeführt werden kann.
  • Wenn ja, sollten Sie die Shebang-Zeile so aktualisieren, dass sie auf /usr/bin/python3 zeigt.
  • Andernfalls sollten Sie es so aktualisieren, dass es auf /usr/bin/python2 zeigt.

Quelle