Skip to Content
Dismiss
Innovazione
Una piattaforma creata per l'AI

Unificata, automatizzata e pronta a trasformare i dati in intelligence.

Scopri come
Dismiss
16-18 giugno, Las Vegas
Pure//Accelerate® 2026

Scopri come trarre il massimo dai tuoi dati. 

Registrati ora

Che cos'è l'iniezione del linguaggio di espressione?

L'iniezione di codice è una vulnerabilità critica che consente a terze parti di eseguire il codice sul software lato server. L'iniezione del linguaggio di espressione è un tipo di esecuzione remota del codice che divulga i dati sensibili dal server. Il codice remoto esegue e visualizza variabili, password, funzioni o codice. Nel peggiore dei casi, può dare a un utente malintenzionato il controllo remoto del server.

Che cos'è l'iniezione del linguaggio di espressione?

L'iniezione del linguaggio di espressione è una vulnerabilità che colpisce JavaServer Pages (JSP), Active Server Pages (ASP) e altri linguaggi di espressione ospitati su un server web. Questi linguaggi sono linguaggi interpretati, pertanto qualsiasi codice inviato al server viene compilato durante il runtime dell'applicazione, a differenza dei linguaggi compilati standard con file eseguibili binari. In un linguaggio interpretato, il codice viene compilato sul server quando un utente effettua una richiesta per una pagina.

Quando un'applicazione di linguaggio di espressione (EL) è vulnerabile all'iniezione del linguaggio di espressione, un utente malintenzionato invia il codice creato all'applicazione come input, nella stringa di query o in un oggetto di forma. Il codice viene compilato in runtime e può quindi visualizzare variabili, password e altre informazioni sensibili. Le vulnerabilità EL sono comuni nelle versioni obsolete dei linguaggi interpretati, pertanto le applicazioni legacy devono essere sottoposte a test di penetrazione prima di essere distribuite in produzione. Dopo un evento critico, le organizzazioni hanno bisogno di piani di disaster recovery per correggere la divulgazione e gli exploit dei dati.

Come funziona Expression Language Injection

Tutte le applicazioni che eseguono un linguaggio interpretato devono eliminare codice e caratteri speciali dall'input. Senza l'input di scrubbing, l'applicazione accetta il codice ed esegue il codice sul server. La maggior parte delle vulnerabilità delle iniezioni EL coinvolge JSP, quindi utilizzeremo il codice JSP nell'esempio seguente. Lo snippet riportato di seguito è un esempio di una singola riga di codice vulnerabile all'iniezione EL:

<spring:message code="${param['message']}" text=""/>

In questo esempio, l'attributo di codice assume un parametro contenente una stringa. Se un utente malintenzionato inserisce il codice nel parametro, verrà compilato ed eseguito sul server. Gli utenti non vedono questo codice nella pagina web locale, quindi gli autori degli attacchi utilizzano script comuni per individuare le vulnerabilità dell'iniezione EL.

Vulnerabilità comuni che portano all'iniezione del linguaggio di espressione

Analogamente a qualsiasi vulnerabilità all'iniezione, la vulnerabilità all'iniezione EL deriva da nessuna convalida dell'input sull'applicazione server. Utilizzando lo stesso esempio di cui sopra, la stringa di messaggi potrebbe essere una stringa di caratteri innocente, ma potrebbe anche essere un codice. Invece di inviare una stringa innocente, supponiamo che l'utente abbia inviato quanto segue:

${"aaaa".toString().concat(T(java.lang.Runtime).getRuntime().exec('ls -l'))}

L'input di cui sopra tenta di eseguire il comando di sistema "ls -l" sul server. Questo comando elenca i file e le directory nella directory corrente. Con un elenco di file, un utente malintenzionato potrebbe quindi tentare di inviare un altro comando per aprire e visualizzare il contenuto di un file nella propria finestra. Un file potrebbe contenere dati sensibili come le password. Da lì, l'autore dell'attacco potrebbe accedere al server ed eseguire ulteriori azioni dannose.

Rilevamento dell'iniezione del linguaggio di espressione

I test di penetrazione, sia di tipo white box che di tipo black box, rilevano le vulnerabilità dovute all'iniezione di EL. Il white box test è un metodo in cui i professionisti della sicurezza esaminano il codice per rilevare eventuali vulnerabilità. Le aziende forniscono il codice ai revisori della sicurezza e i revisori identificano tutte le vulnerabilità del codice in un report. Si tratta di un approccio proattivo comune alla data protection.

I test di penetrazione Black Box utilizzano la stessa forma di scansioni e rilevamento delle vulnerabilità di un utente malintenzionato. I professionisti della sicurezza attaccano l'applicazione senza conoscerne il codice, quindi è possibile testare qualsiasi convalida o difesa. I test con caselle grigie sono un mix di test con caselle nere e con caselle bianche ed è spesso un metodo scelto per le applicazioni web di test di penetrazione.

Prevenzione dell'iniezione del linguaggio di espressione

Il modo migliore per rilevare gli attacchi di iniezione EL è convalidare il codice e rimuovere l'input con caratteri specifici. Ad esempio, l'immissione di un campo nome non deve contenere <” or “>caratteri "". Gli sviluppatori devono utilizzare librerie create per rilevare questi caratteri, rimuoverli o rilasciare l'input e visualizzare un errore per l'utente.

Anche altri caratteri possono essere dannosi. In una pagina JSP, i frammenti di codice iniziano con i <%” characters and end with the “%>caratteri "". Questi caratteri insieme devono essere rimossi dall'input. Gli autori degli attacchi eseguiranno numerose combinazioni di codice dannoso per bypassare il rilevamento, quindi il modo migliore per rilevarlo è utilizzare una libreria creata per la convalida degli input. Le applicazioni SIEM possono anche rilevare gli exploit e fornire analytics se la tua applicazione è una destinazione.

Conclusione

Le vulnerabilità dell'iniezione EL devono essere considerate come problemi di sicurezza critici. Fai sempre testare le tue applicazioni linguistiche interpretate per rilevare eventuali vulnerabilità dovute all'iniezione e altre vulnerabilità che potrebbero divulgare dati sensibili. Gli sviluppatori devono utilizzare strumenti di convalida per rilevare e arrestare l'iniezione EL e le applicazioni legacy che utilizzano JSP e ASP devono essere attentamente monitorate per rilevare eventuali attacchi.

Pure Storage dispone dell'infrastruttura di sicurezza e del monitoraggio delle minacce necessari per proteggere le applicazioni dagli attacchi alla sicurezza.

Potrebbe interessarti anche...

03/2026
The Enterprise AI Guidebook
From data sovereignty to ai factories, discover the hidden challenges of scaling AI and how to overcome them.
eBook
7 pages

Esplora risorse ed eventi principali

TRADESHOW
Pure//Accelerate® 2026
June 16-18, 2026 | Resorts World Las Vegas

Preparati all'evento più importante a cui parteciperai quest'anno.

Registrati ora
DEMO DI PURE360
Esplora, scopri e prova Pure Storage.

Accedi a video e demo on demand per scoprire i vantaggi che Pure Storage ti offre.

Guarda le demo
VIDEO
Guarda: Il valore di un Enterprise Data Cloud (EDC).

Charlie Giancarlo spiega perché il futuro è nella gestione dei dati, non dello storage. Scopri in che modo un approccio unificato trasforma le operazioni IT aziendali.

Guarda
RISORSA
Lo storage legacy non può alimentare il futuro.

I workload moderni richiedono velocità, sicurezza e scalabilità AI-ready. Il tuo stack è pronto?

Effettua la valutazione
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.

Personalize for Me
Steps Complete!
1
2
3
Personalize your Everpure experience
Select a challenge, or skip and build your own use case.
Strategie di virtualizzazione pronte per affrontare il futuro

Soluzioni di storage per tutte le tue esigenze

Consenti progetti di AI di qualunque dimensione

Storage a performance elevate per pipeline dei dati, formazione e inferenza

Proteggiti dalla perdita dei dati

Soluzioni di resilienza informatica che proteggono i tuoi dati

Riduci i costi delle operazioni su cloud

Storage efficiente dal punto di vista dei costi per Azure, AWS e private cloud

Accelera le performance di applicazioni e database

Storage a bassa latenza per le performance delle applicazioni

Riduci il consumo di energia e di ingombro del data center

Storage efficiente delle risorse per ottimizzare l'utilizzo dei data center

Confirm your outcome priorities
Your scenario prioritizes the selected outcomes. You can modify or choose next to confirm.
Primary
Reduce My Storage Costs
Lower hardware and operational spend.
Primary
Strengthen Cyber Resilience
Detect, protect against, and recover from ransomware.
Primary
Simplify Governance and Compliance
Easy-to-use policy rules, settings, and templates.
Primary
Deliver Workflow Automation
Eliminate error-prone manual tasks.
Primary
Use Less Power and Space
Smaller footprint, lower power consumption.
Primary
Boost Performance and Scale
Predictability and low latency at any size.
What’s your role and industry?
We've inferred your role based on your scenario. Modify or confirm and select your industry.
Select your industry
Financial services
Government
Healthcare
Education
Telecommunications
Automotive
Hyperscaler
Electronic design automation
Retail
Service provider
Transportation
Which team are you on?
Technical leadership team
Defines the strategy and the decision making process
Infrastructure and Ops team
Manages IT infrastructure operations and the technical evaluations
Business leadership team
Responsible for achieving business outcomes
Security team
Owns the policies for security, incident management, and recovery
Application team
Owns the business applications and application SLAs
Describe your ideal environment
Tell us about your infrastructure and workload needs. We chose a few based on your scenario.
Select your preferred deployment
Hosted
Dedicated off-prem
On-prem
Your data center + edge
Public cloud
Public cloud only
Hybrid
Mix of on-prem and cloud
Select the workloads you need
Databases
Oracle, SQL Server, SAP HANA, open-source

Key benefits:

  • Instant, space-efficient snapshots

  • Near-zero-RPO protection and rapid restore

  • Consistent, low-latency performance

 

AI/ML and analytics
Training, inference, data lakes, HPC

Key benefits:

  • Predictable throughput for faster training and ingest

  • One data layer for pipelines from ingest to serve

  • Optimized GPU utilization and scale
Data protection and recovery
Backups, disaster recovery, and ransomware-safe restore

Key benefits:

  • Immutable snapshots and isolated recovery points

  • Clean, rapid restore with SafeMode™

  • Detection and policy-driven response

 

Containers and Kubernetes
Kubernetes, containers, microservices

Key benefits:

  • Reliable, persistent volumes for stateful apps

  • Fast, space-efficient clones for CI/CD

  • Multi-cloud portability and consistent ops
Cloud
AWS, Azure

Key benefits:

  • Consistent data services across clouds

  • Simple mobility for apps and datasets

  • Flexible, pay-as-you-use economics

 

Virtualization
VMs, vSphere, VCF, vSAN replacement

Key benefits:

  • Higher VM density with predictable latency

  • Non-disruptive, always-on upgrades

  • Fast ransomware recovery with SafeMode™

 

Data storage
Block, file, and object

Key benefits:

  • Consolidate workloads on one platform

  • Unified services, policy, and governance

  • Eliminate silos and redundant copies

 

What other vendors are you considering or using?
Thinking...
Your personalized, guided path
Get started with resources based on your selections.