49 lines
1.3 KiB
Diff
49 lines
1.3 KiB
Diff
diff -ruN wp-204/wp-content/plugins/wp-db-backup.php wp-205/wp-content/plugins/wp-db-backup.php
|
|
--- wp-204/wp-content/plugins/wp-db-backup.php 2006-07-26 18:56:56.000000000 -0400
|
|
+++ wp-205/wp-content/plugins/wp-db-backup.php 2006-09-25 14:51:54.000000000 -0400
|
|
@@ -4,7 +4,7 @@
|
|
Plugin URI: http://www.skippy.net/blog/plugins/
|
|
Description: On-demand backup of your WordPress database.
|
|
Author: Scott Merrill
|
|
-Version: 1.7
|
|
+Version: 1.8
|
|
Author URI: http://www.skippy.net/
|
|
|
|
Much of this was modified from Mark Ghosh's One Click Backup, which
|
|
@@ -69,7 +69,8 @@
|
|
$via = isset($_GET['via']) ? $_GET['via'] : 'http';
|
|
|
|
$this->backup_file = $_GET['backup'];
|
|
-
|
|
+ $this->validate_file($this->backup_file);
|
|
+
|
|
switch($via) {
|
|
case 'smtp':
|
|
case 'email':
|
|
@@ -95,6 +96,7 @@
|
|
}
|
|
if (isset($_GET['fragment'] )) {
|
|
list($table, $segment, $filename) = explode(':', $_GET['fragment']);
|
|
+ $this->validate_file($filename);
|
|
$this->backup_fragment($table, $segment, $filename);
|
|
}
|
|
|
|
@@ -881,6 +883,18 @@
|
|
|
|
return;
|
|
} // wp_cron_db_backup
|
|
+
|
|
+ function validate_file($file) {
|
|
+ if (false !== strpos($file, '..'))
|
|
+ die(__("Cheatin' uh ?"));
|
|
+
|
|
+ if (false !== strpos($file, './'))
|
|
+ die(__("Cheatin' uh ?"));
|
|
+
|
|
+ if (':' == substr($file, 1, 1))
|
|
+ die(__("Cheatin' uh ?"));
|
|
+ }
|
|
+
|
|
}
|
|
|
|
function wpdbBackup_init() {
|