什麼是XSS
XSS 又叫CSS(Cross site Scripting)跨站腳本工具,常見的WEB漏洞之一,再2013年度OWASP TOP 10 中排名第三html
XSS 是指***者再網頁中嵌入客戶端腳本,一般是JS惡意代碼,當用戶使用瀏覽器訪問被嵌入惡意代碼網頁時,就會再用戶瀏覽
器上執行。web
XSS有什麼危害
網絡釣魚,竊取用戶Cookise,彈廣告刷流量,具有改頁面信息,刪除文章,獲取客戶端信息,傳播蠕蟲shell
XSS的三種類型
反射型,存儲型,Dom型數據庫
反射型
又稱非持久型XSS,最容易出現的一種XSS漏洞瀏覽器
主要用於將惡意腳本附加到URL 地址的參數中,只有當受害者點擊這些連接的時候,纔會觸發惡意JS腳本,特色是隻有在用戶單
擊時觸發,並且只執行一次。服務器
存儲型XSS
在網站上的留言板或者評論處,存放了XSS惡意代碼,當用戶點擊留言板或者評論處,便可觸發反射型XSS反饋給***者,便可拿
到用戶的信息網絡
DOM Base XSS
Dom型XSS並不須要服務器解析響應的直接參與觸發XSS靠的是瀏覽器DOM 解析ide
DOM 型就是JavaScript 中的Document對象HTML 注入。直接瀏覽器處理函數
常見的XSS防禦方法
加CDN 防禦, 代碼層過濾,數據庫層過濾,本身搭建防火牆,還能夠開啓 HttpOnly 或則 CSP 策略來防禦XSS的***工具
文件上傳
什麼是文件上傳
Web 應用程序一般會有文件上傳功能,發佈圖片,招聘網站上發佈DOC格式簡歷,只要web應用程序容許上傳就有可能存在文件上傳漏洞
文件上傳的校驗流程
上傳文件, Http POST請求(上傳文件),傳給WEB服務器,
服務端開始驗證檢測,判斷是不是正常文件,檢測後綴,檢測內容,判斷邏輯
檢測不經過直接拉入黑名單。
推薦一個測試上傳的web
https://GitHub.com/cOnly1/upload-labs
客戶端驗證 (其實做用不大)
MIME驗證
MIME type的縮寫爲(Multipurpose Internet Mail Extensions)表明互聯網媒體類型(Internet media type),MIME使用一個
簡單的字符串組成,最初是爲了標識郵件Email附件的類型,在html文件中可使用content-type屬性表示,描述了文件類型的
互聯網標準。
MIME主類別:
text:用於標準化地表示的文本信息,文本消息能夠是多種字符集和或者多種格式的;
Multipart:用於鏈接消息體的多個部分構成一個消息,這些部分能夠是不一樣類型的數據;
Application:用於傳輸應用程序數據或者二進制數據;
Message:用於包裝一個E-mail消息;
Image:用於傳輸靜態圖片數據;
Audio:用於傳輸音頻或者音聲數據;
Video:用於傳輸動態影像數據,能夠是與音頻編輯在一塊兒的視頻數據格式。
MIME驗證
如何防禦
嚴格管控上傳目錄的權限,去掉執行權限,
經過一些開源軟件來檢測文件。
命令執行
什麼是命令執行
命令執行漏洞是指***者能夠隨意執行系統命令。屬於高危漏洞之一任何腳本語言均可以調用操做系統命令
應用有時須要調用一些執行系統命令的函數,如PHP中的system、exec、shell、popen、proc_popen等,當用戶能控制這些函數
中的參數時,就能夠見惡意系統命令
拼接到正常名字,從而形成命令執行***,這急速命令執行漏洞