napravio sam mv /lib/libc-2.5.so /tmp/blablanijebitnozakajikak
ostao mi je root ssh session u kojem imam bash. Nemam busybox niti
ista staticki linkano, imam samo builtin bash funkcije. Mozda i imam
nes, to je centos5, gledao sam okolo ali nisam nis nasao osim
multipath, udevda i slicnih beskorisnosti.
Dakle prakticki trebam neak napravit rename("aa","bb").
kako da se izvucem, a da ne moram rebootat server?
Kombiniram da staticki linkan mv ili busybox ili mali c programcic
copy pejstnem u terminal kao niz printfova u neki fajl koji je vec +x
pa onda pokrenem to.
Ima nekaj elegantnije?
--
Ivanisevicu, pokusaj se za promjenu drzati teme i replicirati na ono o
cemu sugovornik pise. Osim sto je tvoje pracenje "koji me vrag zapravo
muci" off-topic na Linux grupi, radi se i o zabadanju njuske u moje
privatne stvari. Vec si pokazao nedostatak dobrog odgoja no ovo granici
sa sociopatijom. -- Mladen Gogala, hr.comp.os.linux
Radi li ti naredba sln?
--
Igor Pozgaj | ipozgaj at gmail.com (GTalk / MSN)
ICQ: 126002505 | http://fly.srk.fer.hr/~ipozgaj
PGP: 0xEF36A092 | http://ipozgaj.blogspot.com
fb, lfm, li, dA | http://twitter.com/ipozgaj
Da, mora ti to raditi... Evo probao u virtualcu sa CentOS-om, samo napravi
sln /tmp/gogala /lib/libc-2.5.so, to ce biti enough da se dalje mozes normalno
izvuci iz govana. Sln == staticaly linked ln, namijenjen bas za ovakve situacije ;)
> On 2009-11-26, Igor Pozgaj <ipo...@nospam.fly.srk.fer.hr> wrote:
>> On 2009-11-26, Aleksandar Ivanisevic <aleks...@ivanisevic.de> wrote:
>>> Ima nekaj elegantnije?
>> Radi li ti naredba sln?
>
> Da, mora ti to raditi... Evo probao u virtualcu sa CentOS-om, samo napravi
> sln /tmp/gogala /lib/libc-2.5.so, to ce biti enough da se dalje mozes normalno
> izvuci iz govana. Sln == staticaly linked ln, namijenjen bas za ovakve situacije ;)
Zašto ga nema na debianu?
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12
> Ima nekaj elegantnije?
Ja ti na desktopu uvijek imam jedan python shell pokrenut. Iz njega
uvijek mogu napravit move(old, new). ;)
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12
Prije ga je bilo, dok se neki pametnjakovic nije sjetio to maknuti iz base
installa.
> On 2009-11-26, Vedran Fura?? <ved...@vedranf.mine.nu> wrote:
>>> Da, mora ti to raditi... Evo probao u virtualcu sa CentOS-om, samo napravi
>>> sln /tmp/gogala /lib/libc-2.5.so, to ce biti enough da se dalje mozes normalno
>>> izvuci iz govana. Sln == staticaly linked ln, namijenjen bas za ovakve situacije ;)
>> Za??to ga nema na debianu?
>
> Prije ga je bilo, dok se neki pametnjakovic nije sjetio to maknuti iz base
> installa.
Trenutno ga nema nigdje. :-/
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12
yess, svaka ti dala majstore :)
> Dakle, aj da ne bude samo prepucavanje, evo i mozgalice:
>
> napravio sam mv /lib/libc-2.5.so /tmp/blablanijebitnozakajikak
>
> Ima nekaj elegantnije?
Nisi bio ba� informativan o destinaciji. Ako je ime ostalo isto, mo�e�
probati:
LD_LIBRARY_PATH=/tmp mv /tmp/libc-2.5.so /lib/libc-2.5.so
Ako se ime promijenilo, onda mo�e� iskopirati libc-2.5.so s drugog sistema
u svoj home direktorij (valjda �e scp raditi, ako sshd radi), pa postaviti
LD_LIBRARY_PATH na svoj $HOME.
Pretpostavljam da sln ne�e raditi ako si libc-2.5.so prebacio na drugu
particiju (�to bi /tmp mogao biti).
Ili mo�e� (ako je ime ostalo isto):
echo /tmp >/etc/ld.so.conf.d/nogemismrde.conf
ldconfig
Mo�da se mo�e i jo� ne�to.
--
.-. .-. Yes, I am an agent of Satan, but my duties are largely
(_ \ / _) ceremonial.
|
| da...@fly.srk.fer.hr
Ak nis, na debianu mi se po defaultu instalirao busybox.
> Vedran Furač wrote:
>> Igor Pozgaj wrote:
>>
>>> On 2009-11-26, Vedran Fura?? <ved...@vedranf.mine.nu> wrote:
>>>>> Da, mora ti to raditi... Evo probao u virtualcu sa CentOS-om, samo napravi
>>>>> sln /tmp/gogala /lib/libc-2.5.so, to ce biti enough da se dalje mozes normalno
>>>>> izvuci iz govana. Sln == staticaly linked ln, namijenjen bas za ovakve situacije ;)
>>>> Za??to ga nema na debianu?
>>> Prije ga je bilo, dok se neki pametnjakovic nije sjetio to maknuti iz base
>>> installa.
>> Trenutno ga nema nigdje. :-/
>
> Ak nis, na debianu mi se po defaultu instalirao busybox.
Ali kako ti on u ovom slučaju pomaže:
% ldd $(which busybox)
linux-vdso.so.1 => (0x00007fffaf9ff000)
libm.so.6 => /lib/libm.so.6 (0x00002ae2a064e000)
libc.so.6 => /lib/libc.so.6 (0x00002ae2a08d0000)
/lib64/ld-linux-x86-64.so.2 (0x00002ae2a0430000)
?
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12
> Ali kako ti on u ovom slučaju pomaže:
>
> % ldd $(which busybox)
>
> linux-vdso.so.1 => (0x00007fffaf9ff000)
> libm.so.6 => /lib/libm.so.6 (0x00002ae2a064e000)
> libc.so.6 => /lib/libc.so.6 (0x00002ae2a08d0000)
> /lib64/ld-linux-x86-64.so.2 (0x00002ae2a0430000)
>
> ?
Gle fakat. Koji kreteni. Na RH-u je to staticki linkano po
defaultu. Na debilanu moras naravno doinstalirat busybox-static.
> Aleksandar Ivanisevic wrote:
>
>> Dakle, aj da ne bude samo prepucavanje, evo i mozgalice:
>>
>> napravio sam mv /lib/libc-2.5.so /tmp/blablanijebitnozakajikak
>>
>> Ima nekaj elegantnije?
>
> Nisi bio baš informativan o destinaciji. Ako je ime ostalo isto, možeš
> probati:
>
> LD_LIBRARY_PATH=/tmp mv /tmp/libc-2.5.so /lib/libc-2.5.so
Da, ime je bilo isto, i ovo bi isto radilo.
> Ako se ime promijenilo, onda možeš iskopirati libc-2.5.so s drugog sistema
> u svoj home direktorij (valjda će scp raditi, ako sshd radi), pa postaviti
> LD_LIBRARY_PATH na svoj $HOME.
sshd ne radi za nove konekcije jer ne moze forkat novu instancu, dakle
imao sam samo onaj session u kojem sam napravio sranje. Da sam mogo
nes iskopirat, iskopiro bi si staticki linkani busybox i basta.
> Pretpostavljam da sln neće raditi ako si libc-2.5.so prebacio na drugu
> particiju (što bi /tmp mogao biti).
>
> Ili možeš (ako je ime ostalo isto):
>
> echo /tmp >/etc/ld.so.conf.d/nogemismrde.conf
> ldconfig
>
> Možda se može i još nešto.
Osjecam se vrlo posramljeno sto sam razmisljao o egzotikama poput
pejstanja printfova kad mi je na raspolaganju toliko jednostavnijih
rjesenja.
Kaje najbitnije, originalni zajeb sam i napravio tako sto sam isao
fizicki radit nesto sto bi entry u /etc/ld.so.conf.d/ trebao radit
automatski (hwcap nosegneg) i znao sam jako dobro za tu foru, ali
eto... izgleda da kad vidim 'Cannot load shared library' pocnem se
ponasat ko jelen u reflektorima ;)
Hmmm, bas me zanima kako bi se LD_PRELOAD ponasao ovdje. Zna netko?
>> Ima nekaj elegantnije?
>
> Hmmm, bas me zanima kako bi se LD_PRELOAD ponasao ovdje. Zna netko?
sasvim fino, to je rjesenje ako si renameao lib u neko drugo ime pa
LD_LIBRARY_PATH ne pomaze.
On Thu, 26 Nov 2009, Vedran Furač wrote:
> Aleksandar Ivanisevic wrote:
>
>> Ima nekaj elegantnije?
>
> Ja ti na desktopu uvijek imam jedan python shell pokrenut. Iz njega
> uvijek mogu napravit move(old, new). ;)
I trosit shell koji zna radit sa binarnim podacima (khm, zsh, khm) nekad
zna bit korisno:
% echo -nE "$(< /lib/libc-2.10.1.so)" >lc
% cmp /lib/libc-2.10.1.so lc
%
Cool! Nažalost, zsh nije default na serverima. :(
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12
> > Ako se ime promijenilo, onda mo�e� iskopirati libc-2.5.so s drugog sistema
> > u svoj home direktorij (valjda �e scp raditi, ako sshd radi), pa postaviti
> > LD_LIBRARY_PATH na svoj $HOME.
>
> sshd ne radi za nove konekcije jer ne moze forkat novu instancu, dakle
> imao sam samo onaj session u kojem sam napravio sranje. Da sam mogo
> nes iskopirat, iskopiro bi si staticki linkani busybox i basta.
Jasno mi je da ne mo�e napraviti exec, ali �udno mi je da se nije mogao
forkati. Ima� negdje gre�ku koju je izbacivao?
> Kaje najbitnije, originalni zajeb sam i napravio tako sto sam isao
> fizicki radit nesto sto bi entry u /etc/ld.so.conf.d/ trebao radit
> automatski (hwcap nosegneg) i znao sam jako dobro za tu foru, ali
> eto... izgleda da kad vidim 'Cannot load shared library' pocnem se
> ponasat ko jelen u reflektorima ;)
Aha, k'o svaki manager kad sku�i da se sranje dogodilo. :-)
> Cool! Na�alost, zsh nije default na serverima. :(
Zato �to je to shell kojeg koriste profesionalci, pa ne treba generalnoj
publici. :-)
> Nikola Ostrun wrote:
>
>> % echo -nE "$(< /lib/libc-2.10.1.so)" >lc
>
> Zar ovaj $(< ...) ne izvr�ava cat?
Ne. Je ekvivalent, ali ne poziva cat(1).
--
VI = Virtually Incomprehensible.
[...]
> Cool! Na�alost, zsh nije default na serverima. :(
Eh, na serverima je i libc po defaultu u /lib. To je od admina do
admina :-)
Sumnjam. LD_PRELOAD �e u�itati preimenovani libc, ali onda �e ld.so htjeti
u�itati libc pod imenom koje ima zapisano u executablu, ne�e ga na�i i
prijavit �e gre�ku.
> Aleksandar Ivanisevic wrote:
>> Ivan Popovski <vivivava@nj.g> writes:
>>
>> >> Ima nekaj elegantnije?
>> >
>> > Hmmm, bas me zanima kako bi se LD_PRELOAD ponasao ovdje. Zna netko?
>>
>> sasvim fino, to je rjesenje ako si renameao lib u neko drugo ime pa
>> LD_LIBRARY_PATH ne pomaze.
>
> Sumnjam. LD_PRELOAD �e u�itati preimenovani libc, ali onda �e ld.so
> htjeti u�itati libc pod imenom koje ima zapisano u executablu, ne�e ga
> na�i i prijavit �e gre�ku.
Izgleda da ga ipak ne u�ita preimenovanog:
$ cd /lib; sudo python
>>> import os
>>> os.rename('libc.so.6', 'libc.so.6.x') # don't try this at home!
# u drugom termu
$ ls
ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
$ LD_PRELOAD=/lib/libc.so.6.x ls
... output ...
>>> os.rename('libc.so.6.x', 'libc.so.6) # va�an korak za one koji ipak probaju
E upravo na to sam ciljao, tj totalno nebitno sto je sve prije ucitao, zanimalo
me dal ce na kraju izbaciti gresku posto nemre naci libc.
Ti sumnjas, a ja vise empirijski
[root@alex ~]# cd /lib/
[root@alex lib]# mv libc-2.7.so burek
[root@alex lib]# date
date: error while loading shared libraries: libc.so.6: cannot open
shared object file: No such file or directory
[root@alex lib]# LD_PRELOAD=burek date
Sun Nov 29 18:15:58 CET 2009
[root@alex lib]# LD_PRELOAD=burek mv burek libc-2.7.so
[root@alex lib]# date
Sun Nov 29 18:16:16 CET 2009
[root@alex lib]#
Bravo. A valjda je ld.so pokupio soname iz preloadanog libraryja i onda
zaklju�io da je dependency zadovoljen. Ta mi opcija nije pala na pamet dok
sam sumnjao. :-)
> [root@alex lib]#
Pa kako mo�e� kompjuter nazvati po sebi? Koji si ti narcis. :-)
> Aleksandar Ivanisevic wrote:
>> Drazen Kacar <da...@fly.srk.fer.hr> writes:
>
>> > Ako se ime promijenilo, onda možeš iskopirati libc-2.5.so s drugog sistema
>> > u svoj home direktorij (valjda će scp raditi, ako sshd radi), pa postaviti
>> > LD_LIBRARY_PATH na svoj $HOME.
>>
>> sshd ne radi za nove konekcije jer ne moze forkat novu instancu, dakle
>> imao sam samo onaj session u kojem sam napravio sranje. Da sam mogo
>> nes iskopirat, iskopiro bi si staticki linkani busybox i basta.
>
> Jasno mi je da ne može napraviti exec, ali čudno mi je da se nije mogao
> forkati. Imaš negdje grešku koju je izbacivao?
Nema nis po logovima, bar ja direktor neznam naci.
>> Kaje najbitnije, originalni zajeb sam i napravio tako sto sam isao
>> fizicki radit nesto sto bi entry u /etc/ld.so.conf.d/ trebao radit
>> automatski (hwcap nosegneg) i znao sam jako dobro za tu foru, ali
>> eto... izgleda da kad vidim 'Cannot load shared library' pocnem se
>> ponasat ko jelen u reflektorima ;)
>
> Aha, k'o svaki manager kad skuži da se sranje dogodilo. :-)
Otprilike ;)
> Bravo. A valjda je ld.so pokupio soname iz preloadanog libraryja i onda
> zaključio da je dependency zadovoljen. Ta mi opcija nije pala na pamet dok
> sam sumnjao. :-)
>
>> [root@alex lib]#
>
> Pa kako možeš kompjuter nazvati po sebi? Koji si ti narcis. :-)
Ja sam vec stari konj, ne dize mi se vise kad masine zovem po hobitima
ili star wars junacima, pa da mi je super intuitivno poslije di je
kaj.
Meni sve masine imaju dosadna i vrlo predvidljiva imena. Sad kad
snifam mrezu i gledam ko radi sranja, odma znam di da idem s pajserom.
> > Pa kako mo�e� kompjuter nazvati po sebi? Koji si ti narcis. :-)
>
> Ja sam vec stari konj, ne dize mi se vise kad masine zovem po hobitima
> ili star wars junacima, pa da mi je super intuitivno poslije di je
> kaj.
Ba� si konj. Treba� ih nazivati po direktorovim ljubavnicama i u�ivati u
njegovoj laganoj spoznaji da to ipak nije koincidencija. :-)
> Meni sve masine imaju dosadna i vrlo predvidljiva imena. Sad kad
> snifam mrezu i gledam ko radi sranja, odma znam di da idem s pajserom.
Je l' ikome zabavno s tobom raditi?
>> Meni sve masine imaju dosadna i vrlo predvidljiva imena. Sad kad
>> snifam mrezu i gledam ko radi sranja, odma znam di da idem s pajserom.
>
> Je l' ikome zabavno s tobom raditi?
Svakome tko mi ne radi dodatan nepotreban posao. Nadje ih se, vjerovao
ili ne, neki ljudi shvacaju i bez da se deres na njih.
> Drazen Kacar <da...@fly.srk.fer.hr> writes:
>
>>> Meni sve masine imaju dosadna i vrlo predvidljiva imena. Sad kad
>>> snifam mrezu i gledam ko radi sranja, odma znam di da idem s pajserom.
>> Je l' ikome zabavno s tobom raditi?
>
> Svakome tko mi ne radi dodatan nepotreban posao.
Nije ti zabavno raditi sa stanovitim Aleksandarom Ivanisevicem koji
skriva libceve po mašinama? ;)
--
http://vedranf.net | a8e7a7783ca0d460fee090cc584adc12