[AppScan]修復漏洞一:啟用不安全的HTTP方法 (中)
漏洞背景:
“啟用了不安全的 HTTP 方法”屬於“中”危漏洞。漏洞描述是:根據APPSCAN的報告,APPSCAN通過OPTIONS請求,當響應中發現DELETE、SEARCH、COPY等方法為允許方法時,則認為是漏洞。
修改建議:可採用3種方法:
1.禁用WebDAV功能,能根本解決。不引入新的不穩定因素
2.使用URLSCAN禁用OPTIONS,實際沒有真正禁用,但縮小了影響範圍。URLSCAN可能有副作用。
3.使用URLSCAN禁用OPTIONS和其他HTTP方法,或者只允許GET/POST/HEAD方法(自動禁用其他方法)
[AppScan]修復漏洞二:自動填寫未對密碼欄位禁用的 HTML 屬性 (低)
推理: AppScan 發現密碼欄位沒有強制禁用自動填寫功能。
修改建議:將“autocomplete”屬性正確設定為“off”
[AppScan]修復漏洞三:HTML註釋敏感資訊洩露(參考資訊)
建議:可以點選具體問題然後檢視請求/響應點選下一行突出顯示看具體問題,然後在網站相應頁面前臺中檢視是否已去掉此註釋。
[AppScan]修復漏洞四:會話標識未更新(中危)
漏洞背景:
“會話標識未更新”是中危漏洞,AppScan會掃描“登入行為”前後的Cookie,其中會對其中的JSESSIONOID(JSP)或者 ASP.NET_SessionId(ASP)進行記錄。在登入行為發生後,如果cookie中這個值沒有發生變化,則判定為“會話標識未更新”漏洞。
修改建議:
JSP的修復方法可參考這位大俠的文章, http://www.2cto.com/Article/201302/190227.html
在登入頁面上加上一段程式碼: request.getSession().invalidate();//清空session Cookie cookie = request.getCookies()[0];//獲取cookie cookie.setMaxAge(0);//讓cookie過期 然後使用者再輸入資訊登入時,就會產生一個新的session了。
ASP的修復方法可以參考以下程式碼,在登入按鈕點選後,確認登入前,加入3行程式碼對Cookie進行清空已達到重置SessionId的效果。
protected void btnLogin_Click(object sender, EventArgs e) { //重置SessionId Session.Clear(); Session.Abandon(); Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); //登入判斷 if (check(txtName.Text,txtPassword.Text)) { FormsAuthentication.SetAuthCookie("admin", false); Response.Redirect("Default.aspx"); }
“會話標識未更新”的危害:
在於攻擊者通過某種方式(如XSS)將自己的Id置入了被攻擊者的瀏覽器,將會話標識改為某個攻擊者預設的值,被攻擊者正常登陸,若伺服器接收了這個預設值,那麼相當於攻擊者獲得了被攻擊者登入後的許可權,因此才要求在登入時更新會話標識