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