Waraxe IT Security Portal  
  Login or Register
::  Home  ::  Search  ::  Your Account  ::  Forums  ::   Waraxe Advisories  ::  Tools  ::
June 16, 2019
Menu
 Home
 Logout
 Discussions
 Forums
 Members List
 IRC chat
 Tools
 Base64 coder
 MD5 hash
 CRC32 checksum
 ROT13 coder
 SHA-1 hash
 URL-decoder
 Sql Char Encoder
 Affiliates
 y3dips ITsec
 Md5 Cracker
 User Manuals
 AlbumNow
 Content
 Content
 Sections
 FAQ
 Top
 Info
 Feedback
 Recommend Us
 Search
 Journal
 Your Account



User Info
Welcome, Anonymous
Nickname
Password
(Register)

Membership:
Latest: RodgerEnhal
New Today: 0
New Yesterday: 0
Overall: 9144

People Online:
Visitors: 269
Members: 0
Total: 269
PacketStorm News
Currently there is a problem with headlines from this site
[waraxe-2004-SA#011] - Multiple vulnerabilities in MS Analysis v2.0 module for PhpNuke





Author: Janek Vind "waraxe"
Date: 22. March 2004
Location: Estonia, Tartu



Affected software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From copyright.php:

MS Analysis module for PHP-Nuke

Module's Name: MS Analysis
Module's Version: v2.0 - No Options
Module's Description: This script analyses all incoming 'traffic' and stores all
properties of a member/visitor. It is in fact an extended
version of PHP-Nuke Statistics.
License: GNU/GPL
Author's Name: Maty Scripts
Author's user_email: webmaster@matyscripts.com
Homepage: http://www.matyscripts.com/


Vulnerabilities:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Full path disclosure



All the files in "scripts" directory, for example:

http://localhost/nuke70/modules/MS_Analysis/scripts/browsers.php

and we get standard error message, revealing full path:

Fatal error: Call to undefined function: is_admin() in D:apache_wwwroot
uke70modulesMS_Analysisscriptsrowsers.php on line 3

Other php files are directly callable too, for example:

http://localhost/nuke70/modules/MS_Analysis/mstrack.php
http://localhost/nuke70/modules/MS_Analysis/title.php

and we can see the full path in standard php error messages.




2. Cross-Site Scripting aka XSS



There are many possible XSS bugs, including:

http://localhost/nuke70/modules.php?name=MS_Analysis&file=index&op=MSAnalysisGeneral&screen=>[xss code here]&overview=1&sortby=

http://localhost/nuke70/modules/MS_Analysis/title.php?module_name=>[xss code here]

http://localhost/nuke70/modules.php?name=MS_Analysis&file=index&op=MSAnalysisGeneral&screen=3&overview=1&sortby=>[xss code here]

http://localhost/nuke70/modules.php?name=MS_Analysis&file=index&op=MSAnalysisGeneral&screen=13&overview=>[xss code here]&sortby=




3. sql injection in search words analyzing code


-----------------------------------------------------------------------------
Let's look at original code, function MSAGetSearchWords() from class.dynamicadd.php:

...

function MSAGetSearchWords( $sestring, $onlyhost, $search_store )
{
global $MSSearchEngines;
$searchwords = "";
foreach( $MSSearchEngines as $key=>$value ) {
if( eregi( $key, $onlyhost ) ) {
$asestring = explode( "&", $sestring );
for( $j = 0; $j < sizeof( $asestring ); $j++ )
{
$asestring[ $j ] = ereg_replace ('amp;', '', trim( $asestring[ $j ] ) );
$fquery = explode( "=" , $asestring[ $j ] );
if( $fquery[ 0 ] == $value ) {
$searchwords = trim(strtolower(urldecode( $fquery[ 1 ] ) ) );
$searchwords = str_replace( """, "", $searchwords );
if( $search_store ) $searchwords = str_replace( "+", " ", $searchwords );
break;
}
} // END sizeof( $asestring )
} // END eregi
}
return( $searchwords );
} // END Function

}

...



So, this code uses the php function "urldecode()":

$searchwords = trim(strtolower(urldecode( $fquery[ 1 ] ) ) );


Hmm, what if we deliver here "%27"? In such way we can get single quote and bypass the "magic quotes".
Let's look, how "$searchwords" will be processed further:

...

if( $this->IsSearchEngine( $MSAreferral ) == 1 ) {
$searchwords = $this->MSAGetSearchWords( $MSArefstr, $MSAreferral, $search_store );
if( $searchwords != "" ) {
if( $search_store ) {
$searchwords = explode( " ", $searchwords );
for( $i = 0; $i < sizeof( $searchwords ); $i++ )
{
$sw = trim( $searchwords[ $i ] );
if( $sw != "" ) {
$result = $db->sql_query( "select words from $prefix"._msanalysis_search." where words = '$sw'" );
if( $db->sql_numrows( $result ) == 0 ) { $db->sql_query( "insert into $prefix"._msanalysis_search." ( words, hits, today, hitstoday, xdays, hitsxdays ) values ( '$sw', '1', '$MSAslogdate', '1', '$xdate', '1' )" ); }
else { $db->sql_query( "update $prefix"._msanalysis_search." set hits=hits+1, today='$MSAslogdate', hitstoday=hitstoday+1, hitsxdays=hitsxdays+1 where words = '$sw'" ); }
$db->sql_freeresult( $result );
}
}
}
else {

...


Yeah, i can't see "addslashes()" anywhere! So sql injection is possible!!

How to exploit this security flaw in practice? First, we must use the "refferer" field in http
request, so using of the perl script is needed (of course, php or any other language can be used too).
Second, as we don't have any visual feedback here, we must use "blind method" through UNION keyword.
Example of that method can be found in "[waraxe-2004-SA#003] - SQL injection in Php-Nuke 7.1.0".
And here is the typical "referer" field from attacker's http request:

"http://www.google.com/search?q=Maty+Scripts%27UNION SELECT pwd from nuke_authors where name%3d%27God%27 AND IF(mid(pwd,1,1)%3d3,benchmark(150000,md5(1337)),1)/*"

Anyone with some knowledge of the php, sql and perl can write exploit script with ease, so i don't
give the full source code of the exploit here ;)




Greetings:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Greets to torufoorum staff and to all IT security related people in Estonia! Tervitused!
Special greets to ulljobu!


Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

come2waraxe@yahoo.com
Janek Vind "waraxe"

---------------------------------- [ EOF ] ------------------------------------









Copyright © by Waraxe IT Security Portal All Right Reserved.

Published on: 2005-01-06 (4266 reads)

[ Go Back ]
Top members by posts
waraxe  waraxe - 2407
vince213333  vince213333 - 737
pexli  pexli - 665
Mullog  Mullog - 539
demon  demon - 485
shai-tan  shai-tan - 477
LINUX  LINUX - 404
Cyko  Cyko - 375
tsabitah  tsabitah - 328
y3dips  y3dips - 281
SecurityFocus
·Vuln: Oracle Java SE CVE-2015-4860 Remote Security Vulnerability
·Vuln: Oracle Java SE CVE-2015-4872 Remote Security Vulnerability
·Vuln: Oracle Java SE CVE-2015-4911 Remote Security Vulnerability
·Vuln: Oracle Java SE CVE-2015-4903 Remote Security Vulnerability
·Bugtraq: [SECURITY] [DSA 3413-1] openssl security update
·Bugtraq: [SECURITY] [DSA 3412-1] redis security update
·Bugtraq: [security bulletin] HPSBGN03525 rev.1: HP Performance Center Virtual Table Server, Remote Code Execution
·Bugtraq: ESA-2015-171 EMC NetWorker Denial-of-service Vulnerability
·More rss feeds from SecurityFocus

read more...
alexa



ATI Radeon reviews
All logos and trademarks in this site are property of their respective owner. The comments and posts are property of their posters, all the rest (c) 2004-2013 Janek Vind "waraxe"
Page Generation: 0.054 Seconds