Document Title: =============== KWSPHP CMS v1.6.995 - Persistent Cross Site Scripting Web Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1867 Release Date: ============= 2016-07-01 Vulnerability Laboratory ID (VL-ID): ==================================== 1867 Common Vulnerability Scoring System: ==================================== 3.5 Product & Service Introduction: =============================== KwsPHP fully configurable Site. Our links and official banners. KwsPHP is a CMS (Content Management System or content management system). Discover its major assets as of the installation: an installation of ease via an ergonomic interface, simple and intuitive. You are guided step by step through the installation to find yourself before a true virgin website, ready to be filled according to your wishes. To change your site and add items Space member KwsPHP offers a full range of functions and topics. (Copy of the Vendor Homepage: http://www.kwsphp.org/ ) Abstract Advisory Information: ============================== An independent vulnerability laboratory researcher discovered an application-side vulnerability in the official KWSPHP v1.6.995 content management system. Vulnerability Disclosure Timeline: ================================== 2016-07-01: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== KwsPHP Ltd Product: KwsPHP - Content Management System (Web-Application) 1.6.995 Exploitation Technique: ======================= Remote Severity Level: =============== Medium Technical Details & Description: ================================ A persistent cross site scripting web vulnerability has been discoverd in the official KWSPHP v1.6.995 content management system. The security issue allows remote attackers to inject own malicious script codes on the application-side of the affected service module. The vulnerability is located in the `sql_contact_pseudo` parameter of the `index.php` file within the contact module. Remote attackers and low privileged web-application user accounts are able to inject own malicious script code context as `contact pseudonym` value of the index.php file POST method request. The injection point is the vulnerable contact formular and the execution occurs in the same formular context after the submit POST method request is perfomed. Not only the form itself is wrong encoded, the email that is get send to the contact will be encoded as html which results in a second point of execution. The main issue occurs in the contact formular itself. The security risk of the persistent validation vulnerability is estimated as medium with a cvss (common vulnerability scoring system) count of 3.5. Exploitation of the persistent input validation web vulnerability requires no privileged web-application user account and low or medium user interaction. Successful exploitation of the vulnerability results in session hijacking, persistent phishing, persistent external redirects to malicious source and persistent manipulation of affected or connected application modules. Request Method(s): [+] POST Vulnerable Module(s): [+] Contact Formular Vulnerable File(s): [+] index.php Vulnerable Parameter(s): [+] sql_contact_pseudo Affected Module(s): [+] Contact Formular [+] Email Notify Proof of Concept (PoC): ======================= The persistent input validation web vulnerability can be exploited by remote attackers without privileged user account and with low user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. --- PoC Session Logs [POST] --- Host: http://localhost:8080/ User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:47.0) Gecko/20100101 Firefox/47.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate, br Referer: http://localost/index.php?mod=contact Cookie: PHPSESSID=24dbc6ca1f342ab46690fe39b20ba4b2 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 241 test [+] Method POST [+] sql_contact_pseudo=[SCRIPT CODE INJECTION!]&sql_contact_email=test%40live.fr&sql_contact_objet=d& texte=%3Cp%3Ec%3C%2Fp%3E&contact_copie=non&code_secu=&xss_retour=.%2Findex.php%3Fmod%3Dcontact&contact_envoyer=+Envoyer+ Solution - Fix & Patch: ======================= The vulnerability can be patched by a secure parse and encode of the vulnerable `sql_contact_pseudo` parameter of the index.php file. Restrict the parameter and input field inputs by disallowing the usage of special chars or script code tags. Encode the vulnerable output location with a secure mechanism and filter the entries. Implement a secure exception to prevent further persistent injection attacks. Security Risk: ============== The security risk of the persistent input validation web vulnerability in the contact module is estimated as medium. (CVSS 3.5) Credits & Authors: ================== ZwX - (http://zwx.fr) [ http://www.vulnerability-lab.com/show.php?user=ZwX ] Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data. Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com Contact: admin@xxxxxxxxxxxxxxxxxxxxx - research@xxxxxxxxxxxxxxxxxxxxx - admin@xxxxxxxxxxxxxxxxx Section: magazine.vulnerability-lab.com - vulnerability-lab.com/contact.php - evolution-sec.com/contact Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact (admin@ or research@xxxxxxxxxxxxxxxxxxxxx) to get a ask permission. Copyright © 2016 | Vulnerability Laboratory - [Evolution Security GmbH]™ -- VULNERABILITY LABORATORY - RESEARCH TEAM SERVICE: www.vulnerability-lab.com CONTACT: research@xxxxxxxxxxxxxxxxxxxxx