PHP Web Host - Quality Web Hosting For All PHP Applications Sign up for PayPal and start accepting credit card payments instantly
  Login or Register
 • Home • Downloads • Your Account • Forums • 

View next topic
View previous topic


Google
 
Web RavenPHPScripts (This Site)
Post new topic   Reply to topic
Author Message
providence
Regular
Regular


Joined: Apr 23, 2005
Posts: 95

PostPosted: Mon May 02, 2005 12:59 pm Reply with quote Back to top

I dont get this thing.. what if someone gets my md5 hash does it means that my site will get hacked?
View user's profile Send private message
kguske
Site Admin


Joined: Jun 04, 2004
Posts: 6044

PostPosted: Mon May 02, 2005 2:47 pm Reply with quote Back to top

A quick Google search uncovered the explanation below from the PHP-Nuke website itself (unnecessary portions have been removed). The type of attack described below would be very difficult and time consuming - there are much easier ways to achieve those results. Though there may still be issues with specific modules that do not use standard database access methods, using a security tool like NukeSentinel with HTTP Admin Authentication will significantly help prevent attacks and attempts to gain unauthorized access.

From PHP-Nuke.org:
"In an attempt to prevent scripted bots from either generating new user accounts or attempting brute force password cracking against PHP-Nuke portals, the security graphic had been added.

The process begins within the PHP code to generate a random number. That number is then stored in a URL that is resent to the security image creation engine as the login page is being generated:

modules.php?name=Your_Account&op=gfx&random_num=604071

The security graphic engine takes the random number and makes an MD5 encryption of it concatenated with other elements such as the $sitekey, $datekey, and the member's http_user_agent.

At this point the MD5 hash value is switched over to hexadecimal and stored in a variable whereby at a certain starting point (2 by default) a total of x places are read and stored (by default 6).

A potential security risk exists if the default $sitekey value is not changed because a malicious user can manually map out on a PHP-Nuke portal in a one to one relationship between random_num and the number shown in the image. So long as the following values do not change:

# $sitekey
# $datekey
# $random_num
# HTTP_USER_AGENT

The number shown back in the security image will always be the same. Such a mapping would be tedious to complete manually, but the possibility exists nonetheless.

Out of the four variables above, the user can manipulate only two:

# $random_num
# $HTTP_USER_AGENT

This effectively means that the entire process of mapping out the one to one relationship must occur in a single day due to the $datekey parameter. Each day adds a new value to the hexadecimal/MD5 concatenation process.

Lets take this a step further. If a PHP-Nuke webmaster does not change their default $sitekey parameter this could still open them up to attack. A malicious user may install a default PHP-Nuke portal on their own system and now they have access to manipulate all of the four variables above.

This means they can change the date on their system, altering the $datekey to each day of the year, and manually map out all the random_num values to their respective security image code values. At this point, they have a full database for every day of the year that can be used maliciously against default $sitekey value PHP-Nuke sites. With such data, a script can be written to check the random_num value, ie:

modules.php?name=Your_Account&op=gfx&random_num=604071

And such a script could call up the corresponding security code value thereby rendering the purpose behind it useless.

Conclusion? Change your $sitekey immediately from the default value, and change it often."
View user's profile Send private message
Holbrookau
Hangin' Around


Joined: Jun 25, 2004
Posts: 32

PostPosted: Tue May 03, 2005 1:28 am Reply with quote Back to top

md5 is simply an encryption system - input any string of text and get back a 16 character version of it . Generally used for password encryption but as shown in the post above, it has many other uses.
Example use: When you sign up on a PHP-Nuke site your password is encrypted with md5 and that is what is stored in the database, not your actual plain text password. When you next log in, the password you type into the login box is encrypted with md5 and then checked against the one stored in the database - if they match your in.
Having your md5'ed password will not allow them access unless they can actually work out what the password is by brute force - if you avoid using dictionary words and instead use a combination of letters, numbers & symbols for your password (the longer the better), it is highly unlikely that you will ever be comprimised.
View user's profile Send private message
Display posts from previous:       
Post new topic   Reply to topic

View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Forums ©
 

All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2002-2011 by Raven

You can syndicate our news using the file xml

CSE HTML Validator Helped Clean up This Page! [Valid RSS] valid RSS 2.0 Valid robots.txt Stop Spam Harvesters, Join Project Honey Pot

Website engines core code is © copyright by PHP-Nuke but has been heavily patched and modified by myself and others.
PHP-Nuke is a free software released under the GNU/GPL.


:: fisubice phpbb2 style by Daz :: PHP-Nuke theme by www.nukemods.com ::
:: fisubice Theme Modified by the RavenNuke™ Team ::

:: W3C CSS Compliance Validation :: W3C HTML 4.01 Transitional Compliance Validation ::

zerosum