附:完整筆記目錄~
ps:本人小白,筆記均在個人理解基礎上整理,若有錯誤歡迎指正!
1.1.2 Web類別
-
引子:上一篇主要對Web的組成做了總結,本章則對我們所能遇到大多數Web型別進行總結。
-
Web架構型別
-
純靜態Web
- Traits:純前端頁面,僅為展示作用,無任何使用者與Web的互動功能。由於無任何動態功能,因此也不存在常見的Web漏洞。
-
前後端不分離
-
Traits:前端程式碼鑲嵌在後端框架中。當使用者訪問時,由後端將前端頁面渲染後再傳送給使用者,而使用者對Web進行互動時,互動行為以http資料包的形式傳送至後端,後端處理完使用者請求後再返回新的前端頁面給使用者。
由於這種工作模式,導致使用者每一次與Web進行互動時都會重新整理一次頁面。現在這種站應該很少了吧?
-
-
前後端分離Web
- Traits:前端頁面一般被放置在靜態資源伺服器或CDN上,後端頁面則仍放置在後臺伺服器,二者不再相互巢狀,前後端透過介面通訊,如AJAX。前後端分離的Web在處理使用者互動時僅會更改前端頁面的部分內容,而無需重新載入。
-
-
Web搭建型別
-
套模板搭建
- Traits:即所創Web是基於官方所提供模板而生成。與其說是個人網站/部落格,其本質則為官站下的子站。因此是否會產生漏洞,與官站相關,而與滲透測試目標無關。
- 例:csdn、部落格園等站內個人部落格,依託於建站系統生成的網站等。
-
自主/映象搭建
-
Traits
-
自主搭建:即上一章所提Web架構均由開發者自己分別部署,如透過官網自己下載Apache、Php、Mysql等。
-
映象搭建:與自主搭建類似,只不過作業系統映象內已提前安裝好了Apache、Php等,無需開發者再次下載。
-
-
例:阿里雲映象市場可直接購買含作業系統+Web元件的映象系統。
-
-
整合軟體搭建
- Traits:透過整合軟體面版進行一鍵搭建。如寶塔,Phpstudy等,可一鍵部署安裝所需元件,且整合軟體一般會內建安全策略。總之相較於自主/映象搭建,更方便也更安全。
注:映象市場中同樣也包含作業系統+整合軟體的映象系統。
-
容器搭建
- Traits:簡單來說,一個容器相當於一個虛擬機器。只不過容器僅虛擬作業系統,而虛擬機器則連同硬體如處理器、網路卡等一同虛擬。而容器搭建,則是將Web搭建到容器所虛擬的作業系統中。
- 例:使用docker pull下來的Web元件映象。
-
-
實驗
-
實驗內容:透過自主/映象、整合軟體、容器搭建Web服務,並上傳後門,觀察這三種搭建形式下WebShell許可權的不同。
-
步驟
-
阿里雲租三臺Ubuntu伺服器,分別採用上述三種方式搭建Web服務。
-
自主搭建Web服務,透過阿里雲映象倉庫下載Apache
# 僅更新軟體包索引,檢查是否存在新版本 sudo apt update # 對已安裝軟體包進行更新 sudo apt upgrade -y # 安裝中介軟體 sudo apt install apache2 -y sudo systemctl start apache2 sudo systemctl status apache2 # 安裝php語言環境 sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-xml php-mbstring -y sudo systemctl stop ufw
-
使用寶塔搭建Web服務,先安裝寶塔皮膚,再透過寶塔皮膚一鍵安裝Web服務
sudo apt install -y wget curl wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh sudo bash install.sh # 安裝完成後,根據提示進入寶塔皮膚再安裝Web服務
-
使用docker部署Web服務
sudo apt update sudo apt install -y docker.io sudo systemctl start docker docker pull php:7.4-apache
-
分別上傳使用哥斯拉生成.php的後門檔案
# 自主搭建,Web服務預設目錄為:/var/www/html # 寶塔搭建,預設目錄為:/www/wwwroot/xxx.xxx.xxx.xxx/ # docker搭建,需將本地檔案掛載至其http服務的預設目錄下 docker run -d --name test-web -p 80:80 -v /door.php:/var/www/html/door.php php:7.4-apache
-
使用哥斯拉連線,並觀察其不同搭建方式下伺服器許可權的區別
-
自主搭建
高許可權,且支援跨目錄訪問&命令執行等。
-
寶塔搭建
由於寶塔的安全策略,不支援跨目錄訪問&命令執行
-
docker搭建
顯然,透過docker搭建的Web服務是獨立於本機的,則即使拿到了Webshell也是其容器許可權而與真實伺服器無關,那怎樣透過容器許可權拿真實伺服器許可權呢?
-
-
本章節實驗結束
-
-