Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hak5
GitHub Repository: hak5/usbrubberducky-payloads
Path: blob/master/payloads/library/exfiltration/ExfiltrateWindowsCredentials/NetworkMedium/server.py
2971 views
1
#!/usr/bin/env python
2
import os
3
import http.server as server
4
5
class HTTPRequestHandler(server.SimpleHTTPRequestHandler):
6
# Handle file upload via PUT request
7
def do_PUT(self):
8
name = os.path.basename(self.path)
9
10
length = int(self.headers['Content-Length'])
11
r = 0
12
with open(name, 'wb+') as file:
13
while r < length:
14
n = self.rfile.read(min(66556, length - r))
15
r += len(n)
16
file.write(n)
17
self.send_response(201, 'Created')
18
self.end_headers()
19
reply_body = f'Saved {name}\n'
20
self.wfile.write(reply_body.encode('utf-8'))
21
22
# Prevent file download
23
def do_GET(self):
24
self.send_response(404, 'Not Found')
25
self.end_headers()
26
self.wfile.write(b'')
27
28
if __name__ == '__main__':
29
server.test(HandlerClass=HTTPRequestHandler)
30