【W(wǎng)eb滲透】業(yè)務(wù)邏輯漏洞
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
身份驗(yàn)證漏洞暴力破解漏洞漏洞介紹:攻擊者可以通過(guò)該漏洞獲取用戶名和對(duì)應(yīng)弱口令密碼,并進(jìn)行登錄操作 漏洞原理:由于沒(méi)有設(shè)置登錄失敗次數(shù)限制,導(dǎo)致攻擊者可以通過(guò)口令字典進(jìn)行特定用戶的密碼爆破或通過(guò)用戶名字典進(jìn)行特定弱口令的用戶枚舉 漏洞點(diǎn):系統(tǒng)登錄點(diǎn) 漏洞修復(fù):對(duì)于固定用戶名爆破密碼 可以針對(duì)用戶名進(jìn)行錯(cuò)誤次數(shù)計(jì)算,高于一定閾值賬號(hào)鎖定一段時(shí)間,或者添加驗(yàn)證碼 但是不能永久鎖定,可能被用來(lái)進(jìn)行賬戶惡意鎖定 對(duì)于固定密碼枚舉用戶名、 需要計(jì)算IP對(duì)URL的請(qǐng)求情況,某個(gè)IP短時(shí)間大量請(qǐng)求登錄應(yīng)該加入黑名單 進(jìn)行傳輸數(shù)據(jù)加密有一定的防護(hù)效果 Session固定攻擊漏洞介紹:會(huì)話固定攻擊是利用服務(wù)器的session不變機(jī)制,借他人之手獲得認(rèn)證和授權(quán),然后冒充他人 漏洞原理:在請(qǐng)求登錄過(guò)程時(shí)候,URL帶有一個(gè)session,登錄成功之后會(huì)將登錄成功的信息綁定到這個(gè)session中,攻擊者可以發(fā)送帶有session的URL給相關(guān)工作人員誘導(dǎo)其登錄,相當(dāng)于獲取了其身份信息 漏洞點(diǎn):在GET方法請(qǐng)求登錄時(shí)候帶有session值 修復(fù)思路: 只要避免在URL中帶入session信息即可比較有效的防御 另外也要注意POST請(qǐng)求中帶有sessionid進(jìn)行session固定攻擊,雖然可利用性比較低,但是建議修復(fù) Cookie欺騙漏洞漏洞介紹:通過(guò)偽造cookie信息能夠偽造其他用戶進(jìn)行登錄。漏洞原理:開(kāi)發(fā)者為了方便將身份信息/登錄信息明文或者只是簡(jiǎn)單編碼、哈希之后存放在cookies中,網(wǎng)站通過(guò)獲取得到的cookies進(jìn)行授權(quán)或者身份驗(yàn)證 漏洞點(diǎn):cookie中有明顯或者只是簡(jiǎn)單編碼、哈希的字段時(shí)候 修改lsLogin值為1可以判定為用戶已經(jīng)登錄 修改cookie為asp163=UserName=admin 漏洞修復(fù):Cookie不應(yīng)該存儲(chǔ)可理解的身份信息和登錄信息 按照規(guī)定,cookie對(duì)身份信息和登錄信息的存儲(chǔ)只能通過(guò)存儲(chǔ)足夠長(zhǎng)度的隨機(jī)字符串進(jìn)行,避免篡改 權(quán)限類邏輯漏洞權(quán)限相關(guān)邏輯漏洞是邏輯漏洞中出現(xiàn)的最多的漏洞 平行權(quán)限跨越漏洞介紹:即普通用戶/管理員能訪問(wèn)其他普通用戶/管理員才能夠訪問(wèn)的系統(tǒng)信息或者系統(tǒng)功能 形成原因:在進(jìn)行方法調(diào)用時(shí)候未進(jìn)行請(qǐng)求用戶和目標(biāo)信息擁有者是否匹配一致,直接用userid/email之類的容易遍歷的參數(shù)進(jìn)行數(shù)據(jù)庫(kù)查詢 漏洞點(diǎn):在普通用戶/管理員登錄后的能訪問(wèn)的鏈接或者功能中都可能存在 漏洞修復(fù): 在權(quán)限管理中,平行越權(quán)的權(quán)限管理顆粒度最小 修復(fù)思路 需要在方法中進(jìn)行相關(guān)的獲取請(qǐng)求request 再利用getAttribute("userid")獲取其userid 直接使用該userid作為參數(shù)進(jìn)行數(shù)據(jù)增刪查改,避免userid參數(shù)傳輸 垂直權(quán)限跨越漏洞介紹:即普通用戶能夠訪問(wèn)管理員甚至超級(jí)管理員才能夠訪問(wèn)的系統(tǒng)信息或者系統(tǒng)功能 形成原因:程序再方法調(diào)用時(shí)候,缺少角色等級(jí)校驗(yàn) 漏洞點(diǎn):在任何用戶登錄后才能訪問(wèn)的鏈接或者功能中都可能存在 對(duì)每一個(gè)傳輸?shù)膮?shù)都要了解參數(shù)的目的,嘗試將用戶名改為admin嘗試?yán)@過(guò) 漏洞修復(fù): 需要校驗(yàn)用戶是否有權(quán)限訪問(wèn)這個(gè)方法 修復(fù)思路 獲取請(qǐng)求request 再利用getAuttribute("roleid")獲取其角色等級(jí) 檢查角色等級(jí)是否合法,錯(cuò)誤則直接返回錯(cuò)誤跳轉(zhuǎn),返回頁(yè)面必須仍然從Attribute中獲取userid再進(jìn)一步查詢相關(guān)信息 值得注意的是切勿將錯(cuò)誤跳轉(zhuǎn)寫(xiě)到Javascript里面,還返回目標(biāo)URL頁(yè)面的相關(guān)信息。 未經(jīng)授權(quán)訪問(wèn)漏洞介紹:即游客能夠訪問(wèn)普通用戶甚至超級(jí)管理員才能訪問(wèn)的系統(tǒng)信息或者系統(tǒng)功能 形成原因:主要是系統(tǒng)設(shè)計(jì)期間沒(méi)有進(jìn)行全局用戶身份校驗(yàn);或者校驗(yàn)存在缺陷 漏洞點(diǎn):在任何用戶登錄后才能訪問(wèn)的鏈接或者功能中都可能存在 漏洞修復(fù): J2EE中存在filter,可以獲取用戶的cookie等信息 修復(fù)思路: 建立LoginList,值是當(dāng)前在線用戶的id 對(duì)所有需要登錄訪問(wèn)到URL,獲取請(qǐng)求request 再利用 getAttribute("userid") 獲取其userid 檢查userid是否存在于LoginList中,不存在則直接返回錯(cuò)誤跳轉(zhuǎn) 值得注意的是切勿將錯(cuò)誤跳轉(zhuǎn)寫(xiě)到Javascript里面,還返回目標(biāo)URL頁(yè)面的相關(guān)信息 圖形驗(yàn)證碼漏洞圖形驗(yàn)證碼突破漏洞介紹:攻擊者通過(guò)突破圖形驗(yàn)證碼的驗(yàn)證,可以實(shí)現(xiàn)如登錄爆破、驗(yàn)證碼繞過(guò)等攻擊 漏洞原理: 圖形驗(yàn)證碼在錯(cuò)誤后未失效 返回驗(yàn)證碼信息 分步驗(yàn)證驗(yàn)證碼 漏洞點(diǎn):任何存在圖形驗(yàn)證碼的功能中 漏洞修復(fù) 一旦驗(yàn)證碼使用過(guò)了,必須要進(jìn)行刪除,重新生成驗(yàn)證碼,可以梵高attribute中 驗(yàn)證碼需要設(shè)置超時(shí),時(shí)間一到立即刪除舊驗(yàn)證碼,用戶需要獲取新的驗(yàn)證碼 驗(yàn)證碼只需要返回圖片,切勿將生成驗(yàn)證碼的字符串也一并返回 驗(yàn)證碼不應(yīng)該進(jìn)行分布校驗(yàn),應(yīng)該連同請(qǐng)求數(shù)據(jù)一起發(fā)送到目標(biāo)服務(wù)器進(jìn)行校驗(yàn),服務(wù)器校驗(yàn)通過(guò)則返回合法數(shù)據(jù),否則返回錯(cuò)誤 找回密碼邏輯漏洞密碼找回漏洞漏洞介紹:攻擊者通過(guò)密碼找回邏輯漏洞,可以重置他人賬號(hào)密碼,危害他人賬號(hào)安全 漏洞原理:其實(shí)是驗(yàn)證碼漏洞的一種: 驗(yàn)證碼時(shí)間長(zhǎng)可爆破 返回重置密碼憑證 若加密的重置密碼憑證 漏洞點(diǎn):任何密碼找回處(可延伸至相似具有驗(yàn)證功能) 修改接受校驗(yàn)碼目標(biāo) 漏洞修復(fù) 一旦驗(yàn)證碼使用過(guò)了,必須要進(jìn)行刪除,重新生成驗(yàn)證碼,可以放到attribute中 驗(yàn)證碼需要設(shè)置超時(shí),時(shí)間一到立即刪除舊驗(yàn)證碼,用戶需要獲取新的驗(yàn)證碼 校驗(yàn)憑證不能夠隨著返回包進(jìn)行返回 驗(yàn)證碼不應(yīng)該進(jìn)行分布校驗(yàn),應(yīng)該連同請(qǐng)求數(shù)據(jù)一起發(fā)送到目標(biāo)服務(wù)器進(jìn)行校驗(yàn),服務(wù)器校驗(yàn)通過(guò)則返回合法數(shù)據(jù),否則返回錯(cuò)誤 校驗(yàn)憑證的生成需要進(jìn)行隨機(jī)生成,防止憑證破解 用戶身份憑證和權(quán)限類漏洞修復(fù)一樣,需要從attribute中獲取 業(yè)務(wù)數(shù)據(jù)篡改漏洞業(yè)務(wù)數(shù)據(jù)篡改(賦值反沖)漏洞介紹:攻擊者通過(guò)進(jìn)行數(shù)值篡改進(jìn)行攻擊,從而獲利 漏洞原理: 沒(méi)有對(duì)傳輸數(shù)據(jù)添加相關(guān)的校驗(yàn)參數(shù) 后臺(tái)未對(duì)參數(shù)值進(jìn)行校驗(yàn)并直接使用數(shù)據(jù)包中的參數(shù) 漏洞點(diǎn):抽獎(jiǎng)、購(gòu)買、轉(zhuǎn)賬、返現(xiàn)等功能 漏洞修復(fù): 對(duì)于軟件來(lái)說(shuō),需要保護(hù)好內(nèi)存數(shù)據(jù),防止內(nèi)存數(shù)據(jù)篡改 計(jì)算傳輸數(shù)據(jù)的哈希,并將哈希附加在傳輸數(shù)據(jù)中作為校驗(yàn)值,避免被篡改 先校驗(yàn)數(shù)值,防止大整數(shù)和負(fù)數(shù);接著利用傳輸?shù)纳唐稩D從數(shù)據(jù)庫(kù)中獲取商品單價(jià)重新進(jìn)行價(jià)格計(jì)算;最后生成訂單(訂單號(hào)應(yīng)為隨機(jī)值) 執(zhí)行順序邏輯漏洞執(zhí)行順序篡改漏洞介紹:攻擊者通過(guò)篡改分步邏輯中的步驟數(shù)字,達(dá)到繞過(guò)支付、校驗(yàn)等效果 漏洞原理:程序邏輯分布進(jìn)行,但是對(duì)步驟、驗(yàn)證信息、支付信息沒(méi)有做好嚴(yán)格校驗(yàn),導(dǎo)致修改步驟就直接繞過(guò)驗(yàn)證或者支付 漏洞點(diǎn):任何分布邏輯且?guī)Р襟E數(shù)字,或者利用JS進(jìn)行步驟控制的功能中 漏洞修復(fù) 在請(qǐng)求最后一步時(shí)候需要帶入前面的驗(yàn)證信息,服務(wù)端再進(jìn)行一次校驗(yàn)信息的驗(yàn)證,驗(yàn)證正確方能繼續(xù)執(zhí)行數(shù)據(jù)操作 也可以及通過(guò)getAttributr("userid")獲取userid進(jìn)行userid和驗(yàn)證結(jié)果綁定,最后一步不帶入驗(yàn)證信息,但是仍然要獲取userid進(jìn)行校驗(yàn) 再最后一步通過(guò)驗(yàn)證之后或者服務(wù)器收到支付信息后再生成相應(yīng)的數(shù)據(jù)交給用戶 其他類型邏輯漏洞條件競(jìng)爭(zhēng)漏洞漏洞介紹:可以通過(guò)同時(shí)重放大量數(shù)據(jù)包進(jìn)行漏洞利用,通常用于突破限量、限額的問(wèn)題都有奇效 漏洞原理:由于目標(biāo)函數(shù)中,判斷與數(shù)據(jù)修復(fù)兩個(gè)步驟之間,或者兩個(gè)數(shù)據(jù)修改步驟之間存在時(shí)間差,且函數(shù)未進(jìn)行同步鎖定,則可以造成漏洞 漏洞點(diǎn):程序中存在限制,可以猜測(cè)到后臺(tái)有判斷與修改操作的方法 漏洞修復(fù) -修復(fù)思路:使用synchronized關(guān)鍵字,可以限制同一時(shí)間內(nèi)訪問(wèn)方法的只有單一線程 并不是每個(gè)條件競(jìng)爭(zhēng)都必須修復(fù) 數(shù)據(jù)包重放漏洞漏洞介紹:通過(guò)數(shù)據(jù)包重放,可以造成短信轟炸、郵件轟炸、重復(fù)提交訂單等 漏洞原理:后臺(tái)未進(jìn)行相關(guān)操作的技術(shù)導(dǎo)致數(shù)據(jù)包重放 漏洞點(diǎn):短信驗(yàn)證碼、郵件校驗(yàn)、提交訂單等功能。 修復(fù)方案: 修復(fù)思路(針對(duì)短信、郵件) 構(gòu)造一個(gè)Hashmap<String,short>,存放郵箱或電話號(hào)碼及對(duì)應(yīng)次數(shù) 只要某個(gè)郵箱或者電話號(hào)碼次數(shù)夠了,就不能繼續(xù)發(fā)送了 或者計(jì)算兩次發(fā)送的時(shí)間間隔,時(shí)間過(guò)短就不繼續(xù)發(fā)送了 通用修復(fù)方案 需要建立token機(jī)制或驗(yàn)證碼機(jī)制,一次有效 參數(shù)綁定漏洞漏洞介紹:通過(guò)添加對(duì)象字段相關(guān)參數(shù)進(jìn)行數(shù)據(jù)篡改 漏洞原理:對(duì)象自動(dòng)綁定被許多框架支持,它允許將HTTP請(qǐng)求參數(shù)自動(dòng)的綁定到對(duì)象,開(kāi)發(fā)者沒(méi)有對(duì)其進(jìn)行安全校驗(yàn)則容易導(dǎo)致數(shù)據(jù)篡改 漏洞點(diǎn):常見(jiàn)的所有輸入的地方都會(huì)出現(xiàn)這個(gè)漏洞,特別是金融、用戶、緩存等。 漏洞修復(fù):Spring MVC中可以使用@InitBinder注釋,通過(guò)WebDataBinder的方法setAllowedFields、setDisallowedFields設(shè)置允許或不允許綁定的參數(shù) SRC中的邏輯漏洞總結(jié)注冊(cè): 短信轟炸 驗(yàn)證碼安全問(wèn)題 密碼爆破 郵箱轟炸 用戶任意注冊(cè)、批量注冊(cè) 用戶名枚舉 XSS(有框的地方就可以嘗試插XSS) 登錄: 短信轟炸、驗(yàn)證碼安全問(wèn)題、密碼爆破、郵箱轟炸 SQL注入 撞庫(kù) 抓包把password字段修改為空值發(fā)送 認(rèn)證憑證替換、比如返回的數(shù)據(jù)包中包含賬號(hào),修改賬號(hào)就能登錄到其他賬號(hào) Cookie仿冒 修改返回包的相關(guān)數(shù)據(jù),可能會(huì)登陸到其他的用戶 找回密碼: 短信郵箱轟炸、短信郵箱劫持 重置任意用戶賬戶密碼、驗(yàn)證碼手機(jī)用戶未統(tǒng)一驗(yàn)證 直接跳過(guò)驗(yàn)證步驟 購(gòu)買支付、充值(要利用抓包去仔細(xì)查看每一個(gè)可用的參數(shù)) 交易金額、數(shù)量修改、更換支付模塊(比如更換支付的模塊金額) 交易信息訂單編碼/導(dǎo)致信息泄露 整數(shù)溢出,int最大值為2147483647,超過(guò)最大值 修改充值賬戶 支付繞過(guò) 抽獎(jiǎng)活動(dòng) 刷獎(jiǎng)品、積分 并發(fā) 優(yōu)惠卷、代金卷 并發(fā)邏輯漏洞(burp批量獲取優(yōu)惠券) 修改優(yōu)惠券金額、數(shù)量 訂單信息 訂單信息遍歷、泄露 訂單信息泄露導(dǎo)致用戶信息泄露 刪出他人訂單 會(huì)員系統(tǒng) 修改個(gè)人信息上傳文件,上傳帶彈窗的html 如遇上上傳xlsx、docx,可能存在XXE,上傳惡意的文檔盲測(cè) 圖片上傳也可能遇到imagereagick命令執(zhí)行,上傳惡意圖片 視頻上傳如果使用ffmpeg<3.2.4(視頻按幀分割成圖片),上傳惡意avi盲測(cè)ssrf 用戶橫向越權(quán)訪問(wèn)、遍歷、導(dǎo)致用戶信息泄露 SQL注入、個(gè)人簡(jiǎn)歷處存儲(chǔ)XSS個(gè)人信息注冊(cè)的名稱也可以插入XSS 傳輸過(guò)程 明文傳輸賬戶密碼 修改信息處無(wú)session/token導(dǎo)致csrf POST/COOKIE注入 評(píng)論 POST注入 存儲(chǔ)型XSS 無(wú)session/token導(dǎo)致CSRF 驗(yàn)證碼問(wèn)題 萬(wàn)能驗(yàn)證碼 返回包中存在驗(yàn)證碼 刪除驗(yàn)證碼或者cookie中的值可以爆破賬號(hào)密碼 短信轟炸 一直重放 刪除修改cookie,重放數(shù)據(jù)包 遍歷參數(shù)發(fā)送數(shù)據(jù)包 手機(jī)號(hào)后面加空格或者前面加其他的比如+86或者逗號(hào)分號(hào)等,然后重發(fā)數(shù)據(jù)包 請(qǐng)求參數(shù)修改大小寫(xiě),或者添加請(qǐng)求參數(shù)比如&id=1 一個(gè)站的登錄處可能做了防護(hù),但是再找回密碼處可能沒(méi)有安全防護(hù),或者在注冊(cè)流程中沒(méi)有安全防護(hù),所以說(shuō)多測(cè)試接口 如果對(duì)手機(jī)號(hào)一天的次數(shù)進(jìn)行了限制,還可以再發(fā)一次短信,DO intercept之后修改為成功回顯 水平越權(quán) 主要登陸后還是修改參數(shù),主要找到多個(gè)接口不斷測(cè)試 關(guān)注網(wǎng)頁(yè)源代碼,有時(shí)候會(huì)有表單,但被bidden(隱藏標(biāo)簽)給隱藏起來(lái)了,可以修改返回包然后嘗試獲取數(shù)據(jù)檢測(cè) 多個(gè)賬號(hào),主要分析請(qǐng)求參數(shù) 數(shù)據(jù)泄露 再找回密碼處,填寫(xiě)數(shù)據(jù)后抓包查看返回信息,有可能存在敏感數(shù)據(jù)返回 任意用戶密碼重置 目前大部分都是在修改密碼處參數(shù)修改 有些是前端驗(yàn)證 支付邏輯漏洞 邊界值問(wèn)題 : 正常的邏輯是用戶購(gòu)買商品,然后價(jià)格累加得到一個(gè)總價(jià)進(jìn)行扣款。這個(gè)時(shí)候就會(huì)產(chǎn)生邏輯問(wèn)題:如果說(shuō)用戶購(gòu)買的商品是負(fù)數(shù)了,那么計(jì)算的總數(shù)就是負(fù)數(shù)。反過(guò)來(lái)錢給用戶 順序執(zhí)行缺陷:正常的邏輯是a-b-c-d 循環(huán)漸進(jìn)的進(jìn)行流程操作。這個(gè)時(shí)候就會(huì)產(chǎn)生邏輯問(wèn)題:可以直接從中繞過(guò)某一個(gè)過(guò)程進(jìn)入到下一步操作。如果說(shuō)有一項(xiàng)是支付的操作,那么也就會(huì)產(chǎn)生支付繞過(guò),如果說(shuō)有一項(xiàng)是驗(yàn)證機(jī)制,就會(huì)繞過(guò)驗(yàn)證直接進(jìn)入下一步。 金額直接傳輸導(dǎo)致篡改:直接對(duì)下單的金額進(jìn)行修改值,這里可以使用fd或者burp抓包 確定支付之后還可以加入購(gòu)物車:把商品放入購(gòu)物車點(diǎn)擊下單支付,會(huì)跳轉(zhuǎn)到微信,支付寶等第三方支付平臺(tái)。這個(gè)時(shí)候還可以繼續(xù)在購(gòu)物車中加入商品,支付結(jié)束之后,商家發(fā)放的商品是現(xiàn)在的購(gòu)物車?yán)锩娴臇|西。 請(qǐng)求重放:購(gòu)買成功之后,繼續(xù)重放請(qǐng)求,可以讓購(gòu)買的商品一直增加。購(gòu)買成功之后,會(huì)有一個(gè)銀行對(duì)商戶網(wǎng)站跳轉(zhuǎn)的過(guò)程,如果反復(fù)進(jìn)行操作,有幾率會(huì)導(dǎo)致商品反復(fù)購(gòu)買和增加,但是不需要付更多的錢。 請(qǐng)求參數(shù)干擾:金錢做了簽名認(rèn)證之后,修改后不通過(guò),但是在里面仍然會(huì)有一個(gè)參數(shù)對(duì)金額產(chǎn)生影響導(dǎo)致問(wèn)題產(chǎn)生。 訂單替換:訂單替換發(fā)生在支付之后的事件處理,同時(shí)向服務(wù)器發(fā)起二次支付請(qǐng)求一個(gè)多一個(gè)少,支付金額少的,然后支付之后進(jìn)行替換,告知服務(wù)器訂單支付完成,并且過(guò)程可以反復(fù)的回放。 欺詐:需要兩個(gè)收款人,一個(gè)是正常的商家,一個(gè)是偽造的商家 單位替換:產(chǎn)生在paypal類似的國(guó)際支付的場(chǎng)景。 用戶替換:在支付過(guò)程中發(fā)生用戶替換現(xiàn)象,首先登陸自己的賬戶,然后取得另外一個(gè)人的賬戶名等有效信息,在業(yè)務(wù)流程中用對(duì)方的用戶名替換自己的用戶名,用對(duì)方的余額購(gòu)買完成后,再替換自己的賬戶名,這樣就形成別人的錢買自己的東西 強(qiáng)制攻擊:強(qiáng)制攻擊發(fā)生在暴力破解的情況下,如果一個(gè)商家運(yùn)用一個(gè)自己的網(wǎng)店,接入第三方支付接口,由于設(shè)計(jì)上的不當(dāng)導(dǎo)致商家與第三方支付約定的密鑰Key可以單獨(dú)被MD5加密,導(dǎo)致可以使用MD5碰撞技術(shù)對(duì)密鑰進(jìn)行破解,攻擊者可以設(shè)計(jì)簡(jiǎn)單的密鑰加密信息使得MD5加密是可以用MD5碰撞技術(shù)進(jìn)行暴力破解。 秘鑰泄漏:內(nèi)置支付功能的app為了設(shè)計(jì)上的方便有可能會(huì)把Md5或者是RSA的私鑰泄漏導(dǎo)致攻擊者反編譯apk之后獲取密鑰信息使得交易信息可以被篡改。 函數(shù)修改:apk反編譯之后的函數(shù)修改,可能導(dǎo)致商家在最后一步向支付方提交訂單時(shí)未驗(yàn)證信息的準(zhǔn)確性,仍然被篡改。 heart bleed:SSL(安全套接層)協(xié)議是使用最為普遍網(wǎng)站加密技術(shù),而OpenSSL則是開(kāi)源的 SSL 套件,為全球成千上萬(wàn)的web服務(wù)器所使用。Web服務(wù)器正是通過(guò)它來(lái)將密鑰發(fā)送給訪客然后在雙方的連接之間對(duì)信息進(jìn)行加密。URL中使用 https打頭的連接都采用了SSL加密技術(shù)。在線購(gòu)物、網(wǎng)銀等活動(dòng)均采用SSL技術(shù)來(lái)防止竊密及避免中間人攻擊。 該漏洞被歸為緩沖過(guò)度讀取。緩沖過(guò)度讀取錯(cuò)誤是軟件可以讀取比應(yīng)該被允許還多的數(shù)據(jù)。漏洞讓特定版本的openSSL成為無(wú)需鑰匙即可開(kāi)啟的“廢鎖”,入侵者每次可以翻檢戶主的64K信息,只要有足夠的耐心和時(shí)間,就可以翻檢足夠多的數(shù)據(jù),拼湊出戶主的銀行密碼、私信等敏感數(shù)據(jù)。產(chǎn)生原因:數(shù)據(jù)在傳輸?shù)膬啥耸遣患用艿?。一些?shù)據(jù)如果在傳輸過(guò)程中不加密則會(huì)泄露個(gè)人數(shù)據(jù)等信息。 修改返回包的越權(quán) 修改手機(jī)號(hào) 一般的邏輯為:認(rèn)證原手機(jī)號(hào)-> 填寫(xiě)新手機(jī)號(hào)-> 提交修改 如果在下一步操作時(shí),沒(méi)有校驗(yàn)上一步的認(rèn)證是否成功時(shí),就會(huì)存在邏輯缺陷繞過(guò) 比如在進(jìn)行第一步認(rèn)證原手機(jī)號(hào)時(shí),隨意輸入驗(yàn)證碼,將response包中的相關(guān)字段進(jìn)行修改,比如0改成1,false改成true,即可繞過(guò)第一步驗(yàn)證,進(jìn)入填寫(xiě)新手機(jī)號(hào)界面,如果第三步提交修改時(shí)沒(méi)有驗(yàn)證第一步的結(jié)果,就會(huì)造成邏輯漏洞 登錄繞過(guò) 部分網(wǎng)站的身份驗(yàn)證放在了前端,因此只需要將response包中的相關(guān)字段進(jìn)行修改,比如0改成1,false改成true,就可以登錄任意用戶賬號(hào) 水平越權(quán) 遍歷ID 在一些請(qǐng)求中,GET和POST中有明顯的ID數(shù)字參數(shù)(手機(jī)號(hào)、員工號(hào)、賬單號(hào)、銀行卡號(hào)、訂單號(hào)等等),可以嘗試進(jìn)行遍歷,如果程序沒(méi)有對(duì)當(dāng)前權(quán)限進(jìn)行判斷,就會(huì)存在水平越權(quán)問(wèn)題 ID替換 如果程序?qū)τ脩魳?biāo)識(shí)進(jìn)行了hash或者加密,而無(wú)法破解用的什么方式的話,就無(wú)法通過(guò)遍歷ID來(lái)獲取其它用戶的信息了,此時(shí)可以嘗試注冊(cè)兩個(gè)賬號(hào),通過(guò)替換兩個(gè)ID加密后的值,判斷程序是否對(duì)權(quán)限進(jìn)行了驗(yàn)證,如果沒(méi)有,也會(huì)存在越權(quán)問(wèn)題 垂直越權(quán) 觀察cookie中的session字段,可能某些字段或者參數(shù)代表身份,嘗試修改 該文章在 2023/12/13 19:02:19 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |