alphasec
Python protip 0038
in 𝕏

python -m pyftpdlib -p 21 -w - uruchom anonimowy serwer FTP do zapisu

tty1 · python
$ python -m pyftpdlib -p 21 -w
#Unix#RedTeam#BlueTeam#FTP#Exfil#Python

Oczywiście wcześniej należy upewnić się, że biblioteka pyftpdlib jest zainstalowana, np.:

pip install pyftpdlib

lub

apt install python-pyftpdlib

Biblioteka pyftpdlib umożliwia również implementację własnego serwera FTP. Poniżej przykład prostego skryptu, który sprawdza czy użytkownik próbuje pobrać plik zawierający w nazwie test_ i jeśli tak, wyświetla jego drugą część.

#!/usr/bin/env python
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer

class MyHandler(FTPHandler):
    def ftp_RETR(self, file):
        arr = file.split("/test_")
        if (len(arr) == 2):
            print arr[1]
        self.respond('550 dupa')

def main():
    authorizer = DummyAuthorizer()
    authorizer.add_anonymous(homedir='.')

    handler = MyHandler
    handler.authorizer = authorizer
    server = FTPServer(('', 21), handler)
    server.serve_forever()

if __name__ == "__main__":
    main()

A do czego to się może przydać? A np. do /pl/0039.

Przydatne linki

https://pyftpdlib.readthedocs.io/en/latest/tutorial.html tutorial pyftpdlib web ↗
← poprzedni protip 0037 ••• Wszystkie protipy następny → protip 0039
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: