• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Uploaddialog

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
Очередная задача:
Есть необходимость загрузки пачки файлов. Но возникает проблема с IE (он не умеет выбирать несколько файлов)
Пробовал с OpenNTF брать поделки, но как-то не очень :rolleyes: Не нормального контроля процесса загрузки.

Есть мысль реализовать сканер директории на CSJS. Но тут возникает вопрос - как сохранить выбранные файлы в документ?
Вот что-то не доходит до меня ;)
 
Z

Zeka

в 8-ом эксплорере загрузка сразу нескольких файлов у нас работает.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
в 8-ом эксплорере загрузка сразу нескольких файлов у нас работает.
Ну я вроде как написал что с openntf поделки брал. Не понравилось.
Основная претензия - эти поделки сохраняют атачи только после полной загрузки всех файлов на сервер. Ну еще и Flash? который тоже любит отваливаться в самы не подходящий момент.
Т.е. последовательность такая:
1. грузим все на сервер
2. создаем документы

Пробовал. При загрузке 500 файлов бывает вываливается в ошибку и ничего не сохраняет. Т.е. документов я не получаю.
Особенно обидно - когда заливаешь пару гиг и загрузка обрывается на последнем файле...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
не самый лучший способ - использовать http для аплоада (да и дунлоада - тоже)
для секурности - ftps/sftp
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
да и ваще за загрузки можно завести форнтэнд (да хоть nginx)
или вот так
разумеется - это не панацея (в разрезе вопроса) но стоит подумать в этом направлении
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
и да... есть ещё вот такой проект
 

aameno2

Lotus Team
27.01.2009
730
134
BIT
109
Посмотрите на filesendr c openntf, пользуюсь спокойно. Клиенты льют за раз до 6ти гигов.
Была проблема с обрывом закачки из вне, решилась изменением mss
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Остановился на java applet + FTP-Server.
Все вроде бы хорошо, но не совсем :)
Исходный код апплкта в эклипсе работает нормально (на ftp файлы заливаются), а из броузера вываливается в ошибку:
Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:21" "connect,resolve")
апплет дергаю так:
Код:
<APPLET name="tstapp" code="TestApp.class" width=350 height=200 archive="FileDialog.jar, commons-net-3.2/commons-net-3.2.jar">
</APPLET>
В чем может быть причина?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
секурити манагер ругаецо на соединение с сокетом - надо пермишены "лечить"

Добавлено: может сюда покопать

Добавлено: и вот
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
секурити манагер ругаецо на соединение с сокетом - надо пермишены "лечить"

Добавлено: может сюда покопать

Добавлено: и вот

Помогло это permission java.security.AllPermission;
Но я так понимаю это надо на всех возможных клиентах прописывать это?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
ну яб рассматривал более тонкую настройку пермишенов (в контексте урла и класса)

Добавлено: просто такие пермишены похачат клиента (дыра в секурити)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
ну яб рассматривал более тонкую настройку пермишенов (в контексте урла и класса)

Добавлено: просто такие пермишены похачат клиента (дыра в секурити)
Ну это да... вот сижу рою, но пока ничего не нарыл :)
В общем без пермишенов код валится тут
Код:
ftpClient.connect("localhost", 21);
Может как-то можно программно расширить права?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
может с самоподписанием поиграться
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
На сколько я понял - даже подпись не решит проблем.
Запись в полиси должна быть все равно
 
Z

Zeka

NickProstoNick, а ты всё-таки попробуй :)
Когда-то в молодсти игрался с аплетами и насколько помню - пользователю будет выскакивать сообщение типа "Untrusted signature" и если пользователь нажмёт ОК, то всё заработает. Отпиши если попробуешь.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
NickProstoNick, а ты всё-таки попробуй :)
Когда-то в молодсти игрался с аплетами и насколько помню - пользователю будет выскакивать сообщение типа "Untrusted signature" и если пользователь нажмёт ОК, то всё заработает. Отпиши если попробуешь.
Ну у меня апплет и так запускается. Тут вопрос в правах доступа :(
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
походу интересно - как решается вопрос с авторизацией по ФТП?
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
походу интересно - как решается вопрос с авторизацией по ФТП?
Ну написал java апплет, а он это умеет.
И вот собственно для этого и нужны права, потому как по умолчанию внешние соединения запрещены ;)
C++:
private void ftpConnect( String serverName, String user, String pass){ 

System.out.println("Create FTP-Client");
ftpClient = new FTPClient();

System.out.println("Connect to Server " + serverName );

try {
ftpClient.connect( serverName, 21);
ftpClient.login( user, pass );
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
ну этож надо еще вводить, дополнительно
аплет по ссылке тоже поддерживает авторизацию (в УРЛ)
но ябы сделал иначе:
-создаем куку после авторизации (или берем саму авторизационную)
-на сервере (фтп) создаем, по ней, временный каталог (пр-ла генерации можно придумать), до отдачи страницы юзеру (серверным кодом)
-в этот каталог и закачиваем файлы
-после загрузки (полной) переносим файлы в "нужное" место, каталог удаляем

т.о. не треб доп. авторизации
каталог создается с правами записи для любого юзера (что и понятно)
в ирархии выше - запись (любому) запрещена (только серверному юзеру)
 
Мы в соцсетях:

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