Venerdi 23 Ottobre 2026 14:52:12 GMT+02:00

Netcrook

HomeManifesto
News
Techcrook
Geocrook
WikicrookTeamAppContatti
ItalianoEnglish

WIKICROOK

OGNL

Un linguaggio di espressioni Java usato da Struts che può diventare pericoloso se input non attendibile raggiunge la valutazione delle espressioni.

OGNL (Object-Graph Navigation Language) è un linguaggio di espressioni Java usato da Apache Struts per leggere e impostare proprietà degli oggetti, chiamare metodi e valutare espressioni dinamiche. È potente per costruire applicazioni web flessibili, ma diventa rischioso quando input controllato dall'attaccante viene inserito nella valutazione delle espressioni.

In un'applicazione Struts, OGNL viene spesso utilizzato dietro i tag, il mapping delle azioni e il data binding. Se un'applicazione consente a testo non attendibile di raggiungere un contesto OGNL, un attaccante può tentare un'iniezione di espressioni per accedere a oggetti inattesi o eseguire metodi pericolosi, il che può portare a esecuzione di codice remoto o esposizione di dati. I difensori riducono questo rischio aggiornando Struts, evitando percorsi di richiesta deprecati o legacy, limitando la valutazione dinamica e convalidando o rifiutando l'input prima che raggiunga le parti interne del framework. In pratica, OGNL non è il problema di per sé; il pericolo deriva dal fidarsi dell'input dell'utente all'interno di un linguaggio progettato per essere eseguibile.

← indice WIKICROOK