Mat
Aktives Mitglied
Moin Leute,
mich würde interessieren, ob mein .bashrc mich anfällig für command injection Angriffe macht oder ob echo schon automatisch escaped ist.
So sieht das dann als Ergebnis aus:
Weil die Rechte auf dem Server stark eingeschränkt sind, gibt es keine MOTD-Funktionalität und man kann sie auch nicht aktivieren.
Deswegen habe ich mir behelfsmäßig eine MOTD für Arme gebastelt. Nur ich habe Zugang, aber ich wollte prinzipiell wissen, ob das Skript auch für andere Fälle so OK ist. Recycling ist wichtig.
mich würde interessieren, ob mein .bashrc mich anfällig für command injection Angriffe macht oder ob echo schon automatisch escaped ist.
Skript:
Bash:
# Anstelle der CGI-Version
alias php='/opt/RZphp74/bin/php-cli'
# Aufrufen zB per: composer -d $PWD update
alias composer='php ~/bin/composer'
# docroot der aktuellen live-Seite
export DOCROOT_LIVE="/XYZ/htdocs/live"
alias gotopub="cd $LIVE"
# Ab hier Einstellungen fuer interaktive Shells
[[ $- != *i* ]] && return
# Buntbunt
alias ls='ls --color=auto'
PS1='\[\e[1;34m\]\w \[\e[0m\]\$ '; PROMPT_DIRTRIM=2
alias hilfe="vim -M $HOME/skripte/README.md"
# Letzter Login
LAST_LOGIN_FILE="$HOME/.lastlogin"
SERVER_TIME="$(date +"%Y-%m-%d %T")"
if [ ! -e $LAST_LOGIN_FILE ]
then
echo $SERVER_TIME > $LAST_LOGIN_FILE
LAST_LOGIN=$SERVER_TIME
else
LAST_LOGIN=$(cat $LAST_LOGIN_FILE)
fi
echo -e "\e[1;36m######################################################\033[0m"
echo -e "\e[1;36m SYSTEM: \e[0;32m$(uname -a)\033[0m"
echo -e "\e[1;36m SHELL: \e[0;34m$(bash --version | head -1)\033[0m"
echo -e "\e[1;36m PWD: \e[1;33m$(pwd)\033[0m"
echo -e "\e[1;36m SERVERZEIT: \e[3;32m$SERVER_TIME\033[0m"
echo -e "\e[1;36mLETZTER LOGIN: \e[3;31m$LAST_LOGIN\033[0m"
echo -e "\e[1;36m BEFEHLE: \e[0;32mphp, composer, gotopub, hilfe\033[0m"
echo -e "\e[1;36m######################################################\033[0m"
echo $SERVER_TIME > $LAST_LOGIN_FILE
So sieht das dann als Ergebnis aus:
Szenario:
Bisschen weit hergeholt, aber ein mögliches Szenario:- es gibt 1 ssh-admin und mehrere normale ssh-user
- admin und user teilen sich das homeverzeichnis
- nur ssh-admin hat Schreibrechte im home
- alle haben Ausführungsrechte im home
- normale user haben Schreibrechte in einem Unterordner
.lastlogin
: ups, jeder hat Schreibrechte- unberechtigte Person gelangt an Zugangsdaten eines normalen users
- person schreibt etwas in
.lastlogin
- admin loggt sich ein und
.bashrc
wird mit dem manipulierten.lastlogin
ausgeführt
more
(Fenstergröße ändern) Systembefehle in vim ausführen konnte.Kontext:
Ich habe auf einem Webserver SSH-Zugang, den ich manchmal für Webseitenupdates benutze.Weil die Rechte auf dem Server stark eingeschränkt sind, gibt es keine MOTD-Funktionalität und man kann sie auch nicht aktivieren.
Deswegen habe ich mir behelfsmäßig eine MOTD für Arme gebastelt. Nur ich habe Zugang, aber ich wollte prinzipiell wissen, ob das Skript auch für andere Fälle so OK ist. Recycling ist wichtig.
Zuletzt bearbeitet: