我正在从事一个有悬而未决的checkmarx问题(最近从veracode迁移过来)的项目,这个安全性方面存在一个问题:
@Configuration
@EnableWebSecurity
public class Security extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity.cors().and().csrf().disable();
}
}
Checkmarx不喜欢它,给我看这个:
证券配置。java从disable的用户请求中获取参数。该参数值在代码中流动,最终用于访问应用程序状态改变功能。这可能会启用跨站点请求伪造(XSRF)
还要补充的是,在这个springboot中发出的请求是用idtoken处理的,根据我找到的快速阅读,这个类应该定义得很好。(希望如此)
如果有人能找到解决checkmarx不喜欢的问题的线索,那将非常有帮助,祝你好运!
checkmarx扫描不喜欢对所有URL完全禁用csrf的部分。如果您有任何想要启用csrf的特定url,可以添加以下代码。
@Configuration
@EnableWebSecurity
public class Security extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
equestMatcher csrfRequestMatcher = new RequestMatcher() {
// Disable CSFR protection on the following urls:
private AntPathRequestMatcher[] requestMatchers = {
new AntPathRequestMatcher("/login"),
new AntPathRequestMatcher("/logout"),
new AntPathRequestMatcher("/verify/**")
};
@Override
public boolean matches(HttpServletRequest request) {
// If the request match one url the CSFR protection will be disabled
for (AntPathRequestMatcher rm : requestMatchers) {
if (rm.matches(request)) { return false; }
}
return true;
} // method matches
};
httpSecurity.csrf()
.requireCsrfProtectionMatcher(csrfRequestMatcher)
.and()
// other validations.
}
}
请尝试以下链接获取详细答案。Spring Security 3.2 CSRF禁用特定网址
什么是CSRF CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 那么CSRF到底能够干嘛呢?你可以这样简单的理解:攻击者可以盗用你的登陆信息,以你的身份模拟发送各种请求。攻击者只要借助少许的社会工程学的诡计,例如通过QQ等聊天软件发送的链接(有些还伪装成
请澄清我对CSRF攻击的概念。在csrf中,我们从隐藏字段发送令牌,即, 我们会在会议的基础上提交表格。如果攻击者找到我的表单并更改隐藏值并提交表单,则他将成功。我怎样才能防止形成。
我正在开发一个java web应用程序,应该非常安全,所以我在SSL服务器上应用了spring security和spring MVC,并启用了CSRF;我使用POST成功地提交了所有表单和生成的CSRF令牌,但是有些页面有GET方法,如果任何攻击者从任何浏览器打开任何页面的源代码,他可以在表单标记中看到生成的CSRF令牌,那么他可以使用它向我们的网站发布任何内容,只要会话由受攻击的用户激活!!我
本文向大家介绍csrf 攻击是怎样攻击的? 如何防御相关面试题,主要包含被问及csrf 攻击是怎样攻击的? 如何防御时的应答技巧和注意事项,需要的朋友参考一下 get, post, delete, 分开, 避免使用get修改数据 避免让第三方站点访问cookie 对referrer进行验证 token 阻止第三方请求 .
8.9 物理访问攻击 物理访问攻击与提升用户的权限类似。即当一个普通用户登录到系统中,破解本地其他用户账户的密码。在Linux中,普通用户可以通过su命令代替其他用户执行某些操作,意味着该用户能够在Linux/Unix系统中提升自己的权限。在这种情况下,可以使用SUCrack工具暴力破解使用su的本地用户账户的密码,来完成后续的渗透攻击操作。本节将介绍使用SUCrack工具攻击该用户。 SUCra
这是我的ApiService类: