provlima se bash scripting
Michael Iatrou
iatrou at serverhive.com
Wed Dec 6 02:05:46 EET 2006
When the date was Wednesday 06 December 2006 01:37, Giorgos Keramidas wrote:
> On 2006-12-06 01:02, Michael Iatrou <iatrou at serverhive.com> wrote:
> >When the date was Wednesday 06 December 2006 00:39, Giorgos Keramidas
wrote:
> >>On 2006-12-06 00:25, Michael Iatrou <iatrou at serverhive.com> wrote:
> >>>When the date was Wednesday 06 December 2006 00:18, V13 wrote:
> >>>> H teleia (.) sto PATH se opoiadipote egkatastash ston kosmo h opoia
> >>>> prokeitai na filoksenisei 2 h perissoteroys xristes einai problima
> >>>> asfaleias.
> >>>
> >>> Γιατί;
> >>
> >> Old times' classic ``exploit'':
> >>
> >> Γιατί κάποιοι κακοηθέστατοι users, μπορεί να πάνε στο /tmp και να
> >> φτιάξουν ένα script με όνομα "mroe", που κάνει π.χ.:
> >>
> >> #!/bin/sh
> >>
> >> echo 'PWNED K THX LOL'
> >>
> >> Ύστερα περιμένουν απλά μέχρι τη μέρα που ένας χρήστης με superuser
> >> rights [...]
> >
> > Όπως το έθεσε, μου φάνηκε ότι αναφερόταν (και πάνω σε αυτό ήταν το
> > ερώτημα) σε απλούς χρήστες. Εξάλλου, τη περίπτωση για superuser την
> > είχα αποκλείσει εξαρχής.
>
> Και για απλούς χρήστες το 'security bug' ισχύει. Απλά δεν θα τρέξει το
> script με δικαιώματα superuser, αλλά θα τρέξει με δικαιώματα ενός
> 'άλλου' χρήστη. Εγώ, προσωπικά, δε θα θελα να τρέξει κάποια στιγμή το
> random script του random user με δικαιώματα 'keramida' :)
$ cat -n /tmp/more
1 #!/bin/bash
2
3 echo "got you!"
$ cd /tmp
$ ls | more | grep got
$ ls | ./more | grep got
got you!
Το script δεν θα τρέξει, γιατί απλά το `.' είναι τελευταίο στο PATH.
Corner case, o χρήστης να έχει κάνει append στο PATH δικά του directories,
μετά το `.' (όπου εδώ δεν είναι security vulnerability, είναι χαζομάρα του
χρήστη) και ο attacker να φτιάξει στο /tmp ένα script με το αντίστοιχο
filename (που προφανώς πρέπει να μαντέψει, αν ο χρήστης προσέχει τι
permissions δίνει στα directories του).
--
Michael Iatrou
More information about the Linux-greek-users
mailing list