一、命令執行
1:什么是命令執行?
命令執行漏洞是指攻擊者可以隨意執行系統命令。屬於高危漏洞之一任何腳本語言都可以調用操作系統命令。
應用有時需要調用一些執行系統命令的函數,舉個例子如:PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,當用戶能控制這些函數中的參數時,就可以將惡意系統命令
拼接到正常命令中,從而造成命令執行攻擊,這就是命令執行漏洞。
針對命令執行漏洞的防護措施
1:回收非ROOT用戶對文件的執行權限
2:禁止掉非法函數,如PHP下的某些危險函數
二、文件上傳
1:什么是文件上傳?
Web應用程序通常會有文件上傳功能,發布圖片、招聘網站上發布doc格式簡歷,只要web應用程序允許上傳就有可能存在文件上傳漏洞
2:文件上傳危害
①通過文件上傳webshell文件,對網站控制
②執行系統命令
3:文件上傳流程

4:客戶端驗證流程

5: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:用於傳輸動態影像數據,可以是與音頻編輯在一起的視頻數據格式。

6:文件上傳類流程
7:怎么去防護文件上傳漏洞?
①上傳目錄權限限制
②利用開源的殺毒軟件
③開發人員在代碼中設計md5加密文件名
三、XSS
1:什么叫XSS?
XSS又叫CSS(Cross Site Scripting),跨站腳本攻擊,常見的Web漏洞之一,在2013年度OWASP TOP 10中排名第三。
XSS是指攻擊者在網頁中嵌入客戶端腳本,通常是JS惡意代碼,當用戶使用瀏覽器訪問被嵌入惡意代碼網頁時,就會在用戶瀏覽器上執行。
2:XSS有什么危害?
①網絡釣魚
②竊取用戶Cookies
③彈廣告刷流量
④具備改頁面信息
⑤刪除文章
⑥獲取客戶端信息
⑦傳播蠕蟲
3:XSS的三種類型
①反射型:
將惡意腳本附加到URL地址的參數中,只有當受害者點擊這些鏈接的時候,才會觸發惡意JS腳本,特點是只有在用戶單機時觸發,而且只執行一次。

②存儲型:
黑客將惡意代碼放到三方網站的數據庫中,當受害者點擊該網站后,該惡意代碼就會在受害者的瀏覽器中執行。

③DOM型:DOM型XSS並不需要服務器解析響應的直接參與觸發XSS靠的是瀏覽器DOM解析
DOM型就是JavaScript中的Document對象HTML注入,直接瀏覽器處理。
4:常見的XSS防護方法
①
與防護SQL注入類似
②
HTTPONLY的方式
③采用
CSP策略