• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Запись файлов на Ftp

  • Автор темы has
  • Дата начала
H

has

Вобщем вопрос в том, как записать файл то? Гуглил эту тему, но то ли я туплю, то ли пишут не понятно люди. Собственно код, соединяемся
Код:
ПроксиСервер = Новый ИнтернетПрокси;				
ПроксиСервер.Пользователь = ПользовательПрокси;
ПроксиСервер.Пароль = ПарольПрокси;
ПроксиСервер.Установить("http",СерверПрокси, ПортПрокси);

Попытка
Сервер = Новый FTPСоединение(СокрЛП(СерверФТП),,
СокрЛП(ПользовательФТП),
СокрЛП(ПарольФТП),ПроксиСервер,Истина);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
тут все хорошо, а как скинуть файл то?
Код:
ИмяФайлаЛокального = "E:\Centr.dbf";
ИмяФайлаФТП = "Centr.dbf";
Попытка
Сервер.Записать(ИмяФайлаЛокального,ИмяФайлаФТП);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Ошибок нет, но и файла тоже.
 
T

TimeDontWait

Если без переменных? напрямую пропиши, заместь СерверФТП - 192.168.0.3, и остальное тоже.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение(СерверФТП, ПортПрокси, user, pass, ПроксиСервер);
Соединение.Записать(имя_файла_локального, имя_ф_фтп);
 
H

has

Если без переменных? напрямую пропиши, заместь СерверФТП - 192.168.0.3, и остальное тоже.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение(СерверФТП, ПортПрокси, user, pass, ПроксиСервер);
Соединение.Записать(имя_файла_локального, имя_ф_фтп);
Вместо ФТП сервера указать прокси? Пробовал, тоже толку нет. Есть подозрение на то, что проблемы из-за того, что в логине имеется собака. Мож 1С както преобразует в логин@сервер, в итоге получается 2 собачки.
 
T

TimeDontWait

Мож 1С както преобразует в логин@сервер, в итоге получается 2 собачки
нет.
Код:
Прокси = Новый ИнтернетПрокси(Ложь);
Соединение = Новый FTPСоединение("192.168.0.1", "21", "user@192.168.0.1", "pass", "твой_прокси");
Соединение.Записать("имя_файла_локального", "имя_файла_фтп");
\

Ну и проверьте на всяк случай, может пользователю ограничены права на запись файлов
 
H

has

чет ниче не пойму, так чтоли?
Код:
Сервер = Новый FTPСоединение("192.168.0.1",21,
СокрЛП(Логин) + "@" + СокрЛП(СерверФТП),
СокрЛП(Пароль),ПроксиСервер,Истина);
 
T

TimeDontWait

Сделай как выше. Только поменяй user и pass. Укажи прямо в параметрах фтп_соединения прокси, имена файлов.
Просто подставь данные, без передачи переменных в параметры, что из этого выйдет.
 
H

has

Не пускает...
"Ошибка при вызове конструктора (FTPСоединение): Ошибка аутентификации при доступе к ресурсу: link removed login denied".
Если взять первоначальный мой вариант, то соединение проходит и никаких ошибок не появляется
 
H

has

Тотал командер же дает файлы скидывать. Сейчас взял другой фтп сервер, там логин без собаки. Коннект проходит нормально, сделал
Код:
МассивФайлов = Сервер.НайтиФайлы("/","*");
нашел один файл с именем - "/anonymous access</h3></body></html>"
 
T

TimeDontWait

Код:
МассивФайлов = Сервер.НайтиФайлы("/","*.*");
И как рабочий пример:
Код:
Процедура Просмотреть(Кнопка) 
Сервер = Новый FTPСоединение(FTPServer); 
МассивФайлов = Сервер.НайтиФайлы("/","*.*"); 

Для Каждого Файл Из МассивФайлов Цикл 
Если Файл.ЭтоФайл() Тогда 
ПолеСписка.Добавить(Файл, Файл.Имя) 
КонецЕсли; 
КонецЦикла; 
КонецПроцедуры
Если не сработает проблема с настройками фтп-сервера
 
H

has

Не, все таки я грешу на прокси. Надо будет попробовать в другом месте, без прокси. Спасибо
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!