【10.15總結】繞過CSRF的Referer保護

今天下午可能要出遠門,因此如今就把總結寫好了。javascript

Write-up地址:[Critical] Bypass CSRF protection on IBMphp

這個CSRF漏洞存在於IBM的修改郵箱頁面,修改郵箱的地址是java

https://www.ibm.com/ibmweb/myibm/account/sendmail?locale=us-en&email=NEW_EMAIL 

因此理論上講,只要修改上面連接中的NEW_EMAIL爲本身的郵箱,被攻擊者在登陸了本身的IBM帳戶後點擊該連接,就能達到修改被攻擊者郵箱的目的。web

可是做者Mohamed Sayed在嘗試時,發現IBM會檢測請求發出的Referer頭部,正常修改郵箱的請求Referer頭部爲jsp

https://www.ibm.com/ibmweb/myibm/profile/profile-edit.jsp

做者通過幾個小時的嘗試,發現使用下面的Referer頭部能夠成功繞過IBM的驗證oop

http://my_website/www.ibm.com/ibmweb/myibm/profile/profile-edit.jsp.php 

在測試漏洞時,做者使用了Moakt的臨時郵箱服務生成了一個臨時郵箱地址做爲NEW_EMAIL,在本身的網站上建立文件profile-edi.jsp.phppost

<script type="text/javascript">
    document.location.href="https://www.ibm.com/ibmweb/myibm/account/sendmail?locale=us-en&email=NEW_EMAIL"
</script>

這樣,只要欺騙被攻擊者訪問該網頁,就能夠在本身生成的臨時郵箱裏收到確認修改郵箱的郵件,成功修改被攻擊者IBM帳號的郵箱了。測試


其實這個漏洞原理很簡單,我以前在看對CSRF介紹的文章時也有看到過驗證Referer的防護手段,只是真實案例是第一次接觸,因此仍然頗有新鮮感。從該案例也能夠看出,CSRF可使用驗證Referer頭部的方式進行防護,可是網站對Referer的驗證方法仍然可能存在漏洞,須要進行不斷的嘗試flex


今天還看了另一篇文章DevOops — An XML External Entity (XXE) HackTheBox Walkthrough,一開始沒明白文章中提到的DevOops是什麼東西,只是以爲能夠經過這篇文章瞭解一下滲透測試的簡單流程,後來谷歌了一下,才發現Hack the box是一個在線的滲透測試平臺,感受還蠻不錯的,註冊須要經過一個小測試,並不難,雖然網上已經有教程了,但我仍是遵照規則不說出經過測試的方法,只是一個小tip——看網頁的源碼。網站

相關文章
相關標籤/搜索