PDA

Bekijk Volledige Versie : YapBB <= 1.2 Beta2 'find.php' SQL Injection Vulnerability



geinblues@gmail.com
15/05/06, 23:20
Title : YapBB <= 1.2 Beta2 'find.php' SQL Injection Vulnerability

------------------------------------------
Author : x90c(Kyong Joo, Jung)
Published : 2006.5.16
E-mail : geinblues [at] gmail.com
Site : http://www.chollian.net/~jyj9782
------------------------------------------

0x01 Summary

YapBB is a OpenSource Web Forum written in php.
(http://sourceforge.net/projects/yapbb)

This web program is vulnerable to sql injection attack.
So malicious attacker can get Every nicknames(id), passwords for this YapBB.

Let's see the codes ~!


0x02 Testbed

- Fedora Core 2
- MySQL-Server 5.0.19-log
- Php5 ( magic_quotes_gpc = On )


0x03 Codes

~/YapBB-1.2-Beta2/YapBB/find.php:
-
...
34: $userBool = $HTTP_POST_VARS["choice"]=="user"; // if choice == 'user'
36: $userpostBool = !empty($HTTP_GET_VARS["userID"]); // userID == '[inject sql]'
...
119: else if ($userpostBool)
120: {
128: $postRes = $postQuery->select("SELECT p.date, t.id, t.description, u.nickname FROM " .
$cfgDatabase['post'] . " AS p, " . $cfgDatabase['topic'] . " AS t, " .
$cfgDatabase['user'] . " AS u WHERE t.id = p.topicid AND p.posterid = $userID AND
u.id = p.posterid GROUP BY p.topicid ORDER BY p.date DESC LIMIT 50"); // execute sql!
-

No words.


I wrote a exploit for getting all YapBB user's nicknames and passwords.
Sorry i can't put exploit in this advisory =)


0x04 Exploit

[x90c@hackzen testbed]$ whoami
x90c
[x90c@hackzen testbed]$


0x05 Patch

~/YapBB-1.2-Beta2/YapBB/find.php:
...
128: $postRes = $postQuery->select("SELECT p.date, t.id, t.description, u.nickname FROM " .
$cfgDatabase['post'] . " AS p, " . $cfgDatabase['topic'] . " AS t, " . $cfgDatabase['user'] .
" AS u WHERE t.id = p.topicid AND p.posterid = '" . addslashes($userID) .
"' AND u.id = p.posterid GROUP BY p.topicid ORDER BY p.date DESC LIMIT 50"); // x90c patch!
...




Thanks!


- Blu3h4t Team in korea