freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華為web應(yīng)用系統(tǒng)安全規(guī)范v15-資料下載頁

2025-04-19 03:06本頁面
  

【正文】 DWR 接口的鑒權(quán)直接沿用規(guī)則 的鑒權(quán)機(jī)制,具體實(shí)現(xiàn)參照規(guī)則 的實(shí)施指導(dǎo)。規(guī)則 :必須對 DWR 提交的參數(shù)進(jìn)行輸入校驗(yàn)。說明:具體輸入校驗(yàn)部分請查看 輸入校驗(yàn)。4 Web 編程安全規(guī)范 輸入校驗(yàn)規(guī)則 :必須對所有用戶產(chǎn)生的輸入進(jìn)行校驗(yàn),一旦數(shù)據(jù)不合法,應(yīng)該告知用戶輸入非法并且建議用戶糾正輸入。說明:用戶產(chǎn)生的輸入是指來自 text、password、textareas 或 file 表單域的數(shù)據(jù);必須假定所有用戶產(chǎn)生的輸入都是不可信的,并對它們進(jìn)行合法性校驗(yàn)。規(guī)則 :必須對所有服務(wù)器產(chǎn)生的輸入進(jìn)行校驗(yàn),一旦數(shù)據(jù)不合法,必須使會話失效,并記錄告警日志。說明:服務(wù)器產(chǎn)生的輸入是指除用戶產(chǎn)生的輸入以外的輸入,例如來自 hidden fields、selection boxes 、check boxes、radio buttons、cookies、HTTP headers、熱點(diǎn)鏈接包含的 URL 參數(shù)的數(shù)據(jù)或客戶端腳本等;必須假定所有服務(wù)器產(chǎn)生的輸入都是被篡改過的、惡意的,并對它們進(jìn)行合法性校驗(yàn),如果不合法,說明有人惡意篡改數(shù)據(jù)。舉例:假如用戶資料填寫表單中的“性別”為必填項(xiàng),用 radio button(‘ 男’和‘女’對應(yīng)實(shí)際值分別為‘1’和‘0’)來限制用戶的輸入,如果應(yīng)用程序收到的“性別”值為‘2’,那么可以斷定有人惡意篡改數(shù)據(jù)。規(guī)則 :禁止將 HTTP 標(biāo)題頭中的任何未加密信息作為安全決策依據(jù)。說明:HTTP 標(biāo)題頭是在 HTTP 請求和 HTTP 響應(yīng)的開始階段發(fā)送的。Web 應(yīng)用程序必須確保不以 HTTP 標(biāo)題頭中的任何未加密信息作為安全決策依據(jù),因?yàn)楣粽咭僮鬟@一標(biāo)題頭是很容易的。例如,標(biāo)題頭中的 referer 字段包含來自請求源端的 Web 頁面的 Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 27 頁, 共 39 頁URL。不要根據(jù) referer 字段的值做出任何安全決策(如檢查請求是否來源于 Web 應(yīng)用程序生成的頁面),因?yàn)樵撟侄问呛苋菀妆粋卧斓?。?guī)則 :不能依賴于客戶端校驗(yàn),必須使用服務(wù)端代碼對輸入數(shù)據(jù)進(jìn)行最終校驗(yàn)。說明:客戶端的校驗(yàn)只能作為輔助手段,減少客戶端和服務(wù)端的信息交互次數(shù)。規(guī)則 :對于在客戶端已經(jīng)做了輸入校驗(yàn),在服務(wù)器端再次以相同的規(guī)則進(jìn)行校驗(yàn)時(shí),一旦數(shù)據(jù)不合法,必須使會話失效,并記錄告警日志。說明:肯定存在攻擊行為,攻擊者繞過了客戶端的輸入校驗(yàn),因此必須使會話失效,并記入告警日志。規(guī)則 :如果輸入為數(shù)字參數(shù)則必須進(jìn)行數(shù)字型判斷。說明:這里的數(shù)字參數(shù)指的是完全由數(shù)字組成的數(shù)據(jù)。實(shí)施指導(dǎo):String mobileno = (mobileno)。String characterPattern = ^\\d+$。 //正則表達(dá)式表示是否全為數(shù)字if (! (characterPattern)){ (“Invalid Input”)。}規(guī)則 :如果輸入只允許包含某些特定的字符或字符的組合,則使用白名單進(jìn)行輸入校驗(yàn)。說明:對于一些有規(guī)則可循的輸入,如 地址、日期、小數(shù)等,使用正則表達(dá)式進(jìn)行白名單校驗(yàn),這樣比使用黑名單進(jìn)行校驗(yàn)更有效。實(shí)施指導(dǎo): 地址校驗(yàn)的方法:String Address = (Address)。String characterPattern = ^([az09AZ]+[_]?)+[az09AZ]@(([az09AZ]+[_]?)+([az09AZ]+)?\\.)+[azAZ]{2,4}$。 // 正則表達(dá)式if (!(characterPattern)){Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 28 頁, 共 39 頁 (“Invalid Email Address”)。}規(guī)則 :如果輸入為字符串參數(shù)則必須進(jìn)行字符型合法性判斷。說明:可定義一個(gè)合法字符集。實(shí)施指導(dǎo):String text = (text)。String characterPattern = ^[AZaz]*$。 //開發(fā)者自行定義字符規(guī)則( 方括號內(nèi)的字符集)if (! (characterPattern)){ (“Invalid Input”)。}規(guī)則 :校驗(yàn)輸入數(shù)據(jù)的長度。說明:如果輸入數(shù)據(jù)是字符串,必須校驗(yàn)字符串的長度是否符合要求,長度校驗(yàn)會加大攻擊者實(shí)施攻擊的難度。規(guī)則 :校驗(yàn)輸入數(shù)據(jù)的范圍。說明:如果輸入數(shù)據(jù)是數(shù)值,必須校驗(yàn)數(shù)值的范圍是否正確,如年齡應(yīng)該為 0~150 之間的正整數(shù)。規(guī)則 :禁止通過字符串串聯(lián)直接使用用戶輸入構(gòu)造可執(zhí)行 SQL 語句。說明:禁止通過字符串串聯(lián)直接使用用戶輸入構(gòu)造可執(zhí)行 SQL 語句,如:string sql = select status from Users where UserName=39。 + + 39。這樣很容易被 SQL 注入攻擊。規(guī)則 :對于 java/JSP 語言,使用預(yù)編譯語句 PreparedStatement 代替直接的語句執(zhí)行Statement。說明:使用預(yù)編譯語句 PreparedStatement,類型化 SQL 參數(shù)將檢查輸入的類型,確保輸入值在數(shù)據(jù)庫中當(dāng)作字符串、數(shù)字、日期或 boolean 等值而不是可執(zhí)行代碼進(jìn)行處理,從而防止 SQL 注入攻擊。而且,由于 PreparedStatement 對象已預(yù)編譯過,所以其執(zhí)行速度要快于 Statement 對象。因此,多次執(zhí)行的 SQL 語句經(jīng)常創(chuàng)建為 PreparedStatement 對象,還可以提高效率。Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 29 頁, 共 39 頁實(shí)施指導(dǎo):參考如下代碼:String inssql = insert into buy(empid, name, age, birthday) values (?,?,?,?)。PreparedStatement stmt = null。stmt = (inssql)。 (1, empid)。(2, name)。 (3, age)。(4, birthday)。()。備注:使用 like 進(jìn)行模糊查詢時(shí),如果直接用select * from table where ment like %?%,程序會報(bào)錯(cuò),必須采用如下方法String express = select * from table where ment like ?。pstmt = (express)。String c=hello。(1, %+c+%)。//參數(shù)自動添加單引號,最后的 SQL 語句為:select * from table where ment like 39。%hello%39。()。規(guī)則 :禁止動態(tài)構(gòu)建 XPath 語句。說明:和動態(tài)構(gòu)建 SQL 一樣,動態(tài)構(gòu)建 XPath 語句也會導(dǎo)致注入漏洞(XPath 注入)。動態(tài)構(gòu)建 XPath 語句的例子:public boolean doLogin(String loginID, String password){......XPathExpression expr = (//users/user[loginID/text()=39。+loginID+39。 and password/text()=39。+password+39。 ]/firstname/text())。......}規(guī)則 :在 JavaBean 中禁止使用 property=*進(jìn)行參數(shù)賦值。說明:property=*這表明用戶在可見的 JSP 頁面中輸入的,或是直接通過 Query String 提Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 30 頁, 共 39 頁交的參數(shù)值,將存儲到與參數(shù)名相匹配的 bean 屬性中。例如,網(wǎng)上購物程序,一般,用戶是這樣提交請求的: /?newItem=ITEM0105342,如果用戶提交: /?newItem=ITEM0105342amp。balance=0,這樣, balance=0 的信息就被在存儲到了 JavaBean 中了,而 balance 是整個(gè)會話中用來存儲總費(fèi)用的,當(dāng)他們這時(shí)點(diǎn)擊“chekout”結(jié)賬的時(shí)候,費(fèi)用就全免了。規(guī)則 :用于重定向的輸入?yún)?shù)不能包含回車和換行字符,以防止 HTTP 響應(yīng)拆分攻擊。說明:注意,“回車”字符有多種表示方式(CR = %0d = \r ),“換行”字符有多種表示方式(LF = %0a = \n)。規(guī)則 :如果服務(wù)端代碼執(zhí)行操作系統(tǒng)命令,禁止從客戶端獲取命令。說明:如果服務(wù)端代碼中使用 ().exec(cmd)或 ProcessBuilder 等執(zhí)行操作系統(tǒng)命令,那么禁止從客戶端獲取命令;而且最好不要從客戶端獲取命令的參數(shù),如果必須從客戶獲取命令的參數(shù),那么必須采用正則表達(dá)式對命令參數(shù)進(jìn)行嚴(yán)格的校驗(yàn),以防止命令注入(因?yàn)椋坏目蛻舳双@取命令或參數(shù),通過。amp。|符號,非常容易構(gòu)造命令注入,危害系統(tǒng))。 輸出編碼規(guī)則 :對于不可信的數(shù)據(jù),輸出到客戶端前必須先進(jìn)行 HTML 編碼。說明:不可信的數(shù)據(jù)(也就是其他業(yè)務(wù)系統(tǒng)生成的未經(jīng)本應(yīng)用程序驗(yàn)證的表數(shù)據(jù)或文件數(shù)據(jù)),通過對輸出到客戶端的數(shù)據(jù)進(jìn)行編碼,可以防止瀏覽器將 HTML 視為可執(zhí)行腳本,從而防止跨站腳本攻擊。實(shí)施指導(dǎo):JSP 語言可以通過替換輸出數(shù)據(jù)的特殊字符【amp。 ” ’ ( )%+】為其他表示形式后再輸出給客戶端,例如:%String OutStr = 。OutStr = (amp。,amp。)。OutStr = (,)。Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 31 頁, 共 39 頁OutStr = (,)。OutStr = (\,)。OutStr = (\39。, )。OutStr = (\\(, )。OutStr = (\\), )。(OutStr)。% 語言可以通過 HtmlEncode 方法對 HTML 的輸出進(jìn)行編碼。PHP 語言可以通過 htmlentities 或 htmlspecialchars 方法對 HTML 輸出進(jìn)行編碼。 上傳下載規(guī)則 :必須在服務(wù)器端采用白名單方式對上傳或下載的文件類型、大小進(jìn)行嚴(yán)格的限制。規(guī)則 :禁止以用戶提交的數(shù)據(jù)作為讀/寫/ 上傳/下載文件的路徑或文件名,以防止目錄跨越和不安全直接對象引用攻擊。說明:建議對寫/上傳文件的路徑或文件名采用隨機(jī)方式生成,或?qū)? 上傳文件放置在有適當(dāng)訪問許可的專門目錄。對讀/下載文件采用映射表(例如,用戶提交的讀文件參數(shù)為 1,則讀取 file1,參數(shù)為 2,則讀取 file2)。防止惡意用戶構(gòu)造路徑和文件名,實(shí)施目錄跨越和不安全直接對象引用攻擊。規(guī)則 :禁止將敏感文件(如日志文件、配置文件、數(shù)據(jù)庫文件等)存放在 Web 內(nèi)容目錄下。說明:Web 內(nèi)容目錄指的是:通過 Web 可以直接瀏覽、訪問的目錄,存放在 Web 內(nèi)容目錄下的文件容易被攻擊者直接下載。 異常處理規(guī)則 :應(yīng)用程序出現(xiàn)異常時(shí),禁止向客戶端暴露不必要的信息,只能向客戶端返回一般性的錯(cuò)誤提示消息。說明:應(yīng)用程序出現(xiàn)異常時(shí),禁止將數(shù)據(jù)庫版本、數(shù)據(jù)庫結(jié)構(gòu)、操作系統(tǒng)版本、堆棧跟蹤、文件名和路徑信息、SQL 查詢字符串等對攻擊者有用的信息返回給客戶端。建議重定向到Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 32 頁, 共 39 頁一個(gè)統(tǒng)一、默認(rèn)的錯(cuò)誤提示頁面,進(jìn)行信息過濾。規(guī)則 :應(yīng)用程序捕獲異常,并在日志中記錄詳細(xì)的錯(cuò)誤信息。說明:記錄詳細(xì)的錯(cuò)誤消息,可供入侵檢測及問題定位。 代碼注釋規(guī)則 :在注釋信息中禁止包含物理路徑信息。規(guī)則 :在注釋信息中禁止包含數(shù)據(jù)庫連接信息。規(guī)則 :在注釋信息中禁止包含 SQL 語句信息。規(guī)則 :對于靜態(tài)頁面,在注釋信息中禁止包含源代碼信息。規(guī)則 :對于動態(tài)頁面不使用普通注釋,只使用隱藏注釋。說明:動態(tài)頁面包括 ASP、PHP、JSP、CGI 等由動態(tài)語言生成的頁面。通過瀏覽器查看源碼的功能,能夠查看動態(tài)頁面中的普通注釋信息,但看不到隱藏注釋(隱藏注釋不會發(fā)送給客戶端)。因此,為了減少信息泄漏,建議只使用隱藏注釋。實(shí)施指導(dǎo):form action=%隱藏注釋 1%textarea name=a length=200/textareainput type=submit value=test/form%//隱藏注釋 2 str=(String)(a)。/*隱藏注釋 3*/str = (,)。(str)。% 歸檔要求規(guī)則 :版本歸檔時(shí),必須刪除開發(fā)過程(包括現(xiàn)場定制)中的臨時(shí)文件、備份文件、Web 應(yīng)用安全開發(fā)規(guī)范 內(nèi)部公開202254 華為機(jī)密,未經(jīng)許可不得擴(kuò)散 第 33 頁, 共 39 頁無用目錄等。說明:惡意用戶可以通過 URL 之類的文件,Web 服務(wù)器會將這些文件以文本方式呈現(xiàn)給惡意用戶,造成代碼的泄漏,嚴(yán)重威脅 Web 應(yīng)用的安全。實(shí)施指導(dǎo):在 web 應(yīng)用的根目錄下執(zhí)行以下命令:find ./ name *.old o name *.OLD o name *.bak o name
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1