XSS
存儲型XSS
XSS腳本存在數據庫中(黑客構造XSS腳本上傳,存入數據庫。用戶訪問網頁時觸發。)
反射型XSS
用戶主動訪問一個含XSS腳本的鏈接,XSS腳本包含在url參數中。(服務器將xss腳本寫入到相應頁面中)
DOM型XSS
用戶主動訪問一個含XSS腳本的鏈接,XSS腳本包含在url的hash中。(前端通過js提取xss腳本內容,寫入到dom中)
CSRF
Cross-site request forgery 跨站請求僞造,屬於客戶端漏洞
危害
- 執行惡意操作
- 製造蠕蟲
- 利用用於已登錄的身份,在用戶毫不知情的情況下,以用戶的名義完成操作。
點擊劫持
點擊劫持是通過覆蓋不可見的框架誤導受害者點擊而造成的攻擊行爲。
特點
- 隱蔽性較高
- 騙取用戶操作
- UI-覆蓋攻擊(利用iframe或者其他標籤的屬性)
URL跳轉漏洞
藉助未驗證的URL跳轉,將應用程序引導到不安全的第三方區域,而導致的安全問題。
實現方式
- Header頭跳轉,設置header裏的Location參數。
- JS跳轉
- Meta標籤
SQL注入
SQL Injection,是一種常見的Web安全漏洞,攻擊者利用這個漏洞,可以訪問或修改數據,或者利用潛在的數據庫漏洞進行攻擊。
過程描述
- 獲取用戶請求參數
- 拼接到代碼當中
- SQL按照我們構造參數的語義執行成功
SQL注入條件
- 可以控制輸入的數據
- 服務器要執行的代碼拼接了控制的數據(數據和代碼未分離)
危害
- 獲取數據庫信息(管理員後臺用戶名和密碼、脫褲、其他敏感信息 用戶名 密碼 手機號碼 身份證 銀行卡信息)
- 獲取服務器權限
- 植物Webshell,獲取服務器後門
- 讀取服務器敏感信息
- 萬能密碼
命令注入
攻擊過程
- 黑客構造命令
- 服務器拼接命令,執行注入的命令
- 結果回顯
命令注入的條件
- 調用可執行系統命令的函數
- 函數或函數的參數可控
- 拼接注入命令
文件操作漏洞
漏洞:文件上傳(Webshell、木馬)、文件下載(系統任意文件、程序代碼、數據庫配置文件)
文件上傳漏洞
條件:可以上傳可執行腳本 & 腳本擁有執行權限
任意文件下載
條件:未驗證下載文件格式 & 未限制請求的路徑
文件包含漏洞
本地文件包含,遠程文件包含
常用的文件包含函數:include(), require(), include_once(), require_once() …