mirror of
https://github.com/klezVirus/CVE-2021-40444.git
synced 2025-05-09 20:13:31 +01:00
Added CAB-based IE-only attacks, and CAB-less attacks via hybrid RAR and additional URI schemes
This commit is contained in:
parent
31415dbf4e
commit
a0d1b8d4c4
27 changed files with 1376 additions and 55 deletions
51
util/server.py
Normal file
51
util/server.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import argparse
|
||||
import sys
|
||||
from builtins import Exception
|
||||
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
||||
|
||||
from werkzeug.serving import ForkingMixIn
|
||||
|
||||
|
||||
class CORSRequestHandler(SimpleHTTPRequestHandler):
|
||||
def end_headers(self):
|
||||
self.send_header('Access-Control-Allow-Origin', '*')
|
||||
self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
|
||||
self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate')
|
||||
return super(CORSRequestHandler, self).end_headers()
|
||||
|
||||
def do_OPTIONS(self):
|
||||
self.do_GET()
|
||||
|
||||
|
||||
class ForkingHTTPServer(ForkingMixIn, HTTPServer):
|
||||
def finish_request(self, request, client_address):
|
||||
try:
|
||||
request.settimeout(15)
|
||||
# "super" can not be used because BaseServer is not created from object
|
||||
HTTPServer.finish_request(self, request, client_address)
|
||||
except Exception as e:
|
||||
print(f"[-] {e}")
|
||||
|
||||
|
||||
class WebServer:
|
||||
def __init__(self, ip, port):
|
||||
self.ip = ip
|
||||
self.port = port
|
||||
|
||||
def start(self):
|
||||
httpd = ForkingHTTPServer((f'{self.ip}', self.port), CORSRequestHandler)
|
||||
try:
|
||||
httpd.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
httpd.server_close()
|
||||
exit(1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description="Simple CORS Webserver")
|
||||
parser.add_argument("ip", help="Listen address", type=str)
|
||||
parser.add_argument("port", help="Listen port", type=int)
|
||||
args = parser.parse_args()
|
||||
|
||||
server = WebServer(ip=args.ip, port=args.port)
|
||||
server.start()
|
Loading…
Add table
Add a link
Reference in a new issue