Heim > PHP-Framework > Denken Sie an PHP > Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

藏色散人
Freigeben: 2020-01-20 14:07:46
nach vorne
5395 Leute haben es durchsucht

01 Hintergrund

Kürzlich veröffentlichte QiAnXin einen Sicherheitsrisikohinweis zu einer Sicherheitslücke bei der „willkürlichen“ Dateierstellung in ThinkPHP 6.0. Als Reaktion darauf analysierte DYSRC die Sicherheitslücke sofort und reproduzierte die Sicherheitslücke erfolgreich.

Schwachstellenumfang: top-think/framework 6.x

02 Standortproblem

Basierend auf der Erstellung beliebiger Dateien und dem aktuellen Commit-Verlauf kann darauf geschlossen werden 1bbe75019 ist der Patch für dieses Problem. Es ist ersichtlich, dass der Patch die Sitzungs-ID darauf beschränkt, nur aus Buchstaben und Zahlen zu bestehen, was das Problem offensichtlicher macht.

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

03 Prinzipanalyse

Lassen Sie uns zunächst die oben genannten Probleme beiseite lassen und einen Blick darauf werfen, wie thinkphp Sitzungen speichert.

Das System definiert die Schnittstelle thinkcontractSessionHandlerInterface

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

Die Methode SessionHandlerInterface::write wird beim Lokalisieren von Sitzungsdaten ausgeführt und das System führt sie am Ende automatisch aus jede Anfrage umsetzen.

Sehen wir uns an, wie die thinksessiondriverFile-Klasse implementiert wird.

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

Generieren Sie zuerst den Dateinamen basierend auf $sessID über getFileName und schreiben Sie dann die Datei mit writeFile.

Folgen Sie getFileName und verketten Sie die eingehende $sessID direkt als Dateinamen. Da $sessID steuerbar ist, ist auch der Dateiname steuerbar.

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

04 Demonstration

An diesem Punkt ist der gesamte Schwachstellenprozess grundsätzlich klar. Die lokalen Demonstrationsergebnisse sind unten aufgeführt.

Die Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf

php Chinesische Website, eine große Anzahl kostenloser Thinkphp-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonDie Sicherheitslücke bei der Erstellung willkürlicher Dateien in thinkphp6 tritt erneut auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:斗鱼安全应急响应中心
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage