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

正文內(nèi)容

應(yīng)用系統(tǒng)安全開發(fā)技術(shù)規(guī)范培訓(xùn)資料-資料下載頁(yè)

2025-04-16 00:32本頁(yè)面
  

【正文】 下的請(qǐng)求中被傳輸?shù)椒?wù)端,可以在生成Cookie時(shí),在其中加入secure的屬性。(“SetCookie”,”name=value。secure”)。 輸入驗(yàn)證 數(shù)據(jù)格式驗(yàn)證驗(yàn)證提交的數(shù)據(jù)是否符合業(yè)務(wù)規(guī)則及格式約束,如:數(shù)據(jù)格式、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)類型。 Token驗(yàn)證對(duì)涉及到數(shù)據(jù)提交操作的請(qǐng)求,必須采用POST方式提交form表單數(shù)據(jù),并在提交的表單中附加Token,通過(guò)在服務(wù)端驗(yàn)證Token的方式驗(yàn)證請(qǐng)求的合法性,避免由于URL猜測(cè)引擎的CSRF漏洞攻擊。 輸入文件名的驗(yàn)證如果需要從調(diào)用方接收輸入文件名,要確保文件名具有嚴(yán)格的格式,以便可以確定它是否有效。一段有漏洞的程序:String fileName = (filename)。String content = (content)。FileWriter fw = new FileWriter(new File(“/home/y/share/templates/” + fileName))。(content)。應(yīng)該對(duì)文件名做嚴(yán)格的檢查,比如使用正則表達(dá)式,限定文件名只能包括字母和數(shù)字。 輸出處理 使用Struts標(biāo)簽庫(kù)輸出在可能的情況下頁(yè)面上的變量應(yīng)都采用Struts標(biāo)簽輸出,Struts標(biāo)簽本身具有特殊字符編碼的功能。 bean:write如果通過(guò)bean:write輸出變量,除特殊情況下確實(shí)需要輸出HTML編碼,否則都應(yīng)該使用filter屬性值為true。缺省情況下,該值為true。 變量輸出前編碼如果未采用標(biāo)簽輸出變量,而是采用直接代碼的方式,(“param”)、(“key”)或服務(wù)端傳來(lái)的%=var%等方式輸出變量時(shí),必須在變量輸出之前,對(duì)變量進(jìn)行編碼轉(zhuǎn)換。 在HTML標(biāo)簽及屬性中輸出在HTML標(biāo)簽及屬性中輸出變量時(shí),必須對(duì)變量進(jìn)行符合OWASP標(biāo)準(zhǔn)的HtmlEncode編碼操作divendoceForHTML($var)/diva href= endoceForHTML($var)/adiv name=” endoceForHTML($var)”/div 在HTML事件中輸出在HTML事件中輸出變量時(shí),必須對(duì)變量進(jìn)行符合OWASP標(biāo)準(zhǔn)的JavascriptEncode編碼操作。a href= onclick=”f(‘encodeForJavascript($var)’)”link/a 在script標(biāo)簽中輸出在script標(biāo)簽中輸出時(shí),首先應(yīng)該確保輸出的變量處于引號(hào)中,并且通過(guò)符合OWASP標(biāo)準(zhǔn)的JavascriptEncode編碼操作對(duì)變量進(jìn)行編碼。script var temp=” encodeForJavascript($var)”。/script 在CSS中輸出CSS代碼中的XSS攻擊形式也有很多種,如:style、style attribute等都可能引起XSS攻擊。應(yīng)盡可能避免在style標(biāo)簽內(nèi)部、html中的style屬性中、css文件中輸出變量。如果確實(shí)有需要輸出變量的情況,應(yīng)在輸出前對(duì)編碼進(jìn)行符合OWASP標(biāo)準(zhǔn)的cssEncode操作。style li{ liststyleimage:url(“javascript:alert(‘encodeForCSS($var)’)”)。}/style 在地址中輸出對(duì)URL中的路徑或查詢參數(shù)中輸出變量,應(yīng)該對(duì)變量使用符合OWASP標(biāo)準(zhǔn)的URLEncode編碼操作a href=”/root/path?param=encodeForURL($var)”link/a 富文本輸出富文本的數(shù)據(jù)類型比較特殊,富文本屬于一段比較完整的HTML代碼,在輸出時(shí)和使用時(shí)也不會(huì)被拼接到某個(gè)特殊的位置。因此如果當(dāng)前請(qǐng)求中存在包含HTML的富文本內(nèi)容,不能直接對(duì)特殊字符進(jìn)行編碼或轉(zhuǎn)義,應(yīng)對(duì)富文本內(nèi)容進(jìn)行過(guò)濾,保證輸出到客戶端的的富文本中事件代碼、iframe、script、base、from等危險(xiǎn)的HTML標(biāo)簽被嚴(yán)格禁止,僅保留安全的標(biāo)簽存在。encodeForRichHtml($var) 敏感信息處理 數(shù)據(jù)加密存儲(chǔ)將不允許明文存儲(chǔ)的數(shù)據(jù)加密后在存儲(chǔ)到數(shù)據(jù)庫(kù)或文件中,加密算法不能采用自己實(shí)現(xiàn)的算法,應(yīng)采用MDSHA、DES等經(jīng)過(guò)驗(yàn)證的加密算法進(jìn)行加密。如:用戶口令,必須使用不可逆的加密算法加密后在存儲(chǔ)在數(shù)據(jù)庫(kù)中。 數(shù)據(jù)傳輸加密將涉及到以下情況的請(qǐng)求通過(guò)Https協(xié)議發(fā)送216。 涉及到用戶登錄驗(yàn)證的請(qǐng)求216。 涉及到會(huì)話生成的請(qǐng)求216。 涉及到用戶密碼傳輸及修改的請(qǐng)求216。 涉及到支付操作的請(qǐng)求216。 涉及到重要及敏感數(shù)據(jù)的請(qǐng)求 禁止緩存服務(wù)端和客戶端都禁止緩存敏感數(shù)據(jù)。在服務(wù)端,當(dāng)敏感數(shù)據(jù)使用完后,應(yīng)將數(shù)據(jù)從內(nèi)存中刪除。在客戶端,包含敏感數(shù)據(jù)的HTTPS請(qǐng)求,要設(shè)置以下的頭信息,禁止瀏覽器緩存頁(yè)面數(shù)據(jù),HTTP頭信息代碼如下:CacheControl:nocache,nostore。 異常信息處理不允許將異常信息拋給客戶端顯示,否則可能造成服務(wù)端信息泄露。如果系統(tǒng)功能出現(xiàn)異常,應(yīng)跳轉(zhuǎn)到專門的異常頁(yè)面,并將友好的提示信息提示給用戶,而不是將異常信息顯示給用戶,并且返回給客戶端HTTP響應(yīng)結(jié)果為500。 特殊頁(yè)面跳轉(zhuǎn) 404路徑不存在當(dāng)用戶訪問(wèn)了一個(gè)系統(tǒng)中不存在的路徑時(shí),應(yīng)將請(qǐng)求跳轉(zhuǎn)到指定的404處理頁(yè)面,提示用戶訪問(wèn)的路徑不存在,并返回給瀏覽器HTTP 404編碼。 403禁止訪問(wèn)當(dāng)用戶訪問(wèn)了一個(gè)無(wú)訪問(wèn)權(quán)限的路徑時(shí),應(yīng)將請(qǐng)求跳轉(zhuǎn)到指定的403處理頁(yè)面,提示用戶無(wú)權(quán)訪問(wèn),并返回給瀏覽器HTTP 403編碼。 500內(nèi)部錯(cuò)誤當(dāng)用戶操作引起系統(tǒng)服務(wù)端應(yīng)用異常時(shí),應(yīng)將請(qǐng)求跳轉(zhuǎn)到指定的500處理頁(yè)面,提示用戶當(dāng)前系統(tǒng)出現(xiàn)異常,并返回給瀏覽器HTTP 500編碼。 文件操作 臨時(shí)文件系統(tǒng)運(yùn)行過(guò)程中生成的臨時(shí)文件必須存放在應(yīng)用部署根目錄之外。并且在使用完后要立即刪除,臨時(shí)文件不允許重復(fù)使用。臨時(shí)文件名必須采用足夠長(zhǎng)度的隨機(jī)算法生成。 文件上傳 文件路徑控制對(duì)上傳的文件需要在服務(wù)端將路徑轉(zhuǎn)為系統(tǒng)絕對(duì)路徑,然后對(duì)比當(dāng)前路徑是否屬于允許存儲(chǔ)的路徑之下。 文件類型控制禁止上傳可執(zhí)行文件,如:jsp,asp,aspx,exe,bat等類型的文件,通過(guò)白名單的方式僅僅允許上次指定類型的文件。 文件大小控制必須按照要求限制上傳到服務(wù)器上文件的大小 目錄文件數(shù)量不要將大量的文件上傳并存儲(chǔ)在統(tǒng)一個(gè)目錄下,應(yīng)該按照一定的規(guī)則,將文件分散存放到不同的目錄。 文件名保存在服務(wù)器上的文件名必須經(jīng)過(guò)修改,文件上傳到服務(wù)器上后,采用非常隨機(jī)的算法(如:GUID)重新生成文件名。 文件下載 下載驗(yàn)證每個(gè)文件下載之前都應(yīng)通過(guò)權(quán)限驗(yàn)證,否則可能引起通過(guò)修改URL參數(shù)即可下載任意文件的漏洞。 文件路徑控制所有下載的文件,都必須驗(yàn)證待下載文件路徑是否出在允許下載文件的路徑范圍內(nèi)。 資源釋放所有涉及到IO操作的資源都應(yīng)該在 finally 塊中釋放,保證資源在任何環(huán)境下都會(huì)被釋放。 內(nèi)存控制 大對(duì)象如果要加載大對(duì)象到內(nèi)存中,應(yīng)盡可能減少大對(duì)象在內(nèi)存中的存活時(shí)間,使用完后立即釋放,并將對(duì)象應(yīng)用設(shè)置為NULL,對(duì)于大對(duì)象的內(nèi)存回收不應(yīng)太過(guò)依賴內(nèi)存垃圾回收機(jī)制。 數(shù)據(jù)庫(kù)操作要限制數(shù)據(jù)庫(kù)操作的每個(gè)請(qǐng)求返回的結(jié)果集最大值,如果需要讀取的結(jié)果集記錄數(shù)過(guò)大,應(yīng)采用多次分頁(yè)讀取的方式,分批從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。 外部程序調(diào)用漏洞應(yīng)該避免在程序中調(diào)用系統(tǒng)命令,如果必須使用系統(tǒng)命令,應(yīng)對(duì)輸入?yún)?shù)做嚴(yán)格的過(guò)濾,比如一段存在漏洞的程序如下:String ip = (“ip”)。Process p = ().exec(“/bin/sh nslookup ” + ip)。應(yīng)使用正則表達(dá)式對(duì)輸入的參數(shù)(IP)做嚴(yán)格過(guò)濾,否則用戶可以提交如下格式的 IP 數(shù)據(jù): 。 [自己的命令]來(lái)執(zhí)行自己的命令。 整數(shù)溢出整數(shù)的范圍是[2^31, +2^311],又有以下等式成立:2^31 == 2^31 + 1以上范圍和等式在 Java 中同樣成立,所以整數(shù)溢出同樣在存在于Java,由于整數(shù)的溢出導(dǎo)致流程的改變。一段存在漏洞的程序如下:public void sample(byte[] b, int off, int len) {if (len 0 || off 0 || len + off ) {// do A…} else {// do B…}}正確的做法如下:public void sample(byte[] b, int off, int len) {if (len 0 || off 0 || len off) {// do A…} else {// do B…}} C++安全編程規(guī)范 不信任未知在幾乎所有安全的程序中,第一道防線就是檢查接收到的每一條數(shù)據(jù)。如果能不讓惡意的數(shù)據(jù)進(jìn)入程序,或者至少不在程序中處理它,程序在面對(duì)攻擊時(shí)將更加健壯。這與防火墻保護(hù)計(jì)算機(jī)的原理很類似,它不能預(yù)防所有的攻擊,但它可以讓程序更加穩(wěn)定。這個(gè)過(guò)程叫做檢查、驗(yàn)證或者過(guò)濾輸入。通常,最好在數(shù)據(jù)最初進(jìn)入程序時(shí)或在實(shí)際使用這些數(shù)據(jù)前都對(duì)其進(jìn)行檢查。特別強(qiáng)調(diào):所有的輸入都是不安全的,在使用前都應(yīng)進(jìn)行檢查、驗(yàn)證或者過(guò)濾。這里的輸入不僅僅指正常情況下的用戶輸入,還包括從文件獲取的內(nèi)容、從協(xié)議的數(shù)據(jù)包中獲取的內(nèi)容,從環(huán)境變量、注冊(cè)表等獲取的輸入。 免緩存區(qū)溢出緩存溢出出現(xiàn)在當(dāng)一些數(shù)據(jù)拷貝到內(nèi)存區(qū)域中產(chǎn)生,如果內(nèi)存的緩存區(qū)不能夠容納這些數(shù)據(jù),到拷貝成功的時(shí)候,目標(biāo)內(nèi)存的邊界部分就會(huì)被覆蓋。程序中的變量可以被存在程序棧(stack)中也可以存在程序堆(heap)中,因此我們也可以常聽(tīng)到這些字匯,棧溢出和堆溢出,相比較這兩個(gè)溢出類型,棧溢出的利用多數(shù)情況下會(huì)比較容易點(diǎn)。現(xiàn)在許多有緩存溢出風(fēng)險(xiǎn)的函數(shù)都存在相對(duì)安全的替代函數(shù),它們都通過(guò)傳遞參數(shù)來(lái)限制多少數(shù)據(jù)被調(diào)用。 strcpystrcpy():此函數(shù)沒(méi)有執(zhí)行任意長(zhǎng)度的確認(rèn),而使用 strncpy()函數(shù)可以限制長(zhǎng)度,當(dāng)使用 strncpy()的時(shí)候,需要以 NULL 終結(jié)字符串,因?yàn)橛?NULL 終止符隱含定義源緩存區(qū)的大小。不正確情況正確情況void func(char *str){char buffer[256]。strcpy(buffer, str)。return。}void func(char *str){char buffer[256]。strncpy(buffer, str, sizeof(buffer) 1)。buffer[sizeof(buffer) – 1] = 0。return。} strcatstrcat():此函數(shù)類似與 strcpy(),也不檢查字符串的長(zhǎng)度,使用 strncat()可以很好的限制被拷貝的長(zhǎng)度,strncat()函數(shù)只會(huì)追加定義在大小參數(shù)中的長(zhǎng)度,NULL 終止符將終止字符串。不正確情況正確情況void func(char *str){char buffer[256]。strcat(buffer, str)。return。}void func(char *str){char buffer[256]。strncat(buffer,str,sizeof(buffer)1strlen(buffer))。return。} sprintfsprintf():此函數(shù)用來(lái)格式化字符串變量,是很容易產(chǎn)生緩存溢出的地方。使用 snprintf()可以很好的限制拷貝到緩存中的打印數(shù)據(jù)長(zhǎng)度,snprintf()函數(shù)返回要傳遞過(guò)去的數(shù)據(jù)字符總數(shù),如果它大于能傳遞字節(jié)大小的值,那么沒(méi)有任何數(shù)據(jù)寫到緩存中,用戶應(yīng)檢查 snprintf()的值以保證要被打印的緩存。不正確情況正確情況void func(char *str){char buffer[256]。sprintf(buffer, “%s”, str)。return。}void func(char *str){char buffer[256]。if (snprintf(target, sizeof(target) 1, %s,string) sizeof(target) 1)return。} getsgets:此函數(shù)天生就存在漏洞,在應(yīng)用程序中應(yīng)該永遠(yuǎn)不要使用,一般在編譯的時(shí)候也會(huì)被警告,gets()沒(méi)有規(guī)定任意長(zhǎng)度,永遠(yuǎn)將導(dǎo)致緩存溢出,它從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù)并一直到換行符或者 EOF 標(biāo)識(shí)接收到,所讀的數(shù)據(jù)全部填充到定義的緩存,并不檢查任何長(zhǎng)度。fgets()函數(shù)用來(lái)代替不安全的 gets()函數(shù),此函數(shù)會(huì)至多讀取’sizeof(buffer) – 1’的文件流 。當(dāng)然中途讀取到 EOF 或者換行符也會(huì)停止。 不正確情況正確情況void func(char *str){char buffer[256]。gets(buffer)。return。}void func(char *str){char buffer[256]。fgets(buffer, sizeof(buffer) – 1, stdin)。return。} scanf、fscan、sscanscanf()、fscan()、sscan():在使用這些函數(shù)的時(shí)候需要小心讀取要放到固定長(zhǎng)度緩存區(qū)的數(shù)據(jù),應(yīng)確保規(guī)定要讀到緩存區(qū)的數(shù)據(jù)長(zhǎng)度。如下圖,在正確的情況下只能讀取 255 個(gè)字符到規(guī)定的緩存中,而在不正確的情況下,就會(huì)無(wú)限制的讀取,并導(dǎo)致函數(shù)的堆棧被破壞。不正確情況正確情況charbuffer[256]。intnum。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1