任意文件繞過上傳漏洞驗證、SQL注入攻擊漏洞驗證、XSS跨站腳本攻擊漏洞驗證


 

  1. 漏洞:任意文件繞過上傳漏洞驗證。

漏洞危害: 黑客可以上傳腳本木馬控制網站。

解決方案:白名單過濾文件后綴,並去除上傳目錄的腳本和執行權限。

解決方法:iis網站->Upload文件夾->處理程序映射(雙擊)->編輯功能權限->腳本取消勾選。

  1. 漏洞: SQL注入攻擊漏洞驗證。

         漏洞危害: 黑客利用精心組織的SQL語句,通過Web表單注入的Web應用中,從而獲取后台DB的訪問與存取權限。獲取相應的權限之后,可以對網頁和數據庫進行進一步的篡改、掛馬和跳板攻擊行為。

解決方案:關閉數據庫查詢報錯信息,全局對搜索框參數keyword進行參數過濾:

    1.每個提交信息的客戶端頁面,通過服務器端腳本(JSP、ASP、ASPX、PHP等腳本)生成的客戶端頁面,提交的表單(FORM)或發出的連接請求中包含的所有變量,必須對變量的值進行檢查。過濾其中包含的特殊字符,或對字符進行轉義處理。特殊字符包括:SQL語句關鍵詞:如 and 、or 、select、xp_cmdshell;
SQL語句特殊符號:’、”、;等;
  2.Web應用使用的數據庫用戶最好不是數據庫管理員用戶,應當采取最小權限原則,以免在被攻破后造成更大的損失;
  3.Web服務器與SQL數據庫服務器不應放置在相同的服務器上。應將SQL數據庫服務器放置在內網;對於有條件的公司,可以將Web應用中的所有動態SQL改為靜態SQL,將參數采用綁定的方式使用,不要拼SQL串。

    解決方法: string pattern1 = @"(\%27)|(\')|(\-\-)";

                //防止執行 ' or   

                string pattern2 = @"((\%27)|(\'))\s*((\%6F)|o|(\%4F))((\%72)|r|(\%52))";

                //防止執行sql server 內部存儲過程或擴展存儲過程   

                string pattern3 = @"\s+exec(\s|\+)+(s|x)p\w+";

            if (!string.IsNullOrEmpty(model.Keyword))

            {

                 model.Keyword = Regex.Replace(model.Keyword, pattern1, string.Empty, RegexOptions.IgnoreCase);

                 model.Keyword = Regex.Replace(model.Keyword, pattern2, string.Empty, RegexOptions.IgnoreCase);

                     model.Keyword = Regex.Replace(model.Keyword, pattern3, string.Empty, RegexOptions.IgnoreCase);  

            }

  1. XSS跨站腳本攻擊漏洞驗證

漏洞危害: XSS可能造成的危害包括:將使用者瀏覽器導向惡意網站、偷取使用者的cookie、將使用者瀏覽器導向釣魚網站,以騙取賬號密碼等個人資料、安裝惡意后門木馬、安置web瀏覽器炸彈等;
  XSS攻擊介於攻擊者與使用者之間的攻防戰,並不會對server主機有任何威脅,所以才被稱為跨站腳本攻擊,意思即是:攻擊者使用某些腳本語言跨過主機對使用者進行攻擊。

解決方案:1、控制腳本注入的語法要素。比如:JavaScript離不開:“<”、“>”、“(”、“)”、“;”...等等,我們只需要在輸入或輸出時對其進行字符過濾或轉義處理就即可。一般我們會采用轉義的方式來處理,轉義字符是會使用到HTML的原始碼,因為原始碼是可以被瀏覽器直接識別的,所以使用起來非常方便。允許可輸入的字符串長度限制也可以一定程度上控制腳本注入。

2、所有的過濾、檢測、限制等策略,建議在Web Server那一端去完成,而不是使用客戶端的JavaScript或者VBScript去做簡單的檢查。因為真正的攻擊者可以繞過你精心設計制作的客戶端進行過濾、檢測或限制手段。

解決方法:在前后台邏輯把特殊符號”<”,”/”等替換。

例如:前台var LocationData = $('#Location').val().replace(/[\<\>]/g, " ");

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM