AppScan常见问题解决方法

跨站点请求伪造
//拦截器添加请求地址校验
String fullurl =request.getHeader("Referer");
if(fullurl!=null){
    String[] referer = fullurl.split("/");   //请求来源全路径
    String serverName = request.getServerName();//项目根路径
    int serverPort = request.getServerPort(); //端口号
    //解决安全性问题:跨站点请求伪造
    if(!referer[2].equals(serverName+":"+serverPort)){
        request.getRequestDispatcher("/error.html").forward(request, response);
    }
}
启用不安全的HTTP方法

在web.xml中添加如下代码,具体意义参见 http://www.cnblogs.com/xlyslr/p/5707995.html

<security-constraint>
        <web-resource-collection>
            <web-resource-name>fortune</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>PUT</http-method>
            <http-method>DELETE</http-method>
            <http-method>HEAD</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
        </web-resource-collection>
        <auth-constraint></auth-constraint>
    </security-constraint>
会话标识未更新
//不管什么框架,用户重复登陆时,更新session和cookie标识,否则就会出现这个漏洞
//使用shiro框架的可以在每次访问登陆页面时先注销,再次登陆会自动生成新的会话标识
@GetMapping({"/","/login"})
String welcome(Model model) {
    SecurityUtils.getSubject().logout();
    return "login";
}
发现可高速缓存的登陆页面
//页面头部添加
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache,no-store">
//如果使用shiro框架,底层已设置HttpOnly,不存在该错误,否则只能手动设置
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
cookie.setHttpOnly(true);
response.addCookie(cookie);
自动填写未对密码字段禁用的 HTML 属性
//添加autocomplete并设置为:“off”,禁止智能填充
<input id="password" name="password" placeholder="请输入密码" type="password" autocomplete="off" required />
JSPWiki?Edit.jsp?路径遍历
Vivvo CMS files.php
//在拦截器拦截掉含php,jsp的请求
String fullurl =request.getHeader("Referer");
if(StringUtils.contains(fullurl,".php") || StringUtils.contains(fullurl,".jsp") ){
    request.getRequestDispatcher(request.getRequestURI()).forward(request, response);
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

占星安啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值