草庐IT

SECURITY

全部标签

java - Java 字符串并非真正不可变的含义是什么?

背景在Java101中,我们被教导:AStringisimmutable.是的。好的。谢谢。然后我们进入Java102(或者Java201),我们发现:AStringisn'treallyimmutable:youcanchangeitusingreflection.啊。美好的。要么很可爱,要么非常反常,这取决于你的观点。到目前为止,这些东西已经discussedadinfinitum在StackOverflow和其他地方。在提出这个问题时,我认为这是理所当然的。我有兴趣问的是:问题OncewediscoverthataStringisn'treallyimmutable,whatar

java - user.name 可以被欺骗吗

要在Java程序中获取当前用户的名称,您可以simplyfetchthevalueoftheuser.namesystemproperty:System.getProperty("user.name");但这有多安全?对于常见的运行时环境,执行程序的用户是否可以轻松地将此属性设置为任意值(例如,使用JVM的命令行参数)?用户能否轻易伪造此用户名?我问是因为我正在编写一个任何人都可以运行的命令行程序,但只有当用户是特殊管理用户时才允许进行一些特权操作。请注意,由于Java11user.name属性仅在程序启动后有效读取,因此恶意程序代码无法欺骗它。 最佳答案

java - 使用 Spring Security 配置 Spring Boot 会使构建因引用缺少依赖项而失败

每当尝试在SpringBoot项目上运行mvninstall时,构建都会因以下原因而失败:org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-jerseyorg.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-securi

java - 将 java 远程调试器端口公开到 Internet 是否安全?

我打算公开一个端口,用于通过互联网远程调试基于Java的Web服务,但三思而后行,我意识到它没有任何身份验证。理论上,似乎可以编写一个工具,附加到远程调试器端口,并通过JavaAPI执行任意系统命令。或者修改/转储数据库,等等。至少这个漏洞似乎是这样http://securityaffairs.co/wordpress/36394/hacking/paypal-remote-code-execution.html我不记得曾被强烈警告过要公开远程调试器端口。但如今,当数百个僵尸网络扫描端口寻找漏洞时,应该更好地宣传它。任何人都可以评论它是否安全和/或如何在任意基于java的网络服务上以安

java - XIncludeAwareParserConfiguration 与 XMLParserConfiguration 不兼容

在AIX平台上将ear文件部署到WLS10.3时出现此错误。同一只耳朵在Windows/Linux平台上工作正常。Causedby:java.lang.ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfigurationincompatiblewithorg.apache.xerces.xni.parser.XMLParserConfigurationatorg.apache.xerces.parsers.DOMParser.(UnknownSource)atorg.apache.xerces.par

java - 使用 Spring Security 在运行时切换身份验证方法?

通常,当您为您的应用程序(在我的例子中是webapp)声明不同的“”时,SpringSecurity负责一个接一个地调用提供程序,以防失败。因此,假设我有DatabaseAuthenticationProvider和LDAPAuthenticationProvider,其中DatabaseAuthenticationProvider在配置文件中首先声明,在运行时,首先调用DatabaseAuthenticationProvider,如果身份验证失败,则尝试LDAPAuthentication。这很酷-但是,我需要的是运行时开关。我想在这两种方法(基于数据库的身份验证/基于ldap的身份

java - 如何正确使用 Bouncy CaSTLe 的 OAEPEncoding for RSA(轻量级 API)

我一直在研究BouncyCaSTLe的RSA(轻量级API)实现,并了解了基础知识。看着他们的spec对于JCE提供程序实现,我注意到RSA可以使用不同的填充方案。据我了解,默认情况下使用空填充。因此,我开始探索OAEP填充,尤其是OAEPWithSHA512AndMGF1Padding。用谷歌搜索不是很有帮助所以我开始挖掘BC的源代码并找到了org.bouncycastle.jce.provider.JCERSACipher类(class)。但是看着initFromSpec很快就让我头疼了。。。具体来说就是不明白最后两个可以传给OAEPEncoding构造函数的参数是什么。根据BC的

java - 身份验证后以编程方式添加角色

我有以下JSF2.1登录表单,在Glassfish3.1中运行和下面的支持bean。publicStringlogin()throwsIOException,LoginException{log.debug("Tryingtologinwithusername"+username);HttpSessionsession=getRequest().getSession(true);try{getRequest().login(username,password);//ifOK,addRoles????????...................}catch(ServletExcepti

java - 没有表单登录的Spring Security

我在我的应用程序SpringController中实现了SpringSecurityExpression:@Controller@RequestMapping("init")publicclassInitController{@PreAuthorize("hasRole('ROLE_ADMIN')")@RequestMapping(value="/",method=RequestMethod.GET)public@ResponseBodyStringhome(){return"Thisistheinitpage";}}使用此安全配置:当访问此资源时,将显示默认的Spring登录表单(h

java - 如何在不知道密码的情况下使用 Spring Security 以用户身份自动登录?

我的应用程序使用SpringSecurity,我的客户要求:用户在注册后能够自动登录。管理员可以在不知道密码的情况下以任何用户身份登录。所以我需要弄清楚如何在不知道密码的情况下以任何用户身份自动登录。如何使用SpringSecurity实现这一点? 最佳答案 为了让它工作,我必须:配置对UserDetailsS​​ervice(jdbcUserService)的引用在我的Controller中Autowiring我的userDetailsManager:@Autowired@Qualifier("jdbcUserService")/