如何修復AppScan漏洞

weixin_33831673發表於2014-10-29

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

相關文章