本地權限提升(Local Privilege Escalation, LPE)

git clone https://github.com/V4bel/dirtyfrag.git

sudo apt install gcc:下載gcc

cd dirtyfrag:切換到dirtyfrag目錄

gcc -o exp exp.c :使用 gcc 編譯器,把 C 語言原始碼 exp.c 編譯成一個叫做 exp 的可執行檔(-o 代表輸出檔名)。

./exp:執行執行檔exp

從一般的身份獲得管理員的權限

從一般的身份獲得管理員的權限

建立自己的 Docker 映像檔(Image)

mkdir test-dockerfile

cd test-dockerfile/

vim Dockerfile

# 使用 Ubuntu 22.04 作為基礎鏡像
FROM ubuntu:22.04

# 更新套件清單並安裝 apache2
RUN apt-get update && apt-get install -y apache2

# 從本地複製 index.html 到容器內的預設網頁目錄
# 注意:這會覆蓋 Apache 預設的 index.html
COPY index.html /var/www/html/index.html

# 告知 Docker 容器內部會監聽 80 埠
EXPOSE 80

# 啟動後自動執行 Apache
# 使用 -D FOREGROUND 是為了讓進程留在前台,否則容器啟動後會立即退出
CMD ["apachectl", "-D", "FOREGROUND"]

cat Dockerfile

image.png

  1. FROM ubuntu:22.04 (基礎作業系統)

含意:指定這張自製映像檔的「基底」是 Ubuntu 22.04 官方作業系統。

比喻:就像蓋房子要先選好地基,這裡我們選擇在 Ubuntu 系統上開始蓋我們的網頁伺服器。

  1. RUN apt-get update && apt-get install -y apache2 (安裝環境)

含意:在建立映像檔的過程中,在裡面執行 Linux 指令,更新軟體源並安裝 Apache 網頁伺服器(y 代表自動同意所有確認提示)。

重要性RUN 指令發生的時間點是在「做杯子(做映像檔)」的時候,而不是「裝水(跑容器)」的時候。