Próbowałem uzyskać dostęp, redis-cli
ale ponieważ jestem tak leniwy, że red
dwukrotnie wpisałem i wcisnąłem klawisz tab, ale zauważyłem, że faktycznie znajduje się plik binarny, pod red
którym się znajduje /bin/
.
Kiedy to zrobiłem
cat /bin/red
to pokazało
#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"
Wiesz co to jest?
Uwaga. kiedy wykonuję red
, po prostu czeka na dane wejściowe i cokolwiek wpisuję, albo zapisuje je i czeka na kolejną prośbę, albo zwraca ?
, pamiętaj, że tylko po naciśnięciu q
kończy działanie. również przy wstawianiu cyfr od 0 do 9 i kontynuowaniu wpisywania pokazuje każde wprowadzone wejście, gdy zapisało to, co wpisałeś wcześniej
przykład:
a <<<-- input
bsa <<< input taken without ?
^C <<<--- hitting ctrl-c
? <<<--- output
przyklad 2:
v
?
b
?
a
qwrefdf <<-- saved because it didn't output ? after typing "a" up
^C
?
<<- waiting for input
więc „h” wyprowadza „niepoprawny adres” i tylko „a”, „x”, „c” i „i” akceptuje wprowadzanie. wszystko inne niż liczby powoduje?
dpkg -S /bin/red
. Dzięki temu dowiesz się, że plik jest częściąed
pakietu iapt-cache show ed
podasz opis tego pakietu.man red
.Odpowiedzi:
red
jested
w trybie ograniczonym.Ponadto, pokazy kod, wykonuje
ed --restricted
odbindir
wszystkich argumentów ("$@"
).Aby uruchomić instrukcję
ed
i jej polecenia, uruchominfo Ed
.W rozdziale
Invoking ed
:źródło
file /bin/red
icat /bin/red
(ponieważfile
pokazuje, że jest to „skrypt powłoki POSIX, wykonywalny tekst ASCII).