Environment-Variables
利用漏洞時未設置 HOME
我有一個錯誤 sh: line 61: cd: HOME not set。
發行版:Metasploitable 2 (Ubuntu 8.04)
/root/.bashrc
(註釋和空格已刪除):[ -z "$PS1" ] && return shopt -s checkwinsize [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi case "$TERM" in xterm-color) PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ;; *) PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' ;; esac case "$TERM" in xterm*|rxvt*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' ;; *) ;; esac if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=auto' fi
貓 /root/.profile
# ~/.profile: executed by Bourne-compatible login shells. if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi mesg n
ps -p $$ -ocomm=
sh
我嘗試在我的 kali 中使用“rlogin -l root xxxx”到這台機器,但它不起作用。.rhosts 文件沒問題,但我收到此錯誤消息,所以也許這就是它不起作用的原因。
- 使用後門在 1524 使用 telnet 登錄
- 使用 samba userman 腳本漏洞登錄:
3)帶密碼的ssh(cd正在工作):
當您通過正常方法(在控制台、通過 SSH 等)登錄時,處理登錄的程序會設置一些環境變數,包括
HOME
. 如果您不是通過登錄而是通過利用程序中的漏洞來訪問 shell,您將獲得該程序的環境,該環境通常但不總是包括HOME
.在 bash 中,由於某種原因,
cd
不帶參數的命令使用 的值HOME
作為目標。/etc/passwd
但是,如果HOME
未設置波浪號擴展,則從使用者數據庫(例如)回退到主目錄。因此,如果HOME
未設置,則會cd
抱怨,但cd ~
會更改使用者的主目錄。未設置時不帶參數cd $HOME
執行。cd``HOME
當您利用漏洞時,您不能指望環境是熟悉的環境。從能夠執行程式碼(例如,擁有一個外殼)到設置一個方便的環境來執行標準程式碼,這是製作漏洞利用技術的一部分——最簡單的部分。