網站安全

攻擊方式:javascript

 

參數操縱java

這裏包括了SQL注入、XPath注入、cgi命令執行,還有XXS和會話劫持等。前三個的攻擊主要是在服務端觸發的,後兩者的攻擊則是側重於客戶端。數據庫

SQL注入分析:提交含有SQL操做語句的信息給後端,後端若是沒有作好過濾就執行該語句,攻擊者天然能夠隨意操縱該站點的數據庫。後端

XPath注入:跨域

cgi命令執行:安全

XSS:cross-site scripting跨域腳本攻擊服務器

基於代碼修改的防護
和SQL注入防護同樣,XSS攻擊也是利用了Web頁面的編寫疏忽,因此還有一種方法就是從Web應用開發的角度來避免:
步驟一、對全部用戶提交內容進行可靠的輸入驗證,包括對URL、查詢關鍵字、HTTP頭、POST數據等,僅接受指定長度範圍內、採用適當格式、採用所預期的字符的內容提交,對其餘的一概過濾。
步驟二、實現Session標記(session tokens)、CAPTCHA系統或者HTTP引用頭檢查,以防功能被第三方網站所執行。
步驟三、確認接收的的內容被妥善的規範化,僅包含最小的、安全的Tag(沒有javascript),去掉任何對遠程內容的引用(尤爲是樣式表和javascript),使用HTTP only的cookie。
 

對於XSS的預防天然也是對提交數據的過濾,另外還有一點——謹慎返回用戶提交的內容!cookie

會話劫持: 能夠走SSH協議、加強網絡安全系統健壯性,也可使用無序的UUID來替代通信中的序列號碼(而非逐步遞增)。網絡

 

其餘攻擊:session

CSRF(cross-site request forgery):跨站請求僞造,與XSS很是類似,但XSS是利用用戶對當前網站的信任來發起攻擊,而CSRF是利用網站對用戶的信任來發起攻擊。

CSRF攻擊,咱們所能作的能夠有:

1. 檢查報頭中的Referer參數確保請求發自正確的網站(但XHR請求可調用setRequestHeader方法來修改Referer報頭);

2. 對於任何重要的請求都須要從新驗證用戶的身份;

3. 建立一個惟一的令牌(Token),將其存在服務端的session中及客戶端的cookie中,對任何請求,都檢查兩者是否一致。

 

拒絕服務(DoS)指的是向網站發起洪水同樣的請求(Traffic Floor),致使服務器超負荷並關閉,處理方法常規是採用QoS(Quality of Service)的軟硬件解決方案。

 

綜上所述,咱們能夠這樣審視咱們的WEB站點:

1. 永遠不要相信客戶端傳來的任何信息,對這些信息都應先進行編碼或過濾處理;

2. 謹慎返回用戶輸入的信息;

3. 使用黑名單和白名單處理(即「不容許哪些敏感信息」或「只容許哪些信息」,白名單的效果更好但侷限性高);

4. 檢查、驗證請求來源,對每個重要的操做都進行從新驗證;

5. 使用SSL防止第三方監聽通訊(但沒法阻止XSS、CSRF、SQL注入攻擊);

6. 不要將重要文件、備份文件存放在公衆可訪問到的地方;

7. 會話ID無序化;

8. 對用戶上傳的文件進行驗證(不僅僅是格式驗證,比方一張gif圖片還應將其轉爲二進制並驗證其每幀顏色值<無符號8位>和寬高值<無符號16位>);

9. WSDL文檔應當要求用戶註冊後才能獲取;

相關文章
相關標籤/搜索