[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置入了被攻擊者的瀏覽器,將會話標識改為某個攻擊者預設的值,被攻擊者正常登陸,若服務器接收了這個預設值,那么相當於攻擊者獲得了被攻擊者登錄后的權限,因此才要求在登錄時更新會話標識