標籤:覆蓋 總結 ken cti 用戶端 授權 客戶 過濾器 驗證
本文來自對看雪論壇一篇文章的學習的記錄:https://bbs.pediy.com/thread-210876.htm
一.認證的測試
目前很多頁面在註冊前採用ajax,jquery無重新整理判斷使用者名稱是否註冊,引入賬戶名枚舉問題
用戶端ajax代碼
function validatorloginName(){
var loginName=document.getElementById("uname").value;
if(loginName==""){
alert("使用者名稱不可為空");
return;
}
$.ajax({
type:"POST",
url:"ValidateName",
data:"loginName="+loginName;
success:function(data){
if(data=="true"){
alert("恭喜您,使用者名稱沒有被使用");
}else{
alert("抱歉!使用者名稱存在");
}
}
});
}
修複方法:添加驗證碼,一次性token
二.非授權訪問
產生原因:
需要登入才能訪問的頁面,缺乏對使用者登入工作階段,token進行驗證有效性判斷,導致非合法使用者,token可以訪問需要登入才能訪問的頁面
檢測方法:
藉助Dirbuster進行目錄猜解,點擊測試需要授權訪問頁面是否能在非授權情況下開啟
修複方法:
在某個分頁檔包含一個使用者驗證會話/token是否有效檔案,或者建立過濾器
三.關於驗證碼容易出現的問題
1.驗證碼儲存在cookie中,可以直接查看到
2,驗證碼在驗證失敗後沒有重新整理驗證碼,導致暴力破解
3.驗證碼噪點或者扭曲度不高,導致可以用工具識別
四.手機otp認證繞過
存在風險:
1,手機otp動態碼失效時間設計有問題,失效時間設定過長和動態碼位元過少會存在爆破風險
2.動態碼發送之後,在網頁原始碼中顯示
3.手機otp驗證結果在前端認證,修改返回狀態代碼,可繞過
4.是否可以抓包修改手機號,導致發送到攻擊者手機
五,會話固定漏洞:
web應用程式沒有正確執行會話管理,例如使用者登入前的會話cookie和登入後的是一樣的,另外是當使用者點擊退出,session不會失效
測試方法:觀察登入前,登入後,退出狀態下cookie,sessionId是否變化
修複方法:一旦使用者登入成功,馬上invalidate使用者的會話
文章後面的就不總結了,雖然有很多知識點都講的不是特別清楚,不過,總體來說,覆蓋的知識點還是挺全的,還有的話就是對於java語言特有的安全問題,比如ognl,容器配置的問題,都沒有講到,比較遺憾
java相關漏洞學習