我所知道的一家公司正在讨论如何在其所有Web应用程序产品中确定其密码安全策略.
现在,他们通过HTTP在POST表单中发送用户名/密码身份验证,因此,他们正在发送纯文本.
解决这个问题最简单的方法就是要求HTTPS在所有应用程序中登录,对吧?
好吧,有一些内部讨论,而不是做一些自己的客户端密码加密(密码+盐等).
是否有可接受的仅HTTP解决方案?
意见就像......好吧,每个人都有意见,所以我正在寻找可以支持你的建议的可靠安全文献.不要只是google并将我发送到博客文章......我已经做到了这一点.
我找到了OWASP的建议:http: //www.owasp.org/index.php/Top_10_2007-A7#Protection
以及微软的:http: //msdn.microsoft.com/en-us/library/aa302420.aspx
编辑:提供使用SSL的建议是不够的.我需要某种支持文档.我知道滚动我们自己的客户端加密是不好的.我需要能够可靠地将其出售给同事和管理层.
此外,还提到了HTTP Digest.看起来不错,但Digest仅用于HTTP身份验证,而不适用于通过POST发送的数据.
什么是SQL Server相当于Oracle的虚拟专用数据库(VPD)?
Java中的自动化安全测试是否存在这样的问题?如果是这样,它是如何实现的?是编写JUnit测试来尝试和利用已知的服务器漏洞,还是以安全为中心的测试框架?
作为一个segue,我也对这个OWASP安全测试框架感兴趣,但无法判断他们是否在经典意义上使用"框架"(意味着要遵循一套指导方针和程序),或者在软件环境中(他们实际上在哪里提供自动安全测试组件).
感谢任何可以为我揭示这一点!
我使用Antisamy来验证HTML.我的政策允许iframe,例如youtube视频.问题是 - 如果标签为空(如下所示):
<iframe src="//www.youtube.com/embed/uswzriFIf_k?feature=player_detailpage" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
比清洁后,它将是这样的:
<iframe src="//www.youtube.com/embed/uswzriFIf_k?feature=player_detailpage" allowfullscreen/>
Run Code Online (Sandbox Code Playgroud)
但它应该有正常的结束标记.
这打破了页面上的所有内容.我已经将我的指令设置为使用大部分HTML但不使用XML:
<directives>
<directive name="omitXmlDeclaration" value="true"/>
<directive name="omitDoctypeDeclaration" value="true"/>
<directive name="maxInputSize" value="200000"/>
<directive name="nofollowAnchors" value="true" />
<directive name="validateParamAsEmbed" value="true" />
<directive name="useXHTML" value="false"/>
<directive name="embedStyleSheets" value="false"/>
<directive name="connectionTimeout" value="5000"/>
<directive name="maxStyleSheetImports" value="3"/>
<directive name="formatOutput" value="false"/>
</directives>
Run Code Online (Sandbox Code Playgroud)
但这没有用.
UPD:在解析器之间切换和使用指令仍然没有给出任何结果.
UPD2:这是我的配置的一部分,负责处理iframe标签:
<tag name="iframe" action="validate">
<attribute name="src">
<regexp-list>
<regexp name="youtube"/>
<regexp name="slideshare"/>
</regexp-list>
</attribute>
<attribute name="allowfullscreen">
<regexp-list>
<regexp name="anything"/>
</regexp-list>
</attribute>
<attribute name="scrolling">
<regexp-list>
<regexp name="anything"/>
</regexp-list>
</attribute>
<attribute name="marginwidth">
<regexp-list> …Run Code Online (Sandbox Code Playgroud) 美好的一天,
我在Tomcat前面运行Apache2服务器,我需要在Apache2层上实现DDOS保护机制.我有两个候选人:mod_evasive和mod_security2以及OWASP核心规则集.
已经安装了Mod_security用于整体保护,但问题是:除了mod_security之外是否值得为DDOS添加mod_evasive(它有任何主要优点)还是/ experimental_rules /目录中的OWASP crs规则(modsecurity_crs_11_dos_protection.conf)提供了同样的保护?或者这只是一个偏好问题?这些网站的流量通常不是很高.
马丁
我想拦截从Spring MVC Rest Controller发送回的JSON,并通过消毒剂运行它,以确保其有效,并且HTML会转义任何狡猾的字符。(可能是OWASP JSON Sanitizer)
据我所知,一旦我以@ResponseBody的形式返回对象,就失去了对它的控制,我们使用Jackson的HTTP Message转换器将@ResponseBody转换为JSON。
是否有一种明智的方式将JSON截取为String以便在其上运行清理代码?
我目前正在调查三个途径:
我不确定这两种方法是否都可以使用,或者是否有更明智的第三种选择。
我公司的 Sonatype 扫描显示 Spring-Web 即使是最新版本(目前是 5.2.3.RELEASE)也容易受到攻击。它说“发现安全漏洞 CVE-2016-1000027,严重性为 9.8”。我注意到 CVE-2016-1000027 已于 2020 年 1 月 2 日添加到 NATIONAL VULNERABILITY DATABASE 中,它是关于“如果用于不受信任数据的 Java 反序列化,Spring Framework 4.1.4 会遇到潜在的远程代码执行 (RCE) 问题” . 这是一张过时的票还是4年后没有解决?
要求是对需要在 Azure DevOps 发布管道中进行身份验证的网站执行 OWASP ZAP 扫描。无法找到对经过身份验证的网页执行此操作的方法。请指导我。我可以从 Azure DevOps 市场找到使用 OWASP ZAP 扫描仪扩展的方法,但无法找到有关如何在管道中使用身份验证进行配置的正确说明。
提前致谢。
owasp zap azure-devops azure-pipelines azure-pipelines-release-pipeline
我已经生成 bom 并将它们与 Dependency Track 一起用于一些使用 Gradle 构建的项目。有一个 CycloneDx Gradle 插件非常适合此目的。不过,我也在处理许多使用 Ant 构建的较旧的 Java 项目。我一直无法在任何地方找到 Ant 工具来生成 bom。那里有吗?如果没有,生成 bom 文件的最佳方法是什么?
如果可以从 Windows 命令提示符完成,我可能可以使用它,因为我会将批处理脚本添加到我的 Jenkins 构建中。
我正在使用 owasp-java-html-sanitizer 并尝试将 id 属性添加到 HTML 代码中的每个 h2 标签,该属性应该在多个页面加载过程中保持不变,但对于页面上的每个元素都是唯一的(如 id 属性所定义的) )。我尝试对所有元素进行计数以获得索引并将索引添加到每个 h2 元素。但是,我目前无法在 java 中访问这些数据。然后我使用了 UUID.randomUUID(),但是由于它是随机的,因此 id 不是持久的。
这是我目前拥有的代码:
public PolicyFactory HtmlPolicy() {
return new HtmlPolicyBuilder()
.allowElements("h3", "h4", "h5", "h6", "p", "span", "br", "b", "strong", "i", "em", "u", "hr", "ol", "ul", "li",
"img", "table", "tr", "th", "td", "thead", "tbody", "tfoot", "caption", "colgroup", "col", "blockquote", "figure", "figcaption", "object", "iframe")
.allowElements(
(String elementName, List<String> attrs) -> {
String uniqueID = UUID.randomUUID().toString();
// Add an attribute.
attrs.add("id");
attrs.add("headline-" + uniqueID);
attrs.add("class");
attrs.add("scrollspy"); …Run Code Online (Sandbox Code Playgroud) owasp ×10
java ×5
security ×5
spring-mvc ×2
ant ×1
antisamy ×1
apache ×1
azure-devops ×1
azure-pipelines-release-pipeline ×1
ddos ×1
html ×1
html-parsing ×1
http ×1
https ×1
json ×1
mod-security ×1
oracle ×1
sanitizer ×1
sonatype ×1
spring ×1
sql ×1
sql-server ×1
tomcat ×1
unit-testing ×1
zap ×1