位數固定可控字符的任意命令執行

15長度:

在這裏插入圖片描述
思路分兩種:
1 是直接寫
2 是從外部服務器下載 比如
在這裏插入圖片描述
限制字數沒有限制次數:

在這裏插入圖片描述
依次追加寫入就好了~~
在這裏插入圖片描述

七個字符:

p神寫的牛逼!

\切割的思路去實現:

在這裏插入圖片描述
shell如下:

爲什麼要base64呢?

做開發第一個接觸的編碼方式就是Base64,當時是用url來傳輸一些參數,傳輸的兩端會用Base64來編碼和解碼,保證數據不被url轉義破壞。

在這裏插入圖片描述
shell和py 腳本如下:

在這裏插入圖片描述
四位和五位的情況:

五個字符的:

題目:
在這裏插入圖片描述
ls -t 爲了讓 文件名字可控,否則 是按 默認的文件名排序的(字母順序)
在這裏插入圖片描述
所以 這個點不是很好構造。
在這裏插入圖片描述
默認排序是上面那個

思路是 直接生成 ls的文件在後面追加
在這裏插入圖片描述
shell如下:
在這裏插入圖片描述
在這裏插入圖片描述
可以發現ls -t 沒有執行
因爲沒有 加空格
所以在shell裏面 加上空格
在這裏插入圖片描述

四位的shell

需要擴展幾個知識點:
關鍵點在於 通配符:

在這裏插入圖片描述

相當於 把文件名拼接成一句話去做命令執行:
在這裏插入圖片描述

星號加 命令 去實現 長命令的拼接:
在這裏插入圖片描述
知識點2
逆序的命令:
在這裏插入圖片描述
*的話 會直接 執行的
在這裏插入圖片描述

思路是這樣~~
在這裏插入圖片描述

無數字字母的shell

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章