Skip to main content

Stored XSS in Wonder CMS- CVE-2017-14522


By- Samrat Das

Hi Readers

Recently in one of my pentest research, I found a CMS " WonderCMS" hosted in github.
Curious to explore its functionalities, I downloaded and set it up in my local system.

After fiddling with the source code, I found that it did not have any kind of security mechanism to filter any user input and accepted and stored in blindly without any sort of input validation

Title of the Vulnerability:  Stored XSS
Common Vulnerability Scoring System: 7.0
Vulnerability Class: Injection
Technical Details & Description: The application source code is coded in a way which allows user input values to be stored and processed by the application.
CVE ID allocated:  CVE-2017-14522
Product & Service Introduction: Wonder CMS 2.3.1
WonderCMS is an open source CMS (Content Management System) built with PHP, jQuery, HTML and CSS (Bootstrap responsive).

WonderCMS doesn't require any configuration and can be simply unzipped and uploaded to your server/hosting provider. All data is saved to a text file (JSON format) which is easily copied, moved, backed up and restored. WonderCMS runs on less than 50 functions and 850 lines of code and 5 files.

Steps to Re-Produce –
1.       Visit the application
2.       Pass any XSS payload into the application user input fields.
3.       The XSS immediately pops up in next screen
4.       Now every time the page is visited, the XSS gets triggered and thus becomes stored XSS


Exploitation Technique: A attacker can perform session hijacking/ remote port scans as well as deface the site via XSS
Severity Level: High
Security Risk:
The presence of such a risk can lead to user data compromise as well as site defacing.

Affected Product Version: 2.3.1
Solution - Fix & Patch: The application code should be configured in such a way, that any random user input be rejected and client and server side validation should be ensured to filter html input and javascript input

Step by step for the attack:







Comments

  1. I have a fancy for your posts and I think they are very good. I can make full use of them to handle with some problems in my life. Articles seems to be written well, so they are easy to understand. Thank you for your sharing.
    sales pop master free
    sales pop master app

    ReplyDelete
  2. Thanks for sharing this wonderful article. :)

    ReplyDelete
  3. i really like this article. nice and good article. yes I'm agree with you,i will share it with others. thanks for sharing the article with us.
    thesis writers in India

    ReplyDelete

Post a Comment

Popular posts from this blog

Web Services/ API Penetration Testing Part - 1

Hi Readers, today we will learn about another interesting part of Penetration Testing, this revolves around Security assessments of web services.
To start with let’s take a look at what web services are made of:
A web service is software composed of standardized XML messaging system.
The benefit of web services are since all of its communication is in XML, they are not restricted to any  operating system or programming languages
They are built on Web services are built on top of open standards such as TCP/IP, HTTP, Java, HTML, and XML.
Anatomy of Web Services
In simple language, any basic web services platform is a combination of XML and HTTP. They can be of: ·SOAP (Simple Object Access Protocol)·UDDI (Universal Description, Discovery and Integration)·WSDL (Web Services Description Language)

How does a Web Service Work
Web services depends on •             XML to tag the data ( as markup and syntax) •             SOAP to transfer a message •             WSDL to describe the availabilit…

Thick Client Penetration Testing Tutorials - Part 3 ( Java Deserialization Exploit to RCE)

Thick Client Penetration Testing – 3 (Java Deserialization Exploit: Remote Code Execution)
Welcome Readers, in the previous two blogs, we have learnt about the various test cases as well as setting up traffic for thick clients using interception proxy. Among the plethora of test cases out here, one particularly interesting is about “Remote Code Execution on thick clients”. For this particular RCE, among one of the thick clients I was testing, it was based on Java Application. While researching possible exploits, I noticed that there are custom deserialization methods in Apache commons-collections which has a particular “reflection logic”. This can be particularly exploited which can lead to remote command injection as well as lethal arbitrary code execution. All applications which are java based and perform serialization/ deserialization with untrusted data to deserialize having “commons-collections” in its classpath can be exploited to run arbitrary code! For starters, let’s cover a few …

Web Services/ API Penetration Testing Part - 2

Web Services and API Penetration Testing Part #2
Welcome readers to Part 2 of Web Services Penetration Testing. In this part, we will take a quick look into the various test cases, tools and method for security testing of Web Services. Black box Web Services Penetration Testing pre-requisite: èWeb Service Description Language (WSDL) file Grey box Web Services Penetration Testing pre-requisite: èSample requests/responses for methods along with WSDL file. Stages of Penetration Testing of Web Service: 1.Information Gathering 2.Black Box 3.Google hacking (using dorks to discover web services for websites hosted over network) 4.UDDI 5.Web Service Discovery (If no WSDL provided) 6.Authentication Type Discovery Testing Methodology: èAutomated Testing Tools ·SoapUI Pro ·OWASP ZAP ·IBM AppScan ·HP Webinspect ·WSBang ·WSMap
èManual Testing Tools ·Soap UI Free ·Burp Suite Pro ·Postman ( with burp) èExtensions: ·SAML Editor ·SAML Encoder / Decoder