Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.07.2010, 01:35   #1
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию Помогите со взломом своего же сайта

суть в чем - нашел я как-то было дело хостинг на tut.su. радостный зарегистрировал сайтик. там еще php работает.
год наверное он меня радовал своим сервисом. а тут напасть случилась... закрывается он чтоли. новая регистрация не работает, фтп уже недели 2-3 не работает, через форму на сайт не заходит. соседей по несчастью по емейлам поспрашивал - тоже говорят не могут на свои сайты зайти.
все бы ничего. базу для автоматизации делопроизводства то можно скопировать. там тхт файлик. а вот на этом же сайтике лежит у меня автообновление для бота к чату. то есть если я напишу новую версию, то автообновление будет показывать что у моих клиентов самая свежая версия. многие из клиентов блондинки, догадаться зайти на сообщества в моем мире и скачать обновленную версию они в жизь не догадаются.
потом тамже на сайтике была у меня форма для "склеивания" профайлов для налоговых программ. она загружала эти самые профили, склеивала и выдавала ссылку на склееный.
так вот задача через эту форму попытаться закинуть новые файлы для автообновления, которые будут потом обновлятся с другого бесплатного хостинга. (этот я уж надеюсь не закроют. там сайтик мой уже больше 6 лет лежит. только там пхп нет, да для обновления бота он и не нужен.)
проблемы - в этой самой форме я поставил ограничение на загрузку по расширению - xml файлов. то есть задумка такая если в хмл файл вставить пхп код, и загрузить его через форму на сайт, а потом запустить зайдя на эту страничку. но вот незадача сервер не хочет хмл файл с пхп кодом обрабатывать как пхп. то есть он просто выдает содержимое пхп файла как хмл, а не исполняет его.
как можно выкрутится? админам самого хостинга писал. мертво все. сайт точно мой
SeregaZ вне форума   Ответить с цитированием
Старый 12.07.2010, 04:14   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
фтп уже недели 2-3 не работает
а не пробывал по ssh, вдруг прокатит)
а так надо изучать код загрузчика этих твоих xml, может и есть там дырка какаянить...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 12.07.2010, 14:54   #3
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

ошибок вроде бы не оставил.
PHP код:
<body oncontextmenu="return false" align=center style="background: #EFF3FF; margin-top: 0px; margin-bottom:0px; cursor:default">
<?php

$f 
htmlspecialchars($_POST['f']);

if (
$f == 0) {
              
$data date("mdgis");
              
$drname "uploads/" $data "/";
              
$flname "uploads/" $data ".txt";
              
mkdir($drname0777);

                
$fp fopen($flname"a+");
                
fwrite($fp"");
                
fclose($fp);
             }
else {
      
$data $f;
      
$drname "uploads/" $data "/";
      
$flname "uploads/" $data ".txt";
     }



$fname = ($_FILES['userfile']['name']);
$infachk = @file($flname);
$masivchk "";


if (
$fname == "MEGAPROFILE.xml") {
                                  echo (
"<script language=\"javascript\">alert(\"Профайл с именем MEGAPROFILE.xml загружать нельзя. Переименуйте его на любое другое имя, например test.xml и попробуйте загрузить еще раз.\");</script>");
                                  echo (
"<center><input type=button onclick=window.open('center.php?f=$data','main'); value='получить ссылку для скачивания мегапрофайла'></center>");
                                  echo (
"переименуйте MEGAPROFILE.xml в любое другое название и загрузите повторно");
exit();
                                 }
 

foreach(
$infachk as $valchk) {
                              if (
$valchk == $fname "\r\n") {
        echo (
"<script language=\"javascript\">alert(\"Профайл с таким именем уже загружен. Если вы точно уверены что это профайл другой фирмы, переименуйте его и попробуйте загрузить еще раз.\");</script>");
        echo (
"<center><input type=button onclick=window.open('center.php?f=$data','main'); value='получить ссылку для скачивания мегапрофайла'></center>");
        echo (
"профайл с таким именем уже загружен!");
exit();
                                                              }
                             }


$uploaddir $drname// Папка куда закачивать файлы 
$extentions = array(".xml"); // Массив разрешенных форматов файлов 
$userfilesize $_FILES['userfile']['size']; // Вычисление размера загружаемого файла 
$maxfilesize 20000// Максимально допустимый размер файла 
$uploadfile $uploaddir basename($_FILES['userfile']['name']); 






 if((
in_array(strrchr($_FILES['userfile']['name'], "."),$extentions)) && ($maxfilesize >= $userfilesize)) // 
  
{

    
// Если копирование произведено удачно, выводим сообщения 
    
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) // 
      

        
$fname = ($_FILES['userfile']['name']); // Вычисление имени файла и присвоение переменной 
        
echo ("<script language=\"javascript\">alert('Файл $fname успешно закачан!');</script>");


          
$flname2 '"' $data '"';

          echo (
"<script>top.up.upl.reset();top.up.upl.f.value=$flname2;</script>");

                
$fp fopen($flname"a+");
                
fwrite($fp$fname "\r\n");
                
fclose($fp);

echo (
"<center><input type=button onclick=window.open('center.php?f=$data','main'); value='получить ссылку для скачивания мегапрофайла'></center>");
echo (
"загруженные профайлы: ");
$infa = @file($flname);
$masiv "";
foreach(
$infa as $val) {$masiv $masiv $val ", ";}
echo (
$masiv);

      } 
    else 
      { 
          echo (
"<script language=\"javascript\">alert(\"Ошибка при передаче файла на сервер!\");</script>"); 

      } 
  } 
   
// Если превышен максимальный размер файла 
 
elseif ($maxfilesize $userfilesize
  { 
      echo (
"<script language=\"javascript\">alert(\"Превышен максимальный размер файла!\");</script>"); 

  } 
 else 
  { 
    
// Если расширение файла имеет недопустимое расширение 
    
echo ("<script language=\"javascript\">alert('Файл имеет недопустимое расширение!');</script>"); 

    exit(); 
  } 
?>  
</body>
SeregaZ вне форума   Ответить с цитированием
Старый 13.07.2010, 01:50   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

SeregaZ, можно попробовать в качестве имени файла передать строку оканчивающуюся нулевым символом (или может ещё каким управляющим символом), возможно тогда расширение обрежется
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:48.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!