Tuesday, May 10, 2011

Apache Struts 2, XWork, WebWork ... Reflected XSS Vulnerabilities



The recently released Apache Struts 2.2.3 framework includes fixes for two reflected XSS vulnerabilities.


User provided data is not
properly escaped before being included in XWork generated errors, thus allowing successful reflected XSS attacks as described in MVSA-11-006 security advisory.

NOTE: Other open source projects and commercial products relying on XWork framework could be vulnerable to attacks similar to the ones described in this post.


NOTE:
WebWork framework released by OpenSymphony (http://opensymphony.org) was already confirmed as vulnerable to reflected XSS attacks using similar vectors.


1. XSS payload injected in the name of the requested Struts actions


Preconditions:

  • no declarative error handling rule is defined in struts.xml using <global-exception-mappings> tag
Test case:

http://test.app1.net/login%3Cimg%3E.action

HTML source code for the error displayed (HTTP response Content-Type is text/html):

There is no Action mapped for namespace / and action name login<img>.


This allows successful reflected XSS attacks by injecting malicious scripting code into the name of requested Struts actions.


2. Reflected XSS vulnerabilities in with DMI enabled


Preconditions:

  • no declarative error handling rule is defined in struts.xml using tag
  • Dynamic Method Invocation is enabled (this is enabled by default)
  • bash syntax is used in JSP via tag for calling Struts actions and methods
  • the requested method is not matching an existing one already defined in the Struts action implementation class
  • the requested action is not matching an existing one already defined in struts.xml
Example of <s:submit> tag usage with JSP:

<body>
...
<form name="loginform" id="loginform" method="post" action="">
...
<s:submit action="login" method="cantLogin" name="cantlogin" key="cantlogin" />
...
</form>
...
</body>


2.1 Test case - XSS payload is injected in action attribute of
<s:submit> tag

http://test.app.net/home.html?user=&password=
&action!login%3cscript%3ealert(document.cookie)%3c/script%3e:cantLogin=some_name

HTML source code for the error displayed (HTTP response Content-Type is text/html):

There is no Action mapped for namespace / and action name login<script>alert(document.cookie)</script>.


NOTE: Without proper output escaping for the invoked action (which is controlled by the user), the injected malicious scripting code is executed by the browser (the HTTP response's content-type header is set to text/html).

This allows successful reflected XSS attacks using <s:submit> tag.


2.2 Test case - XSS payload is injected in method attribute of
<s:submit> tag

http://test.app.net/home.html?user=&password=&action!login:cantLogin
%3cscript%3ealert(document.cookie)%3c/script%3e=some_name

HTML source code for the error displayed (HTTP response Content-Type is text/html):

some_path.action.LoginAction.cantLogin<script>alert(document.cookie)</script>()

NOTE: Without proper output escaping for the invoked method (which is controlled by the user), the injected scripting code will be executed by the browser (the HTTP response's content-type header is set to text/html).

This allows successful reflected XSS attacks using <s:submit> tag.

UPDATED (2011-05-18): The returned error also exposes internal paths for the Java class implementing the action for which we manipulate the method to be called (LoginAction in this case).
This issue is documented by MVSA-11-007 security advisory.

WebWork framework seems to be vulnerable to similar attacks. However, since the project is not actively maintained (being replaced by Apache Struts 2), there might be an option to look into building the project from source and to include similar fixes to those suggested for XWork
com.opensymphony.xwork2.DefaultActionProxy class patched in Struts 2.2.3 (details available at https://issues.apache.org/jira/browse/WW-3579).



25 comments:

  1. La maladie du vih au cours des 3 dernières années et des douleurs difficiles à manger et la toux sont des cauchemars, en particulier la première année. À ce stade, le système immunitaire est sévèrement affaibli et le risque de contracter des infections opportunistes est beaucoup plus grand. Cependant, tous les séropositifs ne développeront pas le sida. J'ai commencé à prendre des antirétroviraux pour éviter une mort prématurée, mais je croyais en Dieu qui me guérirait un jour. En tant que brevet pour le VIH, nous vous conseillons de prendre des traitements antirétroviraux pour réduire nos chances de transmission du virus à d'autres personnes, il y a quelques semaines, je suis allé à la recherche sur Internet si je pouvais obtenir des informations sur le traitement du VIH par la phytothérapie. Sur ma recherche, j'ai vu le témoignage d'une personne qui avait été guérie du VIH et qui s'appelait Achima Abelard. et un autre brevet concernant le virus de l'herpès, Tasha Moore, qui a également témoigné au sujet de ce même homme, appelé le Dr Itua Herbal Center. J'ai été ému par le témoignage et je l'ai contacté par son adresse Email.drituaherbalcenter@gmail.com OU info@drituaherbalcenter.com. Nous avons bavardé et il m'a envoyé une bouteille de médicament à base de plantes. Je l'ai bu comme il me l'avait demandé. Après l'avoir bu, il me demande de passer un test pour savoir comment j'ai mis fin à ma vie de souffrance du brevet relatif au VIH, je suis guéri et exempt d'arv. Je lui suis toujours reconnaissant Drituaherbalcenter.Voici son numéro de contact: +2348149277967 ... Il m'assure qu'il peut guérir la maladie suivante..Vers, Cancer, Herpès Virus, Hpv, Pile, Erection faible, Maladie de Lyme, Epilepsie, Glaucome., Tumeur cérébrale, psoriasis, Cataractes, Dégénérescence maculaire, Maladie cardiovasculaire, Diarrhée chronique, Maladie pulmonaire. Augmentation de la prostate, Ostéoporose.Alzheimer,
    Démence. , Cancer de la vessie, Autisme, Cancer colorectal, Cancer du sein, Cancer du rein, Leucémie, Cancer du poumon, Maladie de Tay Tach, Lymphome non hodgkinien, Cancer de la peau, Lupus, Cancer utérin, Cancer de la prostate, Convulsions, Fibromyalgie, SLA, Hépatite, Cops, Parkinson Maladie génétique, Fibrodysplasie, Fibrodysplasie ossifiante progressive, Syndrome de toxicité de la fluoroquinolone, Accident vasculaire cérébral, HPV, Érection faible, Inflammation du foie et des reins, Infertilité masculine / féminine, Maladie intestinale, Maladie de Huntington, Diabète, Fibroïde.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. J'ai été diagnostiqué du virus du VIH 4 ans, et j'ai presque abandonné jamais été guéri parce que j'ai essayé différents médicaments de drogues et injections d'un hôpital à un autre, ils me disent toujours la même chose, il n'y a pas de remède contre le VIH / sida. mes effets pour guérir ont été vains, un jour. Mais je n'abandonne jamais et j'ai commencé à faire mes recherches sur les remèdes à base de plantes contre le VIH / Sida parce que je croyais que la nature avait le pouvoir de guérir toutes les maladies.Au cours de mes recherches, je suis tombé sur un témoignage sur Internet d'une dame appelée Michelle des États-Unis, qui a témoigné sur la façon dont elle avait été guérie du virus VIH de DR JAMES HERBAL MIXED MEDICINE. J'ai douté au début parce que je suis allé dans différents hôpitaux et que de nombreux médecins réputés m'ont dit qu'il n'y avait pas de remède contre le virus du VIH, mais j'ai suscité l'intérêt et j'ai essayé de contacter le Dr James sur son courrier électronique drjamesherbalmix@gmail.com Je lui ai dit mon problème et il a demandé depuis combien de temps j'étais séropositif et quel âge j'avais, et je lui ai dit, il a dit que je ne devrais pas m'inquiéter qu'il me prépare avec son puissant mélange de plantes médicinales qui me guérira du VIH, alors je a décidé de l'écouter et il a commencé son traitement. 2 jours plus tard, il m'a dit que son puissant remède à base de plantes contre le virus du VIH m'a été envoyé par DHL qui m'a été envoyé dans 4 jours. J'ai utilisé le médicament matin et soir comme il me l'avait prescrit pendant 21 jours. J'étais totalement guérie et libérée du VIH / SIDA exactement comme me l'a dit le Dr James. Je suis maintenant libre du virus du VIH, merci beaucoup Dr JAMES HERBAL MIX Medicine.

    La phytothérapie DR James est faite d'herbes naturelles, sans effets secondaires et facile à boire. Si vous avez le même VIRUS du VIH ou tout type de maladie humaine, y compris, un médicament d'arrêt de fausses couches, un mal de dos, un mal de dos, un herpès, un cancer, un cancer de l'ovaire, un cancer du pancréas, un cancer de la vessie, un cancer de la vessie, un cancer de la prostate, un glaucome., Des cataractes, des muscles dégénérescence, maladie cardiovasculaire, autisme, maladie pulmonaire. Prostate élargie, ostéoporose. Maladie d'Alzheimer, psoriasis, lupus
    Démence, cancer du rein, cancer du poumon, cancer de la peau, cancer de la peau et cancer de la peau Cancer du testicule, LEUCÉMIE, VIRUS, HÉPATITE, INFERTILITÉ FEMMES CONTACT EMAIL: drjamesherbalmix@gmail.com WHATSAPP: +2348152855846

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Un petit mot pour informer le grand public que l'ère de l'HÉPATITE est terminée. Le Dr Iyabiye a le remède, il est disponible et j'en témoigne. J'ai vécu avec la maladie pendant des années jusqu'en décembre de l'année dernière lorsque j'ai rencontré quelqu'un qui a été traité et guéri par le médecin, elle m'a donné son contact et je l'ai essayé et ses médicaments ont fonctionné pour moi. Contactez-le maintenant pour obtenir de l'aide; iyabiyehealinghome@gmail.com téléphone + 234-815-857-7300

    ReplyDelete
  7. Ambil gambar Game of Thrones semestinya bisa dilaksanakan di sini: Satu kastil yang istimewa berdiri di atas bukit dengan rimba lebat di satu segi dan taman yang cantik disamping lainnya. Tetapi, Anda harus “berkompetisi” memperoleh spot-spot terhebat dengan beberapa photografer profesional. https://jelajah-indonesia.net/ Ada banyak sekali sesion photo pernikahan yang berjalan di sini.

    ReplyDelete