Padding Oracle Attack填充提示攻击-渗透测试
漏洞簡(jiǎn)介
最近學(xué)習(xí)了一個(gè)shiro的 Critica級(jí)漏洞的驗(yàn)證,利用Padding Oracle Vulnerability破解rememberMe Cookie,達(dá)到反序列化漏洞的利用,攻擊者無(wú)需知道rememberMe的加密密鑰。
明文分組和填充就是Padding?Oracle?Attack的根源所在,但是這些需要一個(gè)前提,那就是應(yīng)用程序?qū)Ξ惓5奶幚怼.?dāng)提交的加密后的數(shù)據(jù)中出現(xiàn)錯(cuò)誤的填充信息時(shí),不夠安全的應(yīng)用程序解密時(shí)報(bào)錯(cuò),直接拋出“填充錯(cuò)誤”異常信息。
Padding Oracle Attack是比較早的一種漏洞利用方式了,在2011年的Pwnie Rewards中被評(píng)為”最具有價(jià)值的服務(wù)器漏洞“。該漏洞主要是由于設(shè)計(jì)使用的場(chǎng)景不當(dāng),導(dǎo)致可以利用密碼算法通過(guò)”旁路攻擊“被破解,并不是對(duì)算法的破解。
利用該漏洞可以破解出密文的明文以及將明文加密成密文,該漏洞存在條件如下:
1、攻擊者能夠獲取到密文(基于分組密碼模式),以及IV向量(通常附帶在密文前面,初始化向量);
2、攻擊者能夠修改密文觸發(fā)解密過(guò)程,解密成功和解密失敗存在差異性。
影響范圍
受影響版本
Apache Shiro 1.2.5,1.2.6,1.3.0,1.3.1,1.3.2,1.4.0-RC2,1.4.0,1.4.1
不受影響版本
Apache Shiro-root-1.4.2-release-vote1及以上
漏洞利用
搭建存在漏洞的環(huán)境
下載padding_oracle.iso,安裝在VM中即可(linux 32),訪問(wèn)地址完成注冊(cè):
https://www.hackingarticles.in/hack-padding-oracle-lab/
首先我們注冊(cè)一個(gè)帳號(hào)sakura/sakura,并記錄auth值。
破解auth cookie
利用padbuster進(jìn)行破解,https://github.com/AonCyberLabs/PadBuster
破解密文:
偽造密文,登錄其它賬號(hào):
在瀏覽器中F12直接替換auth值就可以直接登錄其他用戶(hù)。
修復(fù)建議
1、開(kāi)發(fā)人員可自定義加密邏輯,避免使用CBC密碼塊鏈接模式,以下CipherSuite易受到Padding Oracle攻擊,請(qǐng)開(kāi)發(fā)人員避免使用。(SHIRO官方即將發(fā)布的1.4.2版本,將加密模式替換為GCM)
2、若沒(méi)有使用RememberMe的業(yè)務(wù)需求,可在前端頁(yè)面注釋掉相關(guān)代碼,并將配置文件中的相關(guān)配置去掉。Shiro默認(rèn)未配置RememberMe。
【你學(xué)不會(huì),點(diǎn)了也沒(méi)用】
總結(jié)
以上是生活随笔為你收集整理的Padding Oracle Attack填充提示攻击-渗透测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 渗透测试之子域到父域的横向移动(Sid
- 下一篇: 金融专有云数据安全实践