标签: websecurity

webpack-dev-server 的 allowedHosts 安全机制的目的是什么?

webpack-dev-server通过强制执行特定标头值试图减轻哪些安全风险Host

\n\n

默认情况下,webpack-dev-server仅允许Host标头指定本地环回地址(localhost127.0.0.1等)的连接。所有其他主机都会收到此响应:“无效的主机标头”。但当然--allowed-hosts/allowedHosts配置允许扩大此限制。

\n\n

这似乎仅基于标题Host。我可以使用curl设置自定义Host标头,并且请求成功:

\n\n
curl -X GET -H "Host: http://0.0.0.0:9001/" http://me.internal.example.com:9001/\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我很好奇\xe2\x80\x94 如果allowedHosts不阻止来自curl 或其他自定义用户代理的连接,它解决了什么问题?它似乎只针对使用普通浏览器的普通用户,以保护他们免受在错误主机上提供服务的站点的影响。但是中间人攻击可以轻松代理连接并覆盖主机标头。

\n\n

为了防止 MITM 攻击,您可以使用 https(带有浏览器信任的证书)。但在这种情况下,证书本身似乎可以缓解 MITM 攻击。

\n\n

我确信我遗漏了一些东西,所以任何进一步的解释都是值得赞赏的。

\n

webpack webpack-dev-server websecurity

3
推荐指数
1
解决办法
5484
查看次数

Asp 网络 API。JWT 身份验证与用户名/密码身份验证

很抱歉提出这样的新手问题。

我对网络安全相当陌生。

有人可以向我解释一下,当我可以包含 { username | } 时,为什么我们需要 Web api (REST) 的 JWT 令牌身份验证?每个 API 请求的电子邮件}/密码?

asp.net-web-api asp.net-core-webapi websecurity

2
推荐指数
1
解决办法
2023
查看次数

创建名为“projectingArgumentResolverBeanPostProcessor”的 bean 时出错

我在项目中设置网络安全,但看到错误。这是错误

org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名为“projectingArgumentResolverBeanPostProcessor”的bean时出错[org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class]:bean实例化之前的BeanPostProcessor失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“metaDataSourceAdvisor”的 bean 时出错:设置构造函数参数时无法解析对 bean“methodSecurityMetadataSource”的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名称为“methodSecurityMetadataSource”的bean时出错[org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.class]:通过工厂实例化Bean方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.security.access.method.MethodSecurityMetadataSource]:工厂方法“methodSecurityMetadataSource”抛出异常;嵌套异常是java.lang.IllegalStateException:在所有全局方法配置的组合中,实际上没有在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:510)〜[spring-beans]处激活注释支持-5.1.5.RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.5.RELEASE .jar:5.1.5.RELEASE] 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.beans.factory。 support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:240 )〜[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]在org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:721)〜[spring-context-5.1.5。 RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:534) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] 在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] 在 org.springframework.boot.SpringApplication 。

我的鳕鱼是:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
    @Autowired
    private Environment env;
    @Autowired
    private UserSecurityService usersecurityservice;
    private BCryptPasswordEncoder passwordencoder(){
        return SecurityUtility.passwordEncoder();
    }
    private static final String[]PUBLIC_MATCHES = {
            "/css/**",
            "/js/**",
            "/img/**",
            "/signUp",
            "/",
            "/newUser",
            "/forgetPassword",
            "/login",
            "/fonts/**",
            "/bookshelf/**",
            "/bookDetail/**",
            "/hours",
            "/faq",
            "/searchByCategory",
            "/searchBook"

    };
@Override
protected …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot websecurity

2
推荐指数
2
解决办法
2万
查看次数

服务器到服务器通信中是否需要防伪令牌?

我有一个基于 ASP.NET Core 3.1 的 REST API。该API将被其他服务器调用,目前没有客户端应用程序调用该API。

在这种情况下我需要防伪令牌吗?另外,如果需要,如何在服务器到服务器通信场景中注入防伪令牌?

security csrf antiforgerytoken asp.net-core-webapi websecurity

2
推荐指数
1
解决办法
430
查看次数

如何避免登录的用户通过控制台使用ajax?

我使用此ajax函数将电子商务网站中的产品插入数据库。

我看到这种方法非常不安全,一些具有编程知识的老练用户可以使用此Ajax并插入产品或其他东西。

我在其他文章中读过,提出了一种解决方案,该解决方案是使用带令牌的隐藏输入字段的解决方案,但是正如我所说的,一些有编程知识的有经验的用户会找到它。

有什么真正的方法可以确保此“添加产品”功能的安全,而无需刷新每个插入页面?

$(document).on('click','#save',function(e) {
      var vidArt = $(".imagepreview").attr('value');

      $.ajax({
             data: {idArt: vidArt},
             type: "POST",
             url: "classes/add_to_cart.php",
             success: function(data){

             }
    });
 });
Run Code Online (Sandbox Code Playgroud)

javascript security ajax websecurity

1
推荐指数
1
解决办法
75
查看次数