Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reflected Cross Site scripting Vulnerability in Evolution CMS 2.0.x #1043

Open
prasadlingamaiah opened this issue Mar 22, 2019 · 2 comments
Open
Assignees
Labels

Comments

@prasadlingamaiah
Copy link

prasadlingamaiah commented Mar 22, 2019

Reflected Cross Site scripting Vulnerability

Description:
The second and the most common type of XSS is Reflected XSS (Non-persistent XSS). In this case, the attacker’s payload has to be a part of the request that is sent to the web server. It is then reflected back in such a way that the HTTP response includes the payload from the HTTP request. Attackers use malicious links, phishing emails, and other social engineering techniques to lure the victim into making a request to the server. The reflected XSS payload is then executed in the user’s browser.

Reflected XSS is not a persistent attack, so the attacker needs to deliver the payload to each victim. These attacks are often made using social networks.

Login to application
1 login page

Goto the Document Manager and view the list of documents
domule location docs

there is a search perimeter insert xss payload as <ScRipT>alert("XSS");</ScRipT>
search parameter

Effected URL
https://20.0.0.143/evolution-2.0.x/manager/#?a=112&id=1
1 Documents location

Mitigation:

Output encoding: It is recommended to implement ‘output encoding’ to convert untrusted input into a safe form where the input is displayed as data to the user without executing as code in the browser. Java HTML encoding Function public static String HTMLEncode(String aTagFragment){      final StringBuffer result = new StringBuffer();      final StringCharacterIterator iterator = new                                     StringCharacterIterator(aTagFragment);      char character =  iterator.current();      while (character != StringCharacterIterator.DONE )      {        if (character == '<')  result.append("<");        else if (character == '>') result.append(">");        else if (character == '"')  result.append(""");        else if (character == ''')  result.append("'");        else if (character == '\') result.append("\");        else if (character == '&')  result.append("&");        else {             //the char is not a special one             //add it to the result as is             result.append(character);        }        character = iterator.next();      }      return result.toString();   } •          Escaping: Escape all untrusted data based on the HTML context (body, attribute, JavaScript, CSS, or URL) that the data will be placed into. EASPI API String safe = ESAPI.encoder().encodeForHTML( request.getParameter( "input" ) ); •          Filtering input parameter: Positive or "whitelist" input validation with appropriate canonicalization is the recommended filtering technique. Alternatively, black-list filtering input works by removing some or all special characters from your input. Special characters are characters that enable script to be generated within an HTML stream. Special characters include the following: <> " ' % ; ) ( & + - JavaScript Codefunction RemoveBad(strTemp) {     strTemp = strTemp.replace(/<|>|"|'|%|;|(|)|&|+|-/g,"");     return strTemp; }

While the issue was investigated, there were some backend updates done which apparently automatically mysteriously fixed the issue.

@prasadlingamaiah prasadlingamaiah changed the title Reflected XSS Vulnerability Reflected Cross Site scripting Vulnerability Mar 22, 2019
@AgelxNash AgelxNash self-assigned this Mar 22, 2019
@prasadlingamaiah
Copy link
Author

any update on closing this vulnerability

@prasadlingamaiah prasadlingamaiah changed the title Reflected Cross Site scripting Vulnerability Reflected Cross Site scripting Vulnerability in Evolution CMS 2.0.x Aug 2, 2019
@prasadlingamaiah
Copy link
Author

any update on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants