首页 > 代码库 > AppScan学习修复漏洞

AppScan学习修复漏洞

[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();//清空sessionCookie cookie = request.getCookies()[0];//获取cookiecookie.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置入了被攻击者的浏览器,将会话标识改为某个攻击者预设的值,被攻击者正常登陆,若服务器接收了这个预设值,那么相当于攻击者获得了被攻击者登录后的权限,因此才要求在登录时更新会话标识

AppScan学习修复漏洞