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

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

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

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

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

CGI/PERL + DLL

  • Автор темы bugs
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

bugs

Привет
Вопрос в следующем :
Есть CGI скрипт на perl'e, он подключает библиотеку DLL и вызывает из нее одну из функций, которая запускает виндовс-приложение. В качестве результата функция возвращает хендл открытого окна.
Из командной строки скрипт нормально выполняется. А вот из-под веб-сервера вместо хендла возвращается ноль и ошибка : "Не удается найти указанный файл" (приложение-то кстати все же запускается но совсем не так как нужно)
С настройками сервера все в порядке, все скрипты работают, успешно подключают и используют другие dll( которые не запускают приложений)
Может быть у вас есть какие-нибудь предположения что же здесь не так?
P.S. Я все больше склоняюсь к тому что все дело в правах сервера, что он не дает ему запуститься из соображений безопасности : ( . В настройках убрал анонимный доступ, настроил чтобы скрипт запускался под администратором.
Может еще как можно настроить?
Сервер IIS 5.0 хотя какой именно не имеет значения
 
B

bugs

Я пробовал из под веб-сервера запускать exe-шник который подключает эту DLL и вызывает функцию, возвращающую хендл. Результат тот же, из командной строки все ок, из под сервера - нули и ошибки

Так что скорее дело в принципе, а не в языке

use Win32::API;
use Win32::API::prototype;
ApiLink('mglue32.dll', 'HANDLE MG_OpenSession(LPSTR lpParamStr, int nShow)');
$handle=MG_OpenSession("NULL",SW_NORMAL);
print "$handle\n";
 
S

STYX

bugs
Когда постишь код, выключай, пжлст, смайлы (сразу под полем ввода сообщения).
 
B

bugs

я тоже посмотрел на свой код и подумал какой-то он несерьезный стал :)
спасибо
 
A

admin

bugs
Хммм. Мне сложно ответить т.к. твой код почему-то не возвращает 0. Может чего с настройками.
 
G

Guest

если из командной строки работает, можешь обращение к dll'ке отдельным скриптом сделать и что-то вроде такого устроить:
$data=`perl -- dll_script.pl`;
 
M

maik

А вообще что нужно чтобы подключить к Perl программе dll библиотеку кроме "ApiLink"?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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