亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        不可忽視的Web安全細(xì)節(jié)

        2020-04-20 11:25:56河南許紅軍
        網(wǎng)絡(luò)安全和信息化 2020年3期
        關(guān)鍵詞:信息

        ■河南 許紅軍

        隱藏在Web郵件中的危機(jī)

        在各種Web應(yīng)用中,經(jīng)常會(huì)利用郵件發(fā)送通知。如果郵件發(fā)送功能存在安全問(wèn)題的話,黑客可能趁機(jī)對(duì)郵件的內(nèi)容進(jìn)行篡改,或者因此導(dǎo)致開(kāi)放轉(zhuǎn)發(fā)第三方郵件的情況。

        和郵件安全相關(guān)的問(wèn)題可能包括郵件頭注入漏洞,使用hidden參數(shù)保存收件人信息,以及郵件服務(wù)器的開(kāi)放轉(zhuǎn)發(fā)等。

        其中郵件頭注入攻擊是通過(guò)在郵件消息中的收件人或標(biāo)題等字段中插入換行符,來(lái)達(dá)到添加新的郵件頭字段或非法篡改郵件正文的目的。

        產(chǎn)生郵件注入的根源

        例如,正常的郵件發(fā)送頁(yè)面源代碼中可能包括:“”等行。其中的收件人等信息是硬編碼處理的,郵件內(nèi)容雖然存在換行但沒(méi)有安全問(wèn)題,問(wèn)題出在額外的hidden參數(shù),即“From”頭部參數(shù),用來(lái)指定發(fā)件人信息。用戶提交的發(fā)件人信息會(huì)被添加到郵件頭部中,但程序并沒(méi)有對(duì)其進(jìn)行有效校驗(yàn)。

        正常的郵件發(fā)送頁(yè)面對(duì)于郵件地址輸入框設(shè)定的是Text類(lèi)型,只能輸入一行信息。但是黑客會(huì)利用各種方法將其修改為“textarea”類(lèi)型,可以輸入多行信息。這樣當(dāng)其點(diǎn)擊發(fā)送按鈕后,這些信息就會(huì)提交到目標(biāo)網(wǎng)站中的PHP處理程序中,導(dǎo)致發(fā)出被篡改的郵件。

        例如,黑客會(huì)在郵件正文包含惡意鏈接,通過(guò)密送方式發(fā)送給其他用戶,讓不知情的用戶誤以為是正常郵件,當(dāng)點(diǎn)擊其中的惡意鏈接后,就會(huì)招致惡意網(wǎng)站的攻擊。

        當(dāng)然,黑客除了添加“Bcc”外,還可添加“Cc”“To”“Replay-To”等頭部參數(shù)。甚至可以添加“Subject”標(biāo)題參數(shù)。這樣,就會(huì)在郵件頭中存在兩個(gè)“Subject”參數(shù),根據(jù)用戶所使用的郵件客戶端類(lèi)型,可以決定究竟顯示哪個(gè)郵件主體。除了非法添加郵件頭外,黑客還可能對(duì)郵件的正文進(jìn)行篡改。

        此外,黑客還可在郵件中非法添加惡意附件,其中包含了病毒或木馬程序,這是利用了郵件的MIME格式信息,來(lái)構(gòu)造包含惡意信息的郵件。

        黑客通過(guò)這種方式在郵件頭中非法寫(xiě)入惡意附件的內(nèi)容。當(dāng)黑客冒充合法用戶,對(duì)其他用戶發(fā)送包含病毒的郵件,并且其正文被精心的篡改過(guò),當(dāng)用戶接收后就會(huì)誤以為這是正常的郵件,當(dāng)打開(kāi)附件后,就會(huì)遭到惡意程序的襲擾。這種惡意的郵件攻擊具有很好的偽裝性,對(duì)用戶的威脅是不可忽視的。

        防御郵件注入的策略

        黑客之所以可以對(duì)郵件進(jìn)行惡意修改,主要是未對(duì)外部傳入的郵件頭進(jìn)行過(guò)濾。因?yàn)猷]件的消息格式和HTTP是相似的,消息頭和正文之間用空行分隔。在發(fā)送郵件時(shí),開(kāi)發(fā)者經(jīng)常會(huì)使用系統(tǒng)內(nèi)置的“Sendmail”命令,從郵件的消息頭中獲取發(fā)送目標(biāo)的郵箱地址,多數(shù)發(fā)送郵件程序庫(kù)也是利用該方法處理郵件的。因此,如果黑客可以在外界傳入的參數(shù)中插入換行符,就可以添加新的消息頭。

        換行符在郵件消息頭中有著重要作用,如果未對(duì)換行符進(jìn)行必要處理,就會(huì)產(chǎn)生郵件消息頭注入漏洞。尤其是在CGI程序中發(fā)送郵件時(shí),經(jīng)常采用“Sendmail”命令行的方式,不僅容易引發(fā)郵件消息頭漏洞,還可能引發(fā)OS命令注入漏洞。

        對(duì)于此類(lèi)漏洞的防范,最有效的辦法是使用專(zhuān)用的發(fā)送郵件的程序庫(kù),不能使用系統(tǒng)級(jí)命令來(lái)發(fā)送郵件。為了徹底防御郵件頭注入漏洞,還需要在郵件頭中禁止包含外界傳入的參數(shù)。如果必須接受外界傳入的參數(shù),那么可以通過(guò)校驗(yàn)禁止傳入的參數(shù)中包含換行符。

        嚴(yán)格校驗(yàn)避免非法注入

        在上述例子中,在郵件頁(yè)面中設(shè)置了“From”消息頭,因此將其固定并在正文中顯示用戶的郵箱地址,就可以有效解決上述問(wèn)題。

        例如,將“mb_send_mail("webadmin@xxx.com","郵件標(biāo)題","郵件主體! ".$body." ","From:" .$from)”“?>”進(jìn)行修改,使其變成“mb_send_mail("webadmin@xxx.com","郵件標(biāo)題","郵件主體! ".$body." ","合法用戶郵箱:"."From:","From:hefayonghu@xxx.com")”即可。如果郵箱地址或主題允許包含換行符,那么就可能會(huì)被添加新的郵件頭或正文。

        因此,必須在發(fā)送郵件時(shí)對(duì)換行符號(hào)進(jìn)行校驗(yàn),從根本上避免上述漏洞。例如,在網(wǎng)頁(yè)源代碼中輸入以下命令:

        對(duì)From字段進(jìn)行校驗(yàn),如果發(fā)現(xiàn)其中存在換行符,就顯示警告信息。

        在一些用來(lái)免費(fèi)發(fā)送郵件的表單中,為了便于自定義信息,有時(shí)會(huì)將郵件的收件人等信息指定為hidden參數(shù)。例如,網(wǎng)頁(yè)可能包含諸如“”等語(yǔ)句。黑客可以借機(jī)將hidden參數(shù)中的收件人更改為任意的郵箱地址,就可以利用此類(lèi)表單來(lái)發(fā)送垃圾郵件。

        所以說(shuō),收件人郵箱地址等信息不能保存在hidden參數(shù)中,必須將其硬編碼在源代碼,或保存在服務(wù)器的文件/數(shù)據(jù)庫(kù)中。郵件服務(wù)器的開(kāi)放轉(zhuǎn)發(fā)指的是如果郵件服務(wù)器的設(shè)置存在問(wèn)題,就可能使服務(wù)器的角色既不是發(fā)件人也不是收件人,而是被用于轉(zhuǎn)發(fā)第三方郵件,黑客很容易將其作為發(fā)送垃圾郵件的工具。

        警惕危險(xiǎn)的腳本語(yǔ)句

        在PHP等開(kāi)發(fā)工具中,提供了名為“Eval”的函數(shù),如果使用不當(dāng)很容易造成外界傳入的腳本被非法執(zhí)行,這其實(shí)就是eval注入攻擊。

        該漏洞可能造成網(wǎng)站信息泄露、非法篡改數(shù)據(jù)、執(zhí)行惡意操作等危險(xiǎn)行為,攻擊者甚至可以借此對(duì)其他網(wǎng)站進(jìn)行攻擊。

        防御該漏洞直接的方法是不使用eval函數(shù),可以選擇與其功能相當(dāng)?shù)钠渌瘮?shù),如果一定要使用該函數(shù),那么就應(yīng)該避免其參數(shù)中包含外界傳入的內(nèi)容。如果允許外界傳遞參數(shù),必須將其限定為只能包含字母或數(shù)字的內(nèi)容。

        eval函數(shù)主要的功能就是將字符串反序列化到對(duì)象。例如,對(duì)于“”語(yǔ)句來(lái)說(shuō),就可以將數(shù)組導(dǎo)出為字符串,之后將該字符串進(jìn)行Base64編碼,便于在網(wǎng)絡(luò)上進(jìn)行傳輸。之后通過(guò)隱含參數(shù)的方法將其發(fā)送出去,其他網(wǎng)站利用“”等語(yǔ)句對(duì)上述編碼內(nèi)容進(jìn)行解碼,得到具體的字符串,之后拼接字符串并使用eval函數(shù)執(zhí)行。

        從表面看起來(lái)似乎沒(méi)有問(wèn)題,但攻擊者可以對(duì)POST提交的數(shù)據(jù)進(jìn)行惡意修改,在其中添加非法的腳本語(yǔ)句,如果對(duì)外界傳入的參數(shù)沒(méi)有進(jìn)行過(guò)濾和檢驗(yàn)就發(fā)送給eval函數(shù)執(zhí)行的話,就可以執(zhí)行嵌入在其中的惡意腳本,對(duì)服務(wù)器的威脅很大。

        根據(jù)以上分析,可以看到eval函數(shù)能執(zhí)行任意的腳本代碼,造成不可忽視的漏洞。

        采取多種方法,提高腳本安全性

        為了避免由此造成的危害,在開(kāi)發(fā)程序時(shí)盡量不要使用該函數(shù),可以使用諸如“implode/explode”“serialize/unserialize”等函數(shù)實(shí)現(xiàn)與其相當(dāng)?shù)墓δ堋?/p>

        例如,implode函數(shù)使用的參數(shù)為數(shù)組,通過(guò)在各元素之間插入分割字符,將其轉(zhuǎn)換為字符循環(huán)。explode函數(shù)功能與之相反。利用這兩個(gè)函數(shù)即可實(shí)現(xiàn)簡(jiǎn)單的反序列化功能。例如,可將上述網(wǎng)頁(yè)代碼修改為:

        即可將數(shù)字轉(zhuǎn)換為字符串,之后發(fā)送給接收方,接收方解碼后利用“explode("",$str)”函數(shù)還原為字符串。在使用eval函數(shù)的情況下,只要禁止外界為其指定參數(shù),也可以有效防止惡意攻擊。如果使用會(huì)話變量來(lái)替代隱含參數(shù)來(lái)傳遞數(shù)據(jù),那么攻擊者自然沒(méi)有辦法注入腳本。因?yàn)樵诓煌捻?yè)面之間使用隱含參數(shù)的方式發(fā)送數(shù)據(jù),可能存在數(shù)據(jù)被惡意修改。例如,可將上述語(yǔ)句修改為:

        這樣,就將傳遞的數(shù)據(jù)保存到會(huì)話變量中。在其他頁(yè)面中利用“”等語(yǔ)句,從指定的會(huì)話變量中提取數(shù)據(jù),就可以保證數(shù)據(jù)的準(zhǔn)確性,外界無(wú)法對(duì)其進(jìn)行修改。非法腳本中包含了分號(hào)、逗號(hào)及引號(hào)等特殊字符,如果對(duì)傳入的eval的參數(shù)進(jìn)行校驗(yàn),只允許包含字母和數(shù)字,禁止包含上述特殊字符,也可有效避免惡意腳本注入。例如,將上述代碼修改為:

        輕松應(yīng)對(duì)文件包含攻擊

        幾乎任何開(kāi)發(fā)語(yǔ)言都允許從外部文件中讀取腳本源代碼,并嵌入當(dāng)前的程序中,這樣可以提高開(kāi)發(fā)的效率。

        例如,PHP可以使用“require”“reqiure_once”“include”“include_once”等函數(shù),來(lái)執(zhí)行調(diào)用操作。但如果外界可以指定include的對(duì)象的文件名稱,那么很有可能造成非法的腳本文件被調(diào)用,這樣其中包含的惡意程序就可以被服務(wù)器執(zhí)行。

        當(dāng)然,這種文件涉及到位于本地的代碼文件。在有些情況下,黑客還可以進(jìn)行RFI遠(yuǎn)程文件包含攻擊。

        為了防御文件包含攻擊,最直接的辦法是避免include的路徑中包含外界傳入的參數(shù),如果一定要傳入?yún)?shù),就必須限制其只能包含字母和數(shù)字。

        順便說(shuō)一下,在老版本的PHP中存在“%00”截?cái)嗟膯?wèn)題,對(duì)于“$_GET['header']”語(yǔ)句來(lái)說(shuō),將提交的是內(nèi)容為“xxx.php%00xx.txt”之類(lèi)的內(nèi)容,只要遇到“%00”字符,就將后面的內(nèi)容截?cái)唷?/p>

        該漏洞的危害表現(xiàn)在,當(dāng)上傳時(shí)路徑可控并使用00截?cái)?。在文件下載時(shí),00截?cái)鄷?huì)繞過(guò)白名單檢查。對(duì)于本地文件包含來(lái)說(shuō),00截?cái)鄷?huì)擺脫在程序中添加后綴名的限制。

        例如,對(duì)于“include($header.'.php')語(yǔ)句來(lái)說(shuō),會(huì)讓添加的“.php”的名稱失效。另外,和文件操作有關(guān)的地方都可能使用到00截?cái)唷?/p>

        新版的PHP已經(jīng)修復(fù)了“%00”截?cái)嗟膯?wèn)題。

        所以,如果在程序中使用了“include($header.'.php')之類(lèi)的語(yǔ)句,就可以防范非法提交的數(shù)據(jù)。但是,對(duì)于遠(yuǎn)程文件包含來(lái)說(shuō),攻擊者可以可以構(gòu)造特殊的鏈接來(lái)避開(kāi)這一限制。

        根據(jù)以上分析,可以看到如果想防御文件包含攻擊,可以對(duì)包含的文件名稱進(jìn)行限制,使其只能包含字母和數(shù)字。例如,將代碼修改為:

        就可以對(duì)提交的內(nèi)容進(jìn)行過(guò)濾,如果發(fā)現(xiàn)包含了非標(biāo)準(zhǔn)的路徑信息,就會(huì)顯示警告信息。

        對(duì)于遠(yuǎn)程文件包含來(lái)說(shuō),可以執(zhí)行“vim/etc/php.ini”命令,對(duì)PHP配置文件進(jìn)行編輯,在其中的“allow_url_include=”欄中設(shè)置為“off”,之后執(zhí)行“systemctl restart httpd”命令,來(lái)重啟HTTPD服務(wù)。這樣,就可以禁用遠(yuǎn)程文件包含功能了。

        破解“另類(lèi)”文件包含攻擊

        實(shí)際上,對(duì)于服務(wù)器上的本地文件來(lái)說(shuō),一般都是比較安全的。黑客為了對(duì)服務(wù)器進(jìn)行攻擊,可能會(huì)采取保存會(huì)話信息文件的方式向服務(wù)器上傳惡意文件。

        當(dāng)禁用了RFI功能后,黑客如果通過(guò)各種方法能夠在Web服務(wù)器中的會(huì)話變量中寫(xiě)入數(shù)據(jù)的話,就有可能發(fā)起文件包含攻擊。因?yàn)閷?duì)于會(huì)話管理來(lái)說(shuō),當(dāng)用戶連接到Web服務(wù)器后,就會(huì)產(chǎn)生對(duì)應(yīng)的Session ID,會(huì)話變量等信息。

        PHP默認(rèn)會(huì)保存這些會(huì)話信息,并會(huì)將其保存到本地的一個(gè)文件中。如果黑客在會(huì)話變量中寫(xiě)入一些惡意腳本信息,并通過(guò)PHP使其保存到某個(gè)文件中。并且,如果黑客了解該文件的具體路徑時(shí),就可以通過(guò)Include腳本來(lái)讀取該文件,然后讓W(xué)eb服務(wù)器來(lái)執(zhí)行這些惡意腳本。

        有些網(wǎng)站提供了文件上傳功能,或者允許將會(huì)話變量保存到到有特定的文件中,就很容易招致上述惡意攻擊。

        例如,在網(wǎng)頁(yè)中包含“”等語(yǔ)句,就可以將用戶輸入的數(shù)據(jù)保存到會(huì)話變量中,然后將其保存到指定的文件中。這樣,在其他的頁(yè)面就可讀取該會(huì)話變量并來(lái)獲取相關(guān)的信息。

        但是,如果攻擊者在網(wǎng)頁(yè)提供的輸入欄中寫(xiě)入了特殊腳本,當(dāng)提交后該腳本信息就會(huì)通過(guò)上述會(huì)話變量保存到指定的文件中。因?yàn)楣粽呖梢院苋菀字辣4鏁?huì)話變量的文件路徑和名稱信息,之后其就可以利用上面談到本地包含攻擊方式來(lái)調(diào)用該文件,讓服務(wù)器執(zhí)行包含在該文件中的惡意腳本。

        對(duì)于這種攻擊,最有效的方法是限制用戶輸入的內(nèi)容,如果發(fā)現(xiàn)其提交了非法內(nèi)容,就將其攔截。

        例如,可以將上述代碼修改為:

        對(duì)用戶提交的數(shù)據(jù)進(jìn)行檢測(cè),只能允許其包含字符和數(shù)字,否則就顯示警告信息。

        通過(guò)以上措施,就能基本對(duì)一些隱蔽的網(wǎng)絡(luò)攻擊進(jìn)行阻斷。特別是近期“新冠”疫情的影響下,有些別有用心的網(wǎng)絡(luò)犯罪分子利用“新型冠狀病毒”字眼進(jìn)行惡意郵件攻擊,我們要及時(shí)做好防范。

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會(huì)信息
        信息超市
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        欧美激情五月| 亚洲免费网站观看视频| 最新日本女优中文字幕视频| 免费人妻精品一区二区三区| 国语对白精品在线观看| 亚洲97成人在线视频| 国产偷国产偷亚洲高清视频| 国产成人a级毛片| 天天爽夜夜爽人人爽| 国产99久久久国产精品免费看| 国产成人精品电影在线观看| 免费精品无码av片在线观看| 欧美性猛交xxxx乱大交蜜桃| 国产成人久久精品激情91| 亚洲精品中文字幕二区| 亚洲香蕉久久一区二区| av在线不卡一区二区| 亚洲精品午夜久久久九九 | 日本久久精品在线播放| 蜜桃视频一区二区三区| 亚洲av综合色区无码一区| 亚洲人成77777在线播放网站| 成人免费看吃奶视频网站| 亚洲人成无码网www| 国内精品一区二区2021在线| 极品av在线播放| 伊人狼人影院在线视频| 国产人妖视频一区二区| 少妇做爰免费视频了| 久久久久无码国产精品不卡 | 久久人与动人物a级毛片| 久久久精品久久波多野结衣av| 极品 在线 视频 大陆 国产| 亚洲精品中文字幕尤物综合| 日韩人妻无码精品久久久不卡| 麻豆成年视频在线观看| 亚洲熟妇av日韩熟妇av| 成年女人午夜特黄特色毛片免| 97人妻人人揉人人躁九色| 国产免费观看黄av片| 国产成人亚洲欧美三区综合|