qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          安全測試之認證授權

            在web安全中,認證授權又是每個人都熟知的,就像我們都應該設置一個高強度的密碼,以免被猜測破解,實際上還包括更多內容。
            1. 權限
            在很多系統如CRM,ERP,OA中都有權限管理,其中的目的一個是為了管理公司內部人員的權限,另外一個就是避免人人都有權限而帳號泄漏后會對公司帶來的負面影響。
            權限一般分為2種:訪問權限和操作權限。訪問權限即是某個頁面的權限,對于特定的一些頁面只有特定的人員才能訪問。而操作權限指的是頁面中具體到某個行為,肉眼能看到的可能就是一個審核按鈕或提交按鈕。我之前接觸過的一個SAAS平臺的CRM系統就用到了訪問權限和操作權限兩種,而現在公司后臺管理都是訪問權限,當然訪問權限實施起來更加方便快捷,也容易維護。
            權限的處理方式可以分為2種:用戶權限和組權限。設置多個組,不同的組設置不同的權限,而用戶設置到不同的組中,那就繼承了組的權限,這種方式就是組權限管理,一般都是使用這種方式管理。而用戶權限管理則比較簡單,對每個用戶設置權限,而不是拉入某個組里面,但是靈活性不夠強,用戶多的時候就比較費勁了,每次都要設置很久的權限,而一部分用戶權限是有共性的,所以組權限都是目前很通用的處理方式。
            在權限方面,還包括了數據庫的權限,網站管理的權限以及API/Service的權限。
            DBA都需要控制好IDC的數據庫權限,而不是將用戶權限設置為*.*,需要建立專門供應用程序使用的帳號,并且需要對不同的數據庫和不同的表賦予權限,專門供應用程序使用的帳號就不能進行更改表,更改數據庫及刪除操作,否則如果有SQL注入漏洞或程序有bug的話,黑客就能輕易連接到數據庫獲取更多的信息。因為DBA帳號除了可以更改數據庫結構,數據,及配置之外,還可以通過LOAD DATA INFILE讀取某個文件,相當于整臺服務器都被控制了。
            API可以分為private API和open API。那私有API一般是不希望外網訪問的,如果架設在內網的話,最好使用內網IP來訪問,如果是公網的話,最好設置一定的權限管理。Open API的權限就相對復雜很多,除了校驗參數正確性,還需校驗用戶是否在白名單中,在白名單里的話還需校驗用戶對應的權限,有些時候還需要考慮是否要加密傳輸等等。
            2. 密碼猜測
            以下哪種錯誤提示更加適合呢?
            1)輸入的用戶名不正確
            2)輸入的密碼不正確
            3)輸入的用戶名或密碼不正確
            看到前面兩種提示信息,我們獲得了什么信息呢?用戶名不正確那可以猜測到正確的用戶名,當只是提示密碼不正確的時候說明用戶名正確了,這兩種提示其實是在暗示用戶正確輸入了什么,哪個不正確。而第三種給出的提示就比較模糊,可能是用戶名可能是密碼錯誤。如果非要說前兩種提示信息更準確更易于普通用戶的話,就會給黑客們帶來可乘之機,而第三種就沒轍了,實在不知道到底是哪個錯誤了,難道增加不少。使用工具或批處理腳本來強制枚舉破解的話也需要更多的時間。
            弱密碼你中槍了嗎?
            2011年11月22日,360安全中心發布了中國網民最常用的25個“弱密碼”: 000000、111111、11111111、112233、123123、123321、123456、12345678、654321、666666、888888、abcdef、abcabc、abc123、a1b2c3、aaa111、123qwe、qwerty、qweasd、admin、password、p@ssword、passwd、iloveyou、5201314。別人給我使用過的管理帳號中就有設置這樣的密碼,非常危險。
            那如何應對密碼猜測攻擊呢?一般有以下幾種方案:1)超過錯誤次數帳戶鎖定;2)使用RSA/驗證碼;3)使用安全性高的密碼策略。很多網站三種結合起來使用的。另外,在保存密碼到數據庫時也一定要檢查是否經過嚴格的加密處理,不要再出現某天你的網站被暴庫了結果還存的是明文密碼。
            3. 找回密碼的安全性
            最不安全的做法就是在郵件內容中發送明文新密碼,一旦郵箱被盜,對應網站的帳號也會被盜;一般做法是郵件中發送修改密碼鏈接,測試時就需要特別注意用戶信息標識是否加密,加密方法以及是否易破解;還有一種就是修改時回答問題,問題回答正確才能進行修改,大名鼎鼎的QQ就是這么做的。據傳,原來支付寶有個很嚴重的安全問題,就是完全可以通過手機號碼找回登錄密碼和支付密碼,會發送驗證碼到手機然后登錄網頁修改密碼,有用戶手機號碼停機后,別人買了這個號然后登錄了支付寶把錢轉走了,現在支付寶找回登錄密碼時仍然可以通過手機號碼找回,但是支付密碼修改就需要手機短信和身份證件一起驗證。不過我們很多人難免會在網絡上留下手機號碼的痕跡,聰明的善于挖掘匯總信息的人一定可以找到你的身份證號碼,所以友情提示下:更換號碼時一定要及時修改帳號關聯的手機號碼。
            4. 注冊攻擊
            常見的是惡意注冊,以避免注冊后惡意搜索引擎爬取,在線機器人投票,注冊垃圾郵箱等。
            緩解注冊攻擊的方法:使用RSA/驗證碼
            5. Cookie安全
            Cookie中記錄著用戶的個人信息,登錄狀態等。使用Cookie欺騙可以偽裝成其他用戶來獲取隱私信息等。
            常見的Cookie欺騙有幾下幾種方法:
            1)設置cookie的有效期,通過cookie manager等chrome的插件即可完成;
            2)通過分析多帳戶的cookie值的編碼規律,使用破解編碼技術來任意修改cookie的值達到欺騙目的,這種方法較難實施;
            3)結合XSS攻擊上傳代碼獲取訪問頁面用戶 cookie的代碼,獲得其他用戶的cookie
            4)通過瀏覽器漏洞獲取用戶的cookie,這種方法就需要非常熟悉瀏覽器。
            如何防范?
            1)不要在Cookie中保存敏感信息;
            2)不要在Cookie中保存沒有經過加密的或者容易被解密的敏感信息;
            3)對從客戶端取得的Cookie信息進行嚴格校驗,如登錄時提交的用戶名密碼正確性;
            4)記錄非法的Cookie信息進行分析,并根據這些信息對系統進行改進;
            5)使用SSL來傳遞Cookie信息;
            6)結合session驗證對用戶訪問授權;
            7)及時更新瀏覽器漏洞;
            8)設置httponly增強安全性;
            9)實施系統安全性解決方案,避免XSS攻擊
            6. Session安全
            服務端和客戶端之間是通過session(會話)來連接溝通。當客戶端的瀏覽器連接到服務器后,服務器就會建立一個該用戶的session。每個用戶的session都是獨立的,并且由服務器來維護。每個用戶的session是由一個獨特的字符串來識別,成為session id。用戶發出請求時,所發送的http表頭內包含session id 的值。服務器使用http表頭內的session id來識別是哪個用戶提交的請求。一般Session ID傳遞方式:URL中指定session或存儲在cookie中,后者廣泛使用。
            會話劫持
            會話劫持是指攻擊者利用各種手段來獲取目標用戶的session id。一旦獲取到session id,那么攻擊者可以利用目標用戶的身份來登錄網站,獲取目標用戶的操作權限。
            攻擊者獲取目標用戶session id的方法:
            1)暴力破解:嘗試各種session id,直到破解為止
            2)計算:如果session id使用非隨機的方式產生,那么就有可能計算出來
            3)竊取:使用網絡截獲,XSS,CSRF攻擊等方法獲得
            如何防范?
            1)定期更改Session ID ,這樣每次重新加載都會產生一個新的Session ID
            2)只從cookie中傳送Session ID,結合cookie驗證
            3)只接受server產生的Session ID
            4)只在用戶登錄授權后生成Session或登錄授權后變更Session
            5)為Session ID設置Time-Out時間
            6)驗證來源,如果Refer的來源是可疑的,就刪除Session ID
            7)如果用戶代理user-agent變更時,重新生成session ID
            8)使用SSL連接
            9)防止XSS,CSRF漏洞
            以上內容已經提出了很多次關于XSS和CSRF,他們真的是罪魁禍首啊,因為有了這些漏洞,會導致很多的惡意攻擊,好吧,以后會慢慢道來,揭開他們神秘面紗。
          版權聲明:本文出自 zzzmmmkkk 的51Testing軟件測試博客:http://www.51testing.com/?258885
          原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。

          posted on 2013-12-06 11:14 順其自然EVO 閱讀(419) 評論(0)  編輯  收藏 所屬分類: 安全性測試

          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 盈江县| 时尚| 沁水县| 丹寨县| 洪雅县| 神池县| 佳木斯市| 普安县| 塔河县| 永春县| 林周县| 五莲县| 新平| 棋牌| 安塞县| 平山县| 济源市| 紫金县| 积石山| 阿拉善盟| 塔河县| 哈巴河县| 五华县| 大邑县| 南江县| 普洱| 仁怀市| 遵义市| 靖安县| 宁安市| 泰宁县| 南华县| 蚌埠市| 盈江县| 逊克县| 福安市| 文昌市| 肃南| 台东县| 耒阳市| 邯郸市|