
22.03.2010, 23:51
|
|
Познающий
Регистрация: 10.01.2008
Сообщений: 58
Провел на форуме: 122329
Репутация:
-2
|
|
Пассивная XSS
Скрипт: /admin/index.php
Участок кода:
PHP код:
if(isset($_SESSION['admin']) || $page == 'login') {
define("_AJAX_INCLUDE_", "./ops/".$page."/ajax/ajax.js");
include("./lang/".$lang."/".$page."/default.php");
include("../includes/header.php");
include("./themes/".$admin_theme_dir."/templates/header.tpl");
include("./ops/".$page."/default.php");
include("./themes/".$admin_theme_dir."/templates/footer.tpl");
} [SIZE=2][COLOR=Red]else echo "<META http-equiv='refresh' content='0; URL=index.php?op=login&f=".urlencode($_SERVER['REQUEST_URI'])."'>"[/COLOR];[/SIZE]
Заливка шелла через аватары:
Скрипт:
PHP код:
http://localhost/1024/admin/index.php?op=avatars
Необходимо только сменить расширение файла на extension.evil ,где evil - расширение шелла,а extension - расширение файла,например,test.gif.php
Warning: В некоторых местах аплоада пофиксено,но там есть XSS ).
P.S.: Необходимы права админа.
ЗЫ: Аватары хранятся в папке /images/avatars/ директории /1024
Остальное в пути ).За кривое оформление заранее извиняюсь,ибо не умею.
Вот вся функция upload(),которая взаимодействует со скриптом аплоада аватара,кому интересно:
PHP код:
function upload() {
global $admin_theme_dir;
if(!isset($_FILES['upload']) || trim($_FILES['upload']['tmp_name']) == "") echo "<meta http-equiv='refresh' content='0;URL=index.php?op=avatars'>";
else {
echo "<div align='center'>";
include("../includes/classes/uploading.php");
$upload = $_FILES['upload'];
$tmp_name = $_FILES['upload']['tmp_name'];
$name = $_FILES['upload']['name'];
$filepath = "";
if(is_uploaded_file($tmp_name)) {
if($_FILES['upload']['error'] == UPLOAD_ERR_OK) {
$path = "../images/avatars/";
if(!is_dir($path)) die("Cannot find path: ".$path);
if(preg_match('(\.gif|\.png|\.jpg|\.jpeg)', $name)) {
$name = $_FILES['upload']['name'];
$filepath = $path.$name;
if(file_exists($filepath)) die("Avatar already exists, rename the image and try again");
if(move_uploaded_file($tmp_name, $filepath)) {
define("_REDIRECT_", "./index.php?op=avatars");
define("_CONTENT_", _CONFIRMED_);
include("./themes/".$admin_theme_dir."/templates/successfulprocess.tpl");
} else die("Cannot upload file, please try again");
} else die("File Type not allowed. You can upload: .gif, .png, .jpg, .jpeg");
} else echo "ERROR:".file_error_check($_FILES['upload']['error']);
} else die("Error uploading file");
}
echo "</div>";
}
Последний раз редактировалось Welemir; 23.03.2010 в 00:24..
|
|
|