• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

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

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

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

Не находит метод при вызове из LS2J

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

VladSh

начинающий
Lotus Team
11.12.2009
1 808
167
Создал библу в библиотеках.
Описал метод как
Код:
public static boolean start(String sU, String sP)
метода main нет, "start" в список зарезервированных слов в Java не входит
при вызове из LS2J пишет:
<!--QuoteBegin-"IBM Lotus Notes"+-->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top">
quot-top-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quote-bg.gif'); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top">
quot-top-right.gif
</td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url('style_images/ckr/quotes/quot-lr-bg.gif')" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top">
quot-by-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quot-bye-bg.gif')" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">("IBM Lotus Notes")</span></td> <td class="vbquote" valign="top">
quot-by-right.gif
</td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url('style_images/ckr/quotes/quot-top-bg.gif')" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top">
quot-top-right-10.gif
</td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-left.gif')"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-right.gif')"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quot-left-bg.gif')"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->Instance member START does not exist<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table>
<!--QuoteEEnd-->
Код:
public boolean start(String sU, String sP)
т.е. без static тоже не помогает.
methods при переборе видит этот метод + перечисляет методы, которых у меня в классе нет
Самое интересное, что похожий вроде класс с хэшем нормально работает.
Подскажите, добры люди, что его такое, и как подлечить? :)
 
В LS должно быть что-то вроде
Код:
	Dim jSession As JavaSession
Dim jClass As JavaClass
Dim jMethod As JavaMethod
Dim res As Boolean

Set jSession = New JavaSession()
Set jClass = jSession.GetClass("yourPackage/YourClass")
Set jMethod = jClass.GetMethod("start", "(Ljava/lang/String;Ljava/lang/String;)V")
'	Set jMethod = jClass.GetMethod("start", "(Ljava/lang/String;Ljava/lang/String;)Z") 'или так?
res = jMethod.Invoke(, arg1, arg2)
 
Это так вызывать надо, когда > 1-го параметра? Или почему именно так в этом случае?
 
Теперь Invoke требует JavaObject..
<!--QuoteBegin-"Help"+-->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top">
quot-top-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quote-bg.gif'); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top">
quot-top-right.gif
</td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url('style_images/ckr/quotes/quot-lr-bg.gif')" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top">
quot-by-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quot-bye-bg.gif')" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">("Help")</span></td> <td class="vbquote" valign="top">
quot-by-right.gif
</td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url('style_images/ckr/quotes/quot-top-bg.gif')" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top">
quot-top-right-10.gif
</td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-left.gif')"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-right.gif')"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quot-left-bg.gif')"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->JavaObject. The instance of an object, if the method is not static. Optional if the method is static.<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table>
<!--QuoteEEnd-->Он у меня stasic, но всё равно требует. Ерунда какая-то...

Перезагрузил Лотас, он теперь выплёвывает:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">LS2J Error: Threw java.security.AccessControlException: Access denied (java.lang.RuntimePermission exitVM.3)</div></div><div class="sp-body"><div class="sp-content">java.security.AccessControlException: Access denied (java.lang.RuntimePermission exitVM.3)
at java.security.AccessController.checkPermission(AccessController.java:108)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.ja
va:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.jav
a:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.SecurityManager.checkExit(SecurityManager.java:756)
at java.lang.Runtime.exit(Runtime.java:99)
at java.lang.System.exit(System.java:279)
at FileDownloader.start(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at lotus.domino.JavaConnectInvoker.invoke(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at lotus.domino.JavaConnectLoader.invoke(Unknown Source)
 
Перезагрузил Лотас, он теперь выплёвывает:
Даунлодер пытается прихлопнуть JVM, вызывая System.exit(). JVM валиться на собирается( и ее в общем-то можно понять )
Вы уверены, что действительно хотите уложить лотусовую жабамашину? Если так - то можно прописать соответсующий restriction в %lotushome%/jvm/lib/security/java.policy. Но я бы не советовал :-)
 
turumbay
Угадали!) Вот бы мне так влёт разбирать!..
Но уже радует, что выполняется код библы :)
Непонятно только.. - это что же, при любом изменении в Java-библе Лотус передёргивать?)
 
это что же, при любом изменении в Java-библе Лотус передёргивать?)
если либа лежит в ФС - да...
но никто не мешает побить её на части - часть в ФС (более-менее постоянная), а изменяемая в БД
 
если либа лежит в ФС
да нет.. в БД лежит. И в основном я её и не менял даже, а менял LS-код. Но чего-то такое ощущение, что выполнение кода не зависело от того, меняю я что-то или нет в коде, т.к. результат был один и тот же, а потом ничего не менял и вдруг бабах и ошибка стала вылетать.. Такое впечатление, что он выполняет закэшированный код. а потом, когда ему вздумается обновляет кэш..

Переезжаем сюда)
 
Действительно, при любом изменении в Java-библиотеке, находящейся в БД, надо также перезагружать Лотус, т.к. изменения сразу не подхватываются.. А иногда не то, что Лотуса, даже перезагрузка компа не помогает - Нотес подхватывает изменения как-то сам по себе.
Может есть какие-то настройки кэша? Может можно установить, чтобы кеш сбрасывался всегда?

И ещё глюк: окно Java-консоли при открытии иногда не открываться вообще. Потом, после нескольких запусков кнопки оно может открыться, а может и нет. Никто не знает как с этим бороться?
 
Мы в соцсетях:

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

Курс AD