999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HTML5的CSRF攻擊與防御技術研究

2021-11-01 06:29:42李立原建偉
微型電腦應用 2021年10期
關鍵詞:頁面用戶檢測

李立, 原建偉

(陜西工業職業技術學院 信息工程學院, 陜西 咸陽 712000)

0 引言

HTML5J技術作為Web平臺標準,基于HTML5的Web急劇增加,在豐富了Web應用的同時,導致網絡攻擊量增大,安全性下降[1]。相較于XSS方式,CSRF(Cross-Site Request Forgey,跨站請求偽造)攻擊流程程度低,對應的防御資源和措施相對較少,導致CSRF攻擊難以防范,造成很大的危害[2]。目前針對CSRF攻擊的防御進行了多角度研究[3],如利用Rational AppScan工具和檢測技術實現對CSRF漏洞的檢測,并提出基于CSRF攻擊的防御手段[4];通過添在地址中加入token[5],對HTTP頭添加自定義屬性來實現對CSRF攻擊的有效防御。

本文在相關研究的基礎上,通過建立Web服務器和HTML5環境來驗證HTML5受到CSRF攻擊全過程,并提出相應的CSRF漏洞檢測和防御方式。

1 HTML5的CSRF攻擊驗證

1.1 HTML5的CSRF 攻擊原理

HTML5是互聯網應用領域的一種應用技術,其中涵蓋了各種API函數,通過完善的CSS3使得Web前端更加活躍。基于HTML5的應用程序能夠在任何瀏覽器上運行,但也帶來了針對該程序的攻擊方式。當登錄HTML5站點時,要求進行身份驗證。通常,Web通過Cookie方式記錄用戶認證信息,當用戶重復登錄該Web時,瀏覽器將攜帶了該用戶先前的認證信息放入HTTP頭部并一同發送至服務器,避免了二次認證。而用戶認證信息一旦被惡意控制,則攻擊者往往利用認證執行惡意操作,從而受到CSRF攻擊,CSRF攻擊程序圖如圖1所示。

圖1 CSRF攻擊基本原理圖

當用戶需認證可信任的Web時,用戶通過瀏覽器向Web站點A發送請求,服務器接收請求并認證用戶合法性,如果是,則將包含用戶認證信息的Cookie發送至瀏覽器,完成身份認證。服務器收到會話請求,添加為可信任站點,當瀏覽器向站點A發送請求,經確認發現已通過用戶的認證請求,則執行動作。攻擊者獲得可信站點信息后,在站點B構建頁面,讓用戶在站點B執行操作,攻擊者代碼讓用戶執行一些惡意操作,瀏覽器接收到Cookie信息協同惡意攻擊代碼發送至站點B,即完成了一次CSRF攻擊。

1.2 HTML5的CSRF攻擊驗證

在HTML5的Web完成一次CSRF攻擊時,攻擊者往往偽造特定路徑通過程序實現攻擊,其中包括同源策略、跨域資源共享的安全策略、Cookies機制的P3P頭機制等。同源策略作為最基本單圈策略,是采用動態腳本對相同的協議、端口的HTTP應答;跨域資源共享的安全策略為程序開發提供跨域請求許可,通過服務器和瀏覽器相互協商進行判定,同時支持HTTP請求。Cookie安全策略是用戶輸入一次認證信息后,服務器記錄用戶認證信息和HTTP狀態信息,生成Cookie,并保存在瀏覽器中,當用戶再次登錄時,只需在HTTP請求頭部帶上Cookie一并發送服務器完成用戶認證。P3P策略是基于用戶隱私角度指定的相關標準,標識目標網站Cookie能否被其他域加載。

從上述分析可以看出,同源策略限制了來自不同域的訪問請求,但并未限制不同域的用戶通過GET或POST方向Web站點提交信息。在HTML5中,一些標簽均帶有“src”屬性標簽,僅能發送GET請求,而對于多數Web應用程序來講,多數開發者并未嚴格區分POST請求和GET請求,在數據提交過程中也并未按照POST方式提交。因此,攻擊者可用GET請求表單提交地址進行CSRF攻擊。

以一個模擬隱患網站Back為例,采用MySQL 5.5搭建PHP服務器,建立轉賬功能頁面www.Back.com/transfer.html。假設采用GET方式提交轉賬信息,通過URL:http://www.Bank.com/Transfer.php?AccountId=11&number=1000將轉賬請求提交給服務器。當攻擊者掌握相關參數時通過偽造相同的URL并放入攻擊網站的頁面Attck_GET.html中等待用戶執行。攻擊者利用社交手段將攻擊頁面Attck_GET.html的URL發送給攻擊者,執行攻擊頁面。攻擊者構造的頁面Attck_GET.html代碼,如圖2所示。

圖2 頁面 Attck_GET.html 的代碼

圖3 GET 完成的 CSRF 攻擊

在HTML5中,CORS機制下的XML HttpRequst請求通過跨域XHR-2API完成,HTTP向服務器發送的請求源信息被包含在生成的Origin頭部中,因而不需要對現有的瀏覽器保護程序修改。由瀏覽器發起對XMLHttpRquest請求檢驗是否符合COSR安全規范用來保護合法性。然而當重新定義XHR-2對象時,將對象的setRequestHeander設置為“ Content-type ”,設置屬性“WithCredentials”值為“ture”,瀏覽器的預檢機制處于待機狀態,此時Cookie重播,發生CSRF攻擊。

如在一個論壇站點 www.discuss.com,注冊用戶可通過 www.discuss.com/post.php發帖,具體內容保存在后臺數據庫,當Bob用戶登錄時,服務器將攜帶的登錄信息發送至瀏覽器,允許發帖。Bob發帖后,將內容存儲在后臺名為CSRF數據庫的Postmessage數據表,并設計一個check.php頁面來查看數據庫增加的內容。用戶登錄后,利用頁面show.php查看發帖內容,并可刪除帖子。

當攻擊者掌握頁面相關參數后,在www.csrf.com構造 attack_del.html頁面,利用一個XHR-2對象將域www.discuss.com 上用戶Bob帖子刪除。即通過XHR-2對象http跨域向頁面show.php發出請求。當attack_del.html頁面發出跨域請求時,瀏覽器將Cookie信息加載到HTTP請求頭部并向服務器發送請求,服務器鑒別合法用戶發送的請求,執行刪貼操作。attack_del.html頁面代碼,如圖4所示。

圖4 頁面 attck_del.html 的代碼

2 HTML5 的 CSRF 攻擊的檢測與防御

2.1 HTML5的CSRF攻擊檢測

由于CSRF攻擊流程程度較低,因而Web程序員容易忽視CSRF的安全問題。本節從CSRF漏洞檢測入手,采用自動和手動方式進行CSRF攻擊的檢測。

AppScan作為目前流行的網絡安全檢測工具,能從代碼和產品方面進行安全檢測。采用Rational AppScan測試時,通過向被檢測地址發送兩次請求。第一次請求后退出登錄,第二次請求時,若沒有CSRF漏洞或進行了CSRF漏洞防范,由于AppScan檢測是在兩個不同的Session中對目標資源的操作,因此兩次請求返回結果不同。Rational AppScan工作示意圖,如圖5所示。

圖5 Rational AppScan工作示意圖

實際上,由于一個Web中存在大量URL,因此,首先采用Rational AppScan進行全路徑覆蓋檢測,保證路徑測試能夠覆蓋Web應用的每一個路徑。同時利用手動檢測CSRF漏洞,對一些靜態資源有DELETE/PUT操作下進行測試,針對GET請求來刪除數據庫記錄情況下,在維持一個服務器連接下,輸入瀏覽器地址,當ID號為“0”時頁面被刪除,CSRF進行攻擊,表明URL沒有任何CSRF保護。

2.2 基于 HTML5 的 CSRF 的防御

2.2.1 驗證碼驗證

當用戶與服務器信息交互時,要求用戶同時填寫隨機字符串驗證碼,并對其檢測[13]。CSRF往往在用戶不知情下強制讓用戶與應用執行交互操作,因而由攻擊者偽造的請求能被用戶發現,有效避開了CSRF的攻擊,根據代碼生成的驗證碼代碼如圖6所示。

圖6 驗證碼預防CSRF攻擊

驗證碼驗證方法使得用戶和應用間頻繁交互,降低了用戶體驗度。同時,由于驗證圖片使用中存在類似的MHTML缺陷,對一些版本IE功能造成影響,因此,驗證碼進行預防CSRF攻擊中更多的是作為一種輔助手段。

2.2.2 驗證HTTP Referer字段

當用戶訪問一個受限制地址時,需要登錄該網站才能瀏覽該網址資源,通常一個請求的Referer值為受限制資源的URL,但攻擊者通過CSRF攻擊時,發起請求的Referer為本身的URL,因此,可通過驗證Referer值抵御CSRF攻擊。瀏覽器域名中采用discuss.com的Referer值開頭作為合法請求,則跟進響應,否則拒絕請求,防止外部鏈接請求的代碼如圖7所示。

圖7 驗證HTTP Referer字段攻擊

圖中函數strncnmp()檢測訪問頁面與設定頁面Referer是否一致,若一致,則該請求為合法頁面發出的請求,受理POST請求,可執行訪問和刪除操作,否則為不合法請求,直接清除該POST請求。

2.2.3 請求中添加token

攻擊者發送CSRF攻擊時,通過猜測來獲取部分重要操作參數,要有效地預防CSRF攻擊,關鍵是在一個關鍵點放入不能偽造的隨機數,即加入token,并在服務器端建立相應的攔截器對token進行過認證。一旦請求中為發現該token或token錯誤,則認為是非法請求而拒絕。token通過如下代碼引入:$tokenvalue=md5(uniqid(rand(), true))。服務器登錄建立token,放入會話Session中,當每次發出請求時,則從Session中提取token,并與請求攜帶的token比較,如果相互匹配,則執行請求。在頁面中加入token的設計代碼,如圖8所示。

圖8 頁面嵌入token代碼

實際執行中,一個站點往往存在多個地方接受form請求,因此將token以參數形式加入每一個請求者中并不顯示,通常在每次頁面加載時,用腳本遍歷DOM樹,將token加入到

標簽,因而解決了大部分請求,對于一部分不能添加token的問題,可通過手動編寫相關應用來添加token。

3 總結

本文建立了Web服務器和HTML5環境,對HTML5收到的CSRF攻擊全過程進行分析。通過在服務器搭建模擬服務,構建攻擊腳本來驗證GET、POST方式突破同源策略限制進行CSRF攻擊,并運用監本驗證驗證了CORS存在的安全漏洞實現攻擊。針對HTML5下的CSRF攻擊,提出了采用Rational AppScan進行CSRF漏洞檢測,并在此基礎上,提出利用驗證碼驗證、驗證HTTP Referer字段、添加token方式進行CSRF防御,在很大程度抵御大部分CSRF的攻擊。當實際執行過程中,需要結合相關情況選定合適的防御策略來降低CSRF的危害。

猜你喜歡
頁面用戶檢測
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 精品无码日韩国产不卡av| 国产精品一区在线麻豆| 日韩av手机在线| 欧美第二区| 一级爱做片免费观看久久| 91一级片| 国产在线视频导航| 国产特级毛片aaaaaa| 萌白酱国产一区二区| 日韩精品一区二区三区中文无码| 久久国产精品77777| A级毛片无码久久精品免费| 成人一区在线| 四虎影视8848永久精品| 久综合日韩| 亚洲另类国产欧美一区二区| 免费国产高清视频| 亚洲婷婷丁香| 精品少妇人妻无码久久| 国产精品成人第一区| 中字无码精油按摩中出视频| 亚洲美女视频一区| 亚洲精品国偷自产在线91正片| 亚洲91精品视频| 欧美亚洲国产日韩电影在线| 国内精自线i品一区202| 亚洲第一精品福利| 欧美日韩国产在线观看一区二区三区| 免费jizz在线播放| 欧美中文字幕在线视频| 国产精品19p| 欧美www在线观看| 欧美亚洲国产视频| 亚洲日韩精品欧美中文字幕 | 久久网综合| 亚洲日本中文字幕乱码中文| 精品久久久久无码| 2020国产免费久久精品99| 午夜福利在线观看入口| 精品国产一区二区三区在线观看 | 国产91精品最新在线播放| 少妇精品久久久一区二区三区| 精品国产Av电影无码久久久| 91精品小视频| 成人另类稀缺在线观看| 亚洲欧美天堂网| 91青草视频| 亚洲国产精品一区二区高清无码久久| 国产精女同一区二区三区久| 久久精品亚洲热综合一区二区| 成人午夜精品一级毛片| 91在线免费公开视频| 亚洲全网成人资源在线观看| 亚洲精品日产AⅤ| 国产玖玖玖精品视频| 国产成人高清精品免费5388| 亚洲av无码成人专区| 韩日午夜在线资源一区二区| 欧美久久网| 亚洲精品无码av中文字幕| 亚洲视频在线观看免费视频| 毛片免费视频| 无码福利视频| 91视频日本| 手机精品福利在线观看| 国产视频你懂得| 青青青国产视频| 久久精品亚洲专区| av性天堂网| 精品成人免费自拍视频| 久久久久亚洲AV成人人电影软件| 99在线观看视频免费| 日韩国产欧美精品在线| 一个色综合久久| 亚洲欧洲日产国产无码AV| 亚洲日韩国产精品综合在线观看| 人人看人人鲁狠狠高清| 2020极品精品国产| 91免费在线看| 色婷婷成人| 精品国产91爱| 试看120秒男女啪啪免费|