Security vendor Imperva has identified an access-control vulnerability in DWR, Java Open Source AJAX development framework (stable release 1.1.3 and 2.0), which it says an attacker can use to compromise a DWR based application which may in turn enable him to say break into back-end databases or servers or launch a denial-of-service-attack. Imperva vendeur de sécurité a identifié un contrôle d'accès vulnérabilité dans DWR, Java Open Source AJAX cadre de développement (version stable 1.1.3 et 2.0), dont il est dit un attaquant peut utiliser pour un compromis DWR application mai qui, à son tour, lui permettre de dire pause en arrière-plan des bases de données ou les serveurs ou de lancer un déni de service-attaque.

On a positive note Imperva commented that DWR, AJAX Web application development framework, is Sur une note positive Imperva a fait observer que DWR, AJAX application Web cadre de développement, est
“emerging as the lingua franca for building new generation Web 2.0 applications” "Apparaissent comme la lingua franca pour la construction de nouvelles génération d'applications Web 2,0" :)

Forceful Method Invocation Attacks Méthode force invocation attaques
The key issue is how DWR restricts access to not exposed class methods. La question essentielle est de savoir comment DWR restreint l'accès à pas exposé les méthodes de classe. DWR 1.1.3 provides a configuration option that forbids the invocation of class methods. DWR 1.1.3 prévoit une option de configuration qui interdit l'invocation des méthodes de classe. This exclusion can be applied to some or all of a class’s methods, and it is configured in the dwr.xml file. Cette exclusion peut être appliqué à une partie ou la totalité d'une classe de méthodes, et il est configuré dans le fichier dwr.xml. DWR 2.0 adds an additional configuration option that includes JAVA code annotations. DWR 2,0 ajoute une option de configuration supplémentaires qui comprend les annotations du code JAVA. However, both methods enforce their restrictions only on the client side. Toutefois, les deux méthodes appliquer leurs restrictions seulement sur le client. Therefore, by manipulating HTTP requests through a proxy, excluded methods can be invoked. Par conséquent, par la manipulation de requêtes HTTP à travers un proxy, exclus méthodes peuvent être invoquées. This also applies to public methods that are inherited from super classes. Cette disposition s'applique également aux méthodes qui sont héritées du super classes.

As a consequence of the above vulnerability restricted operations may be unintentionally exposed to web users. Comme une conséquence de ce qui précède vulnérabilité restreint les opérations de mai être involontairement exposés sur le web.

Solution Solution
The solution is simple for application developers. La solution est simple pour les développeurs d'applications. Simply mark the methods that you don’t want to expose as private or protected. Il suffit de marquer les méthodes que vous ne voulez pas exposer privées ou protégées. Anyone not doing so already should be expelled from Java world for lacking the minimum concepts of object oritented development Tout le monde ne le fait pas déjà devraient être expulsés de Java monde pour qui ne possède pas le minimum de notions de développement objet oritented :)

You can also use a Proxy to expose certain methods only. Vous pouvez également utiliser un proxy pour exposer certaines méthodes.

On DWR’s side the solution would be to enforce the same restrictions on server side too, isn’t it elementary Dr. Watson? Le DWR côté de la solution serait d'appliquer les mêmes restrictions sur le serveur côté aussi, n'est-ce pas élémentaire Dr Watson?