我使用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) 最近我研究了许多与XSS攻击有关的内容.我正在寻找XSS攻击的预防技术.
我遇到了一个名为Antisamy的图书馆,由OWASP建议.AntiSamy是一个用于Java的HTML,CSS和JavaScript过滤器,可根据策略文件清理用户输入.AntiSamy不是HTML,CSS和JavaScript验证器.它只是一种确保HTML,CSS和JavaScript输入严格遵循策略文件定义的规则的方法
我还读到了一个名为内容安全策略(CSP)的HTTP响应头.它允许您创建可信内容源的白名单,并指示浏览器仅从这些源执行或呈现资源.
那么我应该只使用Antisamy或CSP,还是使用两者都会有益?
先感谢您.
基本上我有一个网络应用程序,目前很容易受到 XSS 攻击。根据我的研究,我发现 AntiSamy 是一个可以提供帮助的优秀开放库。因此,我下载了库 .jar 文件antisamy-1.5.1.jar和策略文件antisamy-slashdot-1.4.4.xml,并将其导出到我的项目 WEB-INF 目录中。
我对 AntiSamy 还很陌生,并且真的不知道如何在字符串上实现它以对其进行编码并防止 XSS。
假设我有一串:String XSSPossible = "<script>alert("It's vulnerable.");</script>";现在我想将其编码为普通文本并防止 XSS。
致以深切的问候。
我正在使用来自tinymce编辑器的文本的反义词.
我使用的是从"antisamy-TinyMCE的-1.4.4.xml"文件owaspantisam.(作为政策文件).
我的问题是它破坏了我从tinymce编辑器获得的字符串的所有样式标签属性.例如:如果我有一个文本,其中一部分是红色的,而其他部分是带下划线的 - 我将使用antisamy清理html后得到的字符串将全部采用相同的颜色,并且只保存下划线样式属性.我怎样才能保存其他样式属性?是不是要改变xml所以它不会忽略样式属性?
提前致谢.
所以我目前正在使用CF11和CFWheels 1.1,"全局脚本保护"(GSP)服务器功能在覆盖XSS基础方面做得非常糟糕.我想扩展它以阻止JS的任何和所有标签/向量插入到数据库中.
CF11通过getSafeHTML()函数提供antiSamy保护,该函数应用application.cfc中指定的xml策略文件,但我仍然需要修改应用程序中的每个varchar cfqueryparam才能正确使用它?
有没有办法让CF11以与GSP功能类似的方式启用反侦察功能服务器或应用程序?我的意思是GSP会自动从提交给应用程序的输入中删除标签,而无需修改所有查询/表单操作.我想以同样的方式应用反歧义策略文件或getSafeHTML().
谢谢!
我有cq 5.5项目.
我想防止XSS攻击.
根据此链接, cq提供与AntiSamy项目的集成.
请提供与AntiSamy集成的具体步骤,因为我真的找不到它.
我应该在某处编写这样的代码吗?
import org.owasp.validator.html.*;
Policy policy = Policy.getInstance(POLICY_FILE_LOCATION);
AntiSamy as = new AntiSamy();
CleanResults cr = as.scan(dirtyInput, policy);
MyUserDAO.storeUserProfile(cr.getCleanHTML()); // some custom function
Run Code Online (Sandbox Code Playgroud) 我使用名为AntiSamy的工具(http://code.google.com/p/owaspantisamy/)来清理项目中的用户输入.我不懂Java.我只是创建对象,调用它的方法,它的工作原理.
最近该项目已在Google代码上更新,但下载包本身并未更新.我正在寻找有关如何下载更新代码以创建我自己的JAR文件并替换项目中现有文件的明确说明,从而使用更新.
看看谷歌代码中的代码分支,有很多文件夹和其他项目,所以我不确定我需要哪些部分,以及我应该具有哪种类型的目录结构.
任何人都知道JAR文件中应该包含什么/如何做到这一点?我不是一个经验丰富的编码员,所以请不要超级技术.
我想修改Sakai的部署安装,以允许来自多个校园媒体服务器的iframe.iframe的一个示例是https://mediaserver.example.edu/p/player.html.在已部署的Tomcat中编辑策略文件的最简单方法是什么?
我在 JAVA 项目中使用 OWASP AntiSamy,但每次我尝试使用包含 \n 字符的字符串调用方法 getCleanHTML() 时,该方法都会替换为空格“”。我已经尝试更改 XML 文件中的规则,但它仍然发生。我如何解决它?
我有一个要求,在那里我有防止用户输入=的textbox在整个应用程序以防止漏洞。
<input type="text"></input>
Run Code Online (Sandbox Code Playgroud)
我一直在使用它antisamy-1.4.4.xml,XSSFilter.java它负责很多漏洞检查,但不检查'='输入的符号textbox。无论如何我可以为整个应用程序完成的文本框做些什么?
在遇到 antisamy 项目之前,我试图编写自己的过滤器,该项目允许您配置和防止 XSS 攻击。但我只是想知道是否可以使用同样的方法来防止sql注入攻击?
任何已经实施 antisamy 来防止 sql 注入攻击的人可以让我知道我们如何继续前进吗?
antisamy ×11
java ×6
xss ×5
javascript ×3
owasp ×3
security ×2
aem ×1
build ×1
cfwheels ×1
coldfusion ×1
encode ×1
google-code ×1
html ×1
html-parsing ×1
sakai ×1
tinymce ×1
validation ×1