cs_christo16
Messages postés17Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention16 octobre 2008 16 oct. 2008 à 22:06
Beaucoup de personnes mon demander les sources php...
J'ai oublier de les mêtre...
Si vous avez un probleme vous pouvez toujours m'envoyer un email.
post_dump.php
<?php
/* check for and loop through uploaded files */
foreach ($_FILES as $name => $info) {
/* chekc the file has a valid name */
if (($info['name'] != 'ht.access' &&
substr($info['name'], 0,1) != '.' &&
$info['name'] != 'allowed_files')) {
/* attempt to move the file to the uploaded_files directory */
if (@move_uploaded_file($info['tmp_name'], "uploaded_files/files/{$info['name']}")) {
/* get the contenst of the array of files */
$file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));
/* if there are more already 5 files, remove the oldest item fomr the array
* and delete it
*/
if (count(@$file_arrays['files']) == 5) {
$name = array_shift($file_arrays['files']);
/* add the new item to the arrays */
$file_arrays['files'][] = $info['name'];
$file_arrays['types'][$info['name']] = $info['type'];
/* serialize the array and write it back to the file */
if ($fhwnd = @fopen('uploaded_files/allowed_files', 'wb+')) {
fwrite($fhwnd, serialize($file_arrays));
fclose($fhwnd);
}
}
}
}
?>
<html>
<head>
<title>Form Post Dump</title>
</head>
<?php if ($_POST): ?>
You submitted the following POST variables with the following names:
<?php foreach($_POST as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_GET): ?>
You submitted the following fariables with the query string:
<?php foreach($_GET as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_FILES): ?>
You submitted the following FILES:
<?php
/* load the file containg the list of uploaded files in to an array */
$file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));
/* check the data was loaded successfully - if not, create an empty array */
if (!is_array($file_arrays)) {
$file_arrays array('files'> array(), 'types' => array());
}
/* check for the existance of a file variable in the queery string
* if its there, this contains the name of the file to be downlaoded
*/
if (isset($_GET['file'])) {
$file = $_GET['file'];
/* check the file is in the array retrieved from the file */
if (in_array($file, @$file_arrays['files'])) {
/* get the Content-Type of the file */
header('Content-Type: ' . $file_arrays['types'][$file]);
header('Content-Disposition: attachment; filename="' . $file . '"');
cs_ABF
Messages postés227Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention26 avril 2012 16 juil. 2008 à 18:36
Bonjour,
Il est ou le script PHP ?
Si quelqu'un a le script merci de m'avertir ;)
++
MrJava_Javaman
Messages postés5Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 1 septembre 2007 1 sept. 2007 à 14:54
Si il mets les fichiers uploader dans un dossier "private" alors il n'y a pas de risque je crois, par example je crois que tu as uplode "deletx.php" si seulment tu sais ou se trouve et tu peux acceder cette location alors tu peux l'excuter mais is non alors pas du risk. en tout cas je veux seulment savoir comment est le format du php code, pas essencielle de mettre tout le code seulment la method d'uplode. ou bien simplement me dire si c'est la "built-in" function $_FILE ? merci.
AhlaBiih
Messages postés1Date d'inscriptionmardi 28 septembre 2004StatutMembreDernière intervention 1 septembre 2007 1 sept. 2007 à 14:13
Salut,
ton "uploader" est bien, mais tu as oublié le minimum de sécurité. En effet, si tu consultes ton http://jaycoder.olympe-network.com/uploaded_files.php tu trouveras des fichiers que j'ai uploadé, alors qu'elles n'existent plus maintenant. Oui! puisque j'ai uplodé un fichier qui me permet de parcourir tous ton site et d'effacer ce que je veux.
ton fournisseur d'acces ne sera pas content s'il apprent que tous le monde peut uploader ce qu'il veux sur ton site.
D'abord, supprimes ton post_dump.php pour minimiser les degats, puis
si tu veux, parlons en privé (par mail par exemple) pour que je te decrive les failles de securité, puis tu repares ces failles et tu attaches au commentaires un resumé de nos mails.
aussi, conseil, n'attaches pas ton upload , au mois jusqu'à ce que tu repares les failles.
Merci
Sami
MrJava_Javaman
Messages postés5Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 1 septembre 2007 1 sept. 2007 à 13:15
le code de php est-il simplement un "$_FILE['']" request ? ou il ya quelque chose d'autre ? peux tu me l'attacher avec le source ? merci.
Y a t-il une methode pour savoir le progress de l'upload ?
16 oct. 2008 à 22:06
J'ai oublier de les mêtre...
Si vous avez un probleme vous pouvez toujours m'envoyer un email.
post_dump.php
<?php
/* check for and loop through uploaded files */
foreach ($_FILES as $name => $info) {
/* chekc the file has a valid name */
if (($info['name'] != 'ht.access' &&
substr($info['name'], 0,1) != '.' &&
$info['name'] != 'allowed_files')) {
/* attempt to move the file to the uploaded_files directory */
if (@move_uploaded_file($info['tmp_name'], "uploaded_files/files/{$info['name']}")) {
/* get the contenst of the array of files */
$file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));
/* if there are more already 5 files, remove the oldest item fomr the array
* and delete it
*/
if (count(@$file_arrays['files']) == 5) {
$name = array_shift($file_arrays['files']);
unset($file_arrays['types'][$name]);
@unlink('uploaded_files/files/' . $name);
}
/* add the new item to the arrays */
$file_arrays['files'][] = $info['name'];
$file_arrays['types'][$info['name']] = $info['type'];
/* serialize the array and write it back to the file */
if ($fhwnd = @fopen('uploaded_files/allowed_files', 'wb+')) {
fwrite($fhwnd, serialize($file_arrays));
fclose($fhwnd);
}
}
}
}
?>
<html>
<head>
<title>Form Post Dump</title>
</head>
<?php if ($_POST): ?>
You submitted the following POST variables with the following names:
<?php foreach($_POST as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_GET): ?>
You submitted the following fariables with the query string:
<?php foreach($_GET as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_FILES): ?>
You submitted the following FILES:
<?php foreach($_FILES as $name => $info): ?>
<li>File name: <?php echo(htmlspecialchars($name)) ?>
<li>Client file name: <?php echo(htmlspecialchars($info['name'])) ?></li>
<li>File MIME type: <?php echo(htmlspecialchars($info['type'])) ?></li>
<li>File size: <?php echo(htmlspecialchars($info['size'])) ?></li>
<li>Download link: [uploaded_files.php?file=<?php echo(htmlspecialchars($info['name'])) ?> <?php echo(htmlspecialchars($info['name'])) ?>]</li>
</li>
<?php endforeach; ?>
<?php endif; ?>
<form enctype="multipart/form-data" action="<?php echo($_SERVER['PHP_SELF']) ?>" method="post">
Variable1:
Variable2:
Variable3:
File:
</form>
</html>
uploaded_files
<?php
/* load the file containg the list of uploaded files in to an array */
$file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));
/* check the data was loaded successfully - if not, create an empty array */
if (!is_array($file_arrays)) {
$file_arrays array('files'> array(), 'types' => array());
}
/* check for the existance of a file variable in the queery string
* if its there, this contains the name of the file to be downlaoded
*/
if (isset($_GET['file'])) {
$file = $_GET['file'];
/* check the file is in the array retrieved from the file */
if (in_array($file, @$file_arrays['files'])) {
/* get the Content-Type of the file */
header('Content-Type: ' . $file_arrays['types'][$file]);
header('Content-Disposition: attachment; filename="' . $file . '"');
/* send the file */
@readfile("uploaded_files/files/$file");
exit;
}
}
?>
<html>
<head>
<title>Uploaded Files</title>
</head>
Recently Uploaded Files
<?php foreach($file_arrays['files'] as $file): ?>
<li>[<?php echo($_SERVER['PHP_SELF'] . '?file=' . htmlspecialchars($file))?>
<?php echo(htmlspecialchars($file)) ?>]
</li>
<?php endforeach; ?>
</html>
16 juil. 2008 à 18:36
Il est ou le script PHP ?
Si quelqu'un a le script merci de m'avertir ;)
++
1 sept. 2007 à 14:54
1 sept. 2007 à 14:13
ton "uploader" est bien, mais tu as oublié le minimum de sécurité. En effet, si tu consultes ton http://jaycoder.olympe-network.com/uploaded_files.php tu trouveras des fichiers que j'ai uploadé, alors qu'elles n'existent plus maintenant. Oui! puisque j'ai uplodé un fichier qui me permet de parcourir tous ton site et d'effacer ce que je veux.
ton fournisseur d'acces ne sera pas content s'il apprent que tous le monde peut uploader ce qu'il veux sur ton site.
D'abord, supprimes ton post_dump.php pour minimiser les degats, puis
si tu veux, parlons en privé (par mail par exemple) pour que je te decrive les failles de securité, puis tu repares ces failles et tu attaches au commentaires un resumé de nos mails.
aussi, conseil, n'attaches pas ton upload , au mois jusqu'à ce que tu repares les failles.
Merci
Sami
1 sept. 2007 à 13:15
Y a t-il une methode pour savoir le progress de l'upload ?