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

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

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

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

Lotus и Java

  • Автор темы fornit
  • Дата начала
F

fornit

есть бд lotus. как можно извлечь из нее данные, используя java API?
 
N

nvyush

6 * 9 = 42 :)
А если серьёзно — какие данные, куда и зачем нужно извлекать из Лотуса Явой?
 
F

fornit

ну просто надо создать веб приложение,отбражающее данные бд лотус, но использовать не веб-сервер лотус,а сначала данные получить с помощью джавы и только потом веб
 
N

nvyush

ну просто надо создать веб приложение,отбражающее данные бд лотус, но использовать не веб-сервер лотус,а сначала данные получить с помощью джавы и только потом веб
Код:
import lotus.domino.*;

NotesThread nt = new NotesThread();
nt.sinitThread();
Session session = NotesFactory.createSession();
Database db = session.getDatabase(null, null);
if (db.openByReplicaID("имя сервера", "ид базы")) {
Document document = db.getDocumentByUNID("юнид документа");
document.getItemValue("Имя поля данных");
}

Как-то так.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Прошу прощения у автора темы...
Всем привет!
Сразу оговорюсь - Java не знаю.
проблема вот в чем. Есть на страничке линк
в нем такой код. Все нормально работает.

alert( java.lang.System.getProperty("os.name") )


но если os.name изменить на user.name - не работает. хотя на сколько я знаю такое свойство есть
 
F

fornit

а можно по подробнее..что именно делать надо?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
это так только для случая, когда на компе есть установленый нотес...
когда его нет - нужна другая либа... IIOP
для секурной аутентификации нужен SSL
для чего:
-настроить самомподписный сертификат
-запустить DIIOP
-взять с сервера класс TrustedCert, и пихнуть в класспаз

и будет что-то типа:
Код:
package org.ldn.authority;

import lotus.domino.NotesException;
import lotus.domino.NotesFactory;
import lotus.domino.Session;

/**
* @author mike
* 
*/
public class IIOPSession {

private lotus.domino.Session ldnSession = null;
private Account acc = null;
private AccountDialog dlg = null;
/**
*
*/
String host = null, user = "", pwd = "";

public IIOPSession(String argv[]) {
// TODO Автоматически созданная заглушка конструктора

if (argv.length < 1) {
acc = new Account();
dlg = new AccountDialog(new javax.swing.JFrame(), acc, true);
dlg.setVisible(true);
host = acc.getServer();
if (host.length() != 0) {
user = acc.getName();
pwd = acc.getPassword();
} else {
//throw new Error("account hasn't been initialized");
}
} else {
host = argv[0];
if (argv.length >= 2) {
user = argv[1];
}
if (argv.length >= 3) {
pwd = argv[2];
}
}
}

/**
* @param argv
*/
public static void main(String[] argv) {
// TODO Автоматически созданная заглушка метода
IIOPSession t;
t = new IIOPSession(argv);//new String [] {"rhel-ws"});
t.run();
//		Thread nt = new Thread((Runnable) t);
//		nt.start();
System.exit(0);
}

public Session createSession() {
String args[] = new String[1];
args[0] = "-ORBEnableSSLSecurity";
Session result = null;
try {
Class o = Class.forName("TrustedCerts");
try {
ldnSession = NotesFactory.createSession(host, args, user, pwd);
result = ldnSession;
} catch (NotesException ex) {
ex.printStackTrace();
} catch (NoClassDefFoundError ex) {
System.out.println("Create Session Error");
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}

return result;
}

public void run() {
// TODO Автоматически созданная заглушка метода
Session s = createSession();
if (s != null) {
try {
System.out.println("Platform = " + ldnSession.getPlatform());
System.out.println("User = " + ldnSession.getCommonUserName());
} catch (NotesException ex) {
ex.printStackTrace();
}
}
//System.exit(0);
}
}

Прошу прощения у автора темы...
Всем привет!
Сразу оговорюсь - Java не знаю.
проблема вот в чем. Есть на страничке линк
в нем такой код. Все нормально работает.

alert( java.lang.System.getProperty("os.name") )


но если os.name изменить на user.name - не работает. хотя на сколько я знаю такое свойство есть
на этот вопрос я уже отвечал - секурити браузера не пущает, надо сиборить в ней "дырки" :)
 
N

nvyush

а можно по подробнее..что именно делать надо?

Найти в лотусовой жвм нужный jar и подсунуть его "дёргающей" жвм. Где нужно "дёргать" прописать вышеприведённый код.
Про объектную модель лотуса см. справку лотуса.
Подробнее написать не могу, бо сам не ведаю. Здесь есть настоящие гуру по этой теме, если их заинтересует твой вопрос — считай, повезло. Кстати, попробуй поискать по форуму, может что-то подобное попадалось.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
здеся про оперу (java security):

у файрскунса, и УЁ - ненаю где
 
F

fornit

я что скажете про Lotus Domino Driver for JDBC 1.5? с помощью него можно получить доступ к бд, а потом работать с ней с помощью стандартных запросов sql или как?
 
N

nvyush


DOC OBSOLETE - LOTUS DOMINO DRIVER FOR JDBC VERSION 1.5 is no longer provided or supported.
Customer needs to upgrade their Lotus and use Domino 7 DB2 support feature, then sync data from DB2.
Без комментариев
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
fornit учите матчасть, а не ищите "кривые" пути :)
с установленным Нотусом, здесь всё описано:


с неустановленым - я выше сказал + читайте IIOP в хэлпе дизайнера и администатора
 
Мы в соцсетях:

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