亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦 > 學習電腦 > 電腦安全 > 網絡安全知識 > 常見的WEB攻擊以及解決方法

      常見的WEB攻擊以及解決方法

      時間: 權威724 分享

      常見的WEB攻擊以及解決方法

        事實上,WEB應用是很脆弱的。因為這種應用的靈活性很大,用戶輸入的自由度也很高,所以對于WEB應用的惡意攻擊也比較容易。

        小編收集了一些常見的WEB攻擊,和部分解決方案,歡迎閱讀!

        1. SQL注入(SQL Injection)

        對于固定的SQL語句,一般在應用程序層不做處理,推薦添加一個包裝類,把這些固定的SQL操作控制起來。

        而對于動態(tài)生成的SQL語句,就需要對用戶的輸入進行處理,一般的處理是把【'】轉換成【“】 。

        如:

        abc”def”ghi’jkl’mno →abc”def”ghi’’jkl’’mno

        2. 跨站點腳本攻擊(XSS,Cross Site Scripting)

        如果用戶輸入,URL參數(shù)在頁面上表示時,必須對特殊文字進行過濾處理。

        2-1 如果用戶輸入和URL參數(shù)中含有下列敏感文字,則刪除 之:

        Script Object Embed Applet

        2-2 如果用戶輸入和URL參數(shù)中含有下列敏感文字,則轉換 之:

        & → &

        < → <

        > → >

        “ → "

        ‘ → '

        3. 操作系統(tǒng)命令注入(OS Command Injection)

        要盡量避免執(zhí)行系統(tǒng)命令,如果非使用不可的話,要對以下的用戶輸入或者參數(shù)做處理:

        | ! & ` 命令執(zhí)行總要使用的字符

        “ ‘ 字符串的區(qū)分字符

        / - 命令參數(shù)指定時使用的字符

        “. / ¥ 目錄指定時使用的字符

        < > 文件操作是使用的字符

        $ 環(huán)境變量指定時使用的字符

        ( { [ ] } ) 命令間的區(qū)分字符

        4. 換行字符注入(Line Feed Code Injection)

        在用戶的輸入信息中,檢查是否不包含【0x0d】【0x0a】 這種換行的輸入。

        5. LDAP注入(LDAP Injection)

        在LDAP使用的場合,要檢查用戶輸入信息中,是否不包含下列LDAP的保留字:

        ( ) * ¥ NULL

        6. Xpath注入(XPath Injection)

        在XPath使用的場合,要檢查用戶輸入信息中,是否不包含下列Xpath的保留字:

        < > “ ‘ &

        7. SSI注入(SSI Injection)

        檢查用戶輸入中,是否不包含SSI相關的危險關鍵字。

        8. 目錄遍歷(Directory Traversal)

        檢查用戶輸入中,是否不包含訪問文件系統(tǒng)的特殊文字【/】 和【\】 。

        9. 強制瀏覽(Forced Browsing)

        這種攻擊的防止比較復雜,一般的策略是:

        驗證請求是否是從合法的頁面發(fā)送而來的,一般是檢查請求的Referer。

        用戶授權控制,認證認可

        對于靜態(tài)資源來說,WEB程序是無法防止這種強制瀏覽攻擊的,只有通過設置中間件(如WEB服務器)來防止:

        對公開化網站目錄的設定(比如在站點目錄下禁止顯示文件列表)

        在URL中指定目錄的時候,必須提供index文件(如index.html等)

        對于下載文件的存放位置,要特別謹慎的設置

        10. 跨站點請求偽裝(Cross Site Request Forgery)

        明確頁面的操作流程,對于不符合操作流程而來的請求進行過濾。

        11. 不正確的文件和目錄分配(Invalid Allocation of Files and Directories)

        不公開的配置文件,備份文件,數(shù)據文件等,不要在站點的公共目錄(WebRoot或者www/htdocs)下存放

        WEB應用程序使用的庫文件,不要再站點的公共目錄下存放。

        適合在公共目錄下存放的資源如下所示:

        /var/www/htdocs/

        Img/

        css/

        data/

        index.html

        12. 不正確的錯誤處理(Invalid Error Handling)

        一定要進行錯誤處理,錯誤處理的消息要顯示為用戶可理解的內容,不要把中間件(WEB服務器)的錯誤消息顯示出來。

        13. 不必要的信息(Unnecessary Information)

        比如在用戶登陸時,提示的這樣的錯誤信息【用戶密碼不正確】,從側面就說明了系統(tǒng)中存在一個叫做【userid】的用戶。這就為惡意攻擊者提供了情報。

        所以,在處理系統(tǒng)顯示的消息是,點到為止,不能暴露多余的用戶細節(jié)。

        14. 后門和調試選項(Backdoor & Debug Option)

        避免特殊的密碼輸入和認證策略

        指定調試選項是,調試選項和程序的參數(shù)都可以改變和查看

        要做出測試專用的頁面

        對于程序后門,可以通過代碼復查力度強化來進行防止。

        而對于調試選擇,要統(tǒng)一開發(fā)標準,使用統(tǒng)一的調試開關。

        15. 客戶端注釋(Client Side Comment)

        對于WEB應用來說,客戶端可以通過瀏覽器直接看到頁面的代碼。發(fā)送到瀏覽器的代碼中,可以開發(fā)者的注釋。對于惡意攻擊者來說,這些注釋信息會暴露出WEB應用的很多細節(jié)。

        比如說下面所說的注釋就應該引起關注:

        對于請求參數(shù)的注釋

        Javascript的內部邏輯的注釋

        注釋外的Javascript內部邏輯和URL請求

        對應策略如下:

        對于代碼的注釋,事先要有統(tǒng)一的代碼規(guī)范

        盡量使用服務器端得注釋標簽,如JSP的【<%-- --%>】,這樣的注釋內容不會發(fā)送到客戶端。

        16. 緩沖區(qū)溢出(Buffer Over Flow)

        如果用戶輸入中包含了超過服務器緩沖區(qū)大小的輸入,很可能會導致服務器存儲不足,甚至導致服務器停機。

        對策如下:

        一定要檢查用戶輸入的大小

        文件上傳是,對于上傳文件的大小進行檢查和限制。

      512783