Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] пробив през апаче и пхп :(


  • Subject: Re: [Lug-bg] пробив през апаче и пхп :(
  • From: Marian Marinov <mm@xxxxxxxx>
  • Date: Thu, 12 Jul 2007 18:07:17 +0300

 Summary. When doing this:
    /lib/ld-linux.so.2 /path/to/file/on/noexec/fs
The linux-kernel disallows the mmap() of the executable textsegment:
    mmap2(0x8048000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) 
= -1 EPERM (Operation not permitted)
But when trying it after doing nothing but removing the PF_X-flag from all 
segments:
    mmap2(0x8048000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0x8048000
    (The program executes normally after this despite the missing 
PROT_EXEC-flag)
The best way to deal with this would probably be to patch ld.so so it enforces 
the executable-bit by itself.

Аз лично не съм си играл, чак толкова а и не ми се занимава...
Може и да са го поправили, а може и да не са.

Просто като чета това ме навежда на мисълта, че ядрото проверява само 
PROT_EXEC и пропуска изпълнението нататък... Съответно ако в libc няма 
проверка за това, програмата ще се стартира.

Поздрави
  Мариян

> Georgi Chorbadzhiyski <gf@xxxxxxxxxxx>
> Sent by: lug-bg-bounces@xxxxxxxxxxxxxxxxxx
> 12.07.2007 16:13
> Please respond to
> Linux Users Group - Bulgaria <lug-bg@xxxxxxxxxxxxxxxxxx>
>
>
> To
> Linux Users Group - Bulgaria <lug-bg@xxxxxxxxxxxxxxxxxx>
> cc
>
> Subject
> Re: [Lug-bg] пробив през апаче и пхп :(
>
> Around 07/12/07 15:29, Marian Marinov scribbled:
> > Има доста информация в интернет как можеш да стартираш бинарен файл
>
> върху дял
>
> > който е монтиран noexec. Основната идея е да се
> > използва /lib/ld-linux.so.2 /path/to/binary/file
>
> Това отдавна не работи, от 2.5 нещо си нататък. При файла зареден от
> noexec партишън ядрото не позволява паметта в която е зареден да бъде
> маркирана като PROT_EXEC (ако си спомням правилно) ефективно това
> не дава на динамичния линкер (ld-linux.so.2) да линкне и изпълни
> файла.
>
> Разбира се ако имаш някъде интерпретатор като perl, php, bash и
> файл написан на някой от тези скриптови езици, можеш да изпълниш
> /bin/interpretatora faila, но на партишън с noxec няма начин да
> изпълниш компилиран код (освен ако в ядрото няма някоя грешка)



_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.