摘要:隨機(jī)生成算法太弱。假設(shè)小明同學(xué)在這個(gè)時(shí)間點(diǎn)登錄了應(yīng)用,那么中,除去了時(shí)間戳外就只有是破解的變量了。只需猜次即可獲取小明的賬戶權(quán)限。登錄驗(yàn)證憑具來(lái)源樂(lè)吧隨機(jī)算法在安全中的重要性
在展開(kāi)文章之前,先給大家看一段代碼:
坑 is heresetnx("Auth:" . $token, $uid); if( !$do ) $app->response("Sorry, server is busy..."); $app->response("Hello, ".$uid.""s auth token is ".$token);
get("Auth:" . $token); echo "Hello, You are logged in as ".$uid;分析
上述代碼, 邏輯上并無(wú)太大問(wèn)題,一般業(yè)務(wù)一秒鐘能登錄超過(guò)8999個(gè)用戶的可能性也不太大,所以基本上能滿足大多業(yè)務(wù)的APP授權(quán)需求。
可是這塊代碼真沒(méi)有安全問(wèn)題嗎?
有。
隨機(jī)生成算法太弱。
假設(shè)小明同學(xué)在1464158564這個(gè)時(shí)間點(diǎn)登錄了應(yīng)用,那么 md5( "1464158564" . rand( 1000, 9999 ) ) 中,除去了時(shí)間戳外就只有1000~9999是破解的變量了。只需猜8999次即可獲取小明的賬戶權(quán)限。
改進(jìn)建議首先將隨機(jī)因子加多,頭部加尾變也加,然后長(zhǎng)度遠(yuǎn)遠(yuǎn)大于可猜解的范圍,加大暴力破解難度。
哈希算法改成非哈希算法,比如php的password_hash()函數(shù)替代md5(),相同因子不同次生成的密文不一致,即可以一定程度避免重復(fù),也能無(wú)限維度加大破解難度。
setnx("Auth:" . $token, $uid); if( !$do ) $app->response("Sorry, server is busy..."); $app->response("Hello, ".$uid.""s auth token is ".$token);
get("Auth:" . $token); echo "Hello, You are logged in as ".$uid;
來(lái)源: IT樂(lè)吧: 隨機(jī)算法在APP安全中的重要性
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11186.html
摘要:接下來(lái),我就來(lái)詳解一下如何防止被二次打包。開(kāi)發(fā)階段移動(dòng)應(yīng)用開(kāi)發(fā)時(shí)接入安全組件,保護(hù)數(shù)據(jù)安全。 前言 Android APP二次打包則是盜版正規(guī)Android APP,破解后植入惡意代碼重新打包。不管從性能、用戶體驗(yàn)、外觀它都跟正規(guī)APP一模一樣但是背后它確悄悄運(yùn)行著可怕的程序,它會(huì)在不知不覺(jué)中浪費(fèi)手機(jī)電量、流量,惡意扣費(fèi)、偷窺隱私等等行為。 二次打包問(wèn)題只是Android應(yīng)用安全風(fēng)險(xiǎn)中...
摘要:公開(kāi)密鑰加密的出現(xiàn)大大減輕了交換對(duì)稱(chēng)密鑰的困難,公鑰可以公開(kāi)透過(guò)不安全可被竊聽(tīng)的渠道發(fā)送,用以加密明文。當(dāng)與配合使用,稱(chēng)之為,與配合則稱(chēng)為,以此類(lèi)推。這步?jīng)]有簽名,服務(wù)端收到數(shù)據(jù)后不會(huì)發(fā)現(xiàn)被篡改。對(duì)于認(rèn)證機(jī)構(gòu),一旦私鑰外泄,將可能導(dǎo)致整未濟(jì),亨。小狐汔濟(jì),濡其尾,無(wú)攸利?!兑住妨⒚荑€管理當(dāng)不再擔(dān)心身份會(huì)被冒充、篡改之后,我們?cè)賮?lái)詳細(xì)談?wù)劸W(wǎng)絡(luò)通信中對(duì)于加密算法的密鑰管理。在密鑰被簽發(fā)后,...
標(biāo)準(zhǔn)庫(kù)中的sort函數(shù),是快速排序算法的典型實(shí)現(xiàn)。算法將含有n個(gè)元素的序列排序,平均需要 O(n log n) 時(shí)間。 上周,我提出了測(cè)試一個(gè)程序的性能比測(cè)試其功能更難這個(gè)觀點(diǎn)。確認(rèn)程序的性能達(dá)到標(biāo)準(zhǔn)以及確定標(biāo)準(zhǔn)的含義都十分困難。 接下來(lái),我會(huì)繼續(xù)討論標(biāo)準(zhǔn)庫(kù)中的sort(排序)函數(shù)。sort函數(shù)實(shí)現(xiàn)了快速排序算法,快速排序算法平均可以在 O(n log n) 時(shí)間內(nèi)對(duì)含有n個(gè)元素的序列進(jìn)行排序...
摘要:接下來(lái),作者從密碼算法的誤用著手,針對(duì)一些常量,改進(jìn)了靜態(tài)分析工具。具體來(lái)說(shuō),就是在的基礎(chǔ)上做了動(dòng)態(tài)分析方法和靜態(tài)分析方法相結(jié)合的策略,在線記錄文件,離線檢測(cè)分析,使得整個(gè)工具更加完善。 ...
閱讀 4179·2021-11-22 13:52
閱讀 2509·2021-11-22 13:52
閱讀 3683·2021-11-19 09:59
閱讀 1185·2021-11-17 09:33
閱讀 2447·2019-08-30 10:53
閱讀 1219·2019-08-29 17:28
閱讀 1308·2019-08-29 17:03
閱讀 3099·2019-08-26 11:31