问题标签 [antisamy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - TinyMce 样式属性的 AntiSamy
我正在对从 tinymce 编辑器获得的文本使用反义词。
我正在使用来自owaspantisam的“antisamy-tinymce-1.4.4.xml”文件。(作为策略文件)。
我的问题是它破坏了我从 tinymce 编辑器获得的字符串的所有样式标签属性。例如:如果我有一个文本,它的一部分是红色的,而另一部分是下划线的 - 我用 antisamy 清理 html 后得到的字符串将全部是相同的颜色,它只保存下划线样式属性。如何保存其他样式属性?更改 xml 是否会忽略样式属性?
提前致谢。
java - 部署 antiSamy 后出现 ParserException 错误
我正在使用antiSami
我的 ColdFusion 项目。我正在通过 onApplicationStart() 加载 antiSami,如下所示:
如果我转储,我可以看到 antiSami 对象application.antiSami
。但是,一旦我添加以下行:
local.result = application.antiSami.scan("some text", application.antiSamiPolicyPath);
我收到这条通用浏览器 500 消息:
Server Error, HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.
在幕后,我通过 CFBuilder 发现了这个错误:
"Error","web-4","06/14/11","15:27:04","80BBF6B60584F6D148A7DC2A12007C03","org/apache/batik/css/parser/ParseException The specific sequence of files included or processed is: C:\ColdFusion9\wwwroot\gamers\index.cfm, line: 25 "
任何想法这个错误是关于什么的?
java - 从 Google 代码编译 java 项目的说明
我使用一个名为 AntiSamy ( http://code.google.com/p/owaspantisamy/ ) 的工具来清理项目中的用户输入。我不知道Java。我只是创建对象,调用它的方法,然后它就可以工作了。
最近该项目在谷歌代码上更新了,但下载包本身没有。我正在寻找有关如何下载更新代码以创建自己的 JAR 文件并替换项目中现有的 JAR 文件的明确说明,从而利用更新。
查看谷歌代码中的代码分支,文件夹和其他项目很多,所以我不确定我需要哪些部分,我应该有什么类型的目录结构。
任何人都知道 JAR 文件中应该包含什么/如何做到这一点?我不是一个经验丰富的编码员,所以请没有什么超级技术。
regex - YouTube 网址 - 正则表达式
我的 antisamy 策略文件中有以下配置:
旧 YouTube 对象:
AntiSamy 配置:
目前我在 iframe 上的配置:
新的 YouTube iframe:
我认为 iframe 的代码应该是这样的:
您如何更改正则表达式,使其接受新旧链接,例如:
java - 使用 antisamy.jar/xml 时,脚本/标签在文本中被删除
我正在使用 antisamy.xml 和 antisamy.jar 来防止 XSS。因此,当我在文本框中输入脚本标签时,它会截断它,并且除标签之外的其他文本存储在数据库中。
我也想将脚本/标签存储在数据库中,但不应用脚本/标签。
例如,如果我输入 alert(); 在 jsp 页面上的文本框中。我希望将整个内容保存在 db 中,但我不应该在 ui 上收到警报。
classnotfoundexception - JBoss AS 7:使用 xml-apis.jar 时出错
我在我的项目中使用了 anti-samy jar。org.w3c.dom.Element 类是一个依赖项,我在 xml-apis jar 下找到。
但是我在使用应用程序时遇到了这个错误:org.w3c.dom.Element from [Module "deployment.xxx.ear.antisamy-1.4.4.jar:main" from Service Module Loader]
我认为我有一个类加载器地狱,但我找不到我需要的模块。
信息:我的应用程序分布在 EAR 中,anti-samy 和 xml-apis 位于我的 EAR 的根目录中。我使用的类位于我的 EJB 模块中,并且在我的清单文件中我有这些类。
[解决了]
我的错。我在 EAR 的根目录中添加了 jars。因此,在我将 jar 移动到 EAR 的 /lib 目录后,一切正常。
xml - 自定义 Antisamy 策略 xml 以允许更多 html 和 grails 标签
我在 grails 中使用 sanitizer 插件,它在内部使用 antisamy 策略 xml 将清理规则应用于 ui 输入。我选择的策略 xml 是 antisamy-myspace.xml,它过滤 javascript 标记和代码以及 <html> 和 <body> 和 <head> 标记。
问题是它还拒绝了一些 grails 标签,特别是以下 2:
这两个标签没有通过验证,我需要通过验证器让它们通过或允许,我还想允许 <html> 和 <body> 和 <head> 标签。
如何修改 antisamy 策略文件以允许这些标签?\ 提前致谢
java - DOMParsing (Antisamy) 的哪种编码
我正在将 antisamy 用于一个新项目,以防止 xss 漏洞。在应用程序中,用户可以通过简单的(ansi 编码)excel 文件上传内容。应该可以插入一些 html 但不能插入 javascript 等等。
当我用 antisamy 扫描我的输入时,我得到了这个错误: a 标签包含一个我们无法处理的属性。href 属性的值为“https 8; 7; 7;bla 6;bla 6;com 7;bla 7;...”。出于安全原因,无法接受此值。我们选择过滤 a 标签以继续处理输入。
我在实体中添加了一些空格,您可以看到它。
(但它应该像https://bla.bla.com/bla/ ...)
当我通过代码调试时,“受污染的 Html 输入”及其 href 属性似乎是正确的(因此 excel 文件的编码没有问题)。
antisamy-policy 文件如下所示:
我还测试了正则表达式模式,因为我认为链接是有效的。当然不是,当它由 html 实体编码时。
所以有什么问题?
非常感谢提前
我通过 AntiSamy 代码进行了一些调试,现在我看到了问题,但我仍然无法解决问题。htmlentities 是在验证后由 antisamy 添加的(如果我将它打印在 HTML 页面上..)。但是我的输入将由 AntiSamy 库中的 org.cyberneko.html.parsers.DOMFragmentParser 使用以下语句解析: parser.parse(new InputSource(new StringReader(html)), dom); 在我的 a 标签中, href 属性现在包含如下内容: https://bla.bla.com/bla?frame=Frameset[undefinable character]lang=en insted of https://bla.bla.com/bla?frame =框架集&lang=zh
所以这似乎是一个编码问题,&符号将不再是&符号。如何找出我应该使用哪种编码?
编辑:字符是 E2 8C A9 -> ⟨
json - html 控件和请求参数的 XSS 问题
我需要在我的应用程序中修复 XSS 问题。现在我是 JSON 和 XSS 的新手。我想到了两种可能发生攻击的方式 - 首先是通过 html 输入控件(文本框/区域等)或通过 url 中可见的请求参数(GET)。请建议我是否在这里遗漏了什么?
我正在考虑使用 AntiSamy (https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project)。我正在考虑创建一个自定义标签,其中包含 html 控件的值,例如
<input type="text" NAME="name" value="<mytag:xssclean><c:out value= escapeXml="false"/></mytag:xssclean>
这个标签类实际上会使用 antisamy 来扫描 html 内容。这是否会在将这些参数发送到控制器类然后最终发送到数据库之前对输入到文本框/区域的任何恶意 javascript 内容进行编码?还是只对来自控制器类的内容进行编码以在 jsp 上呈现?
这是正确的方法吗?我什么时候需要在 java 端(通过使用 antisamy 直接验证的控制器类)与在 jsp(带有新标签)上进行验证?
此外,我有许多 jsp,它们没有带有 html 控件的直接表单字段,但它们的结构是动态创建的,并且将 jason 字符串提供给 jsp。jsp 将简单地具有 : where 'value' 将包含要在 html 上呈现的最终 jason(包括 html 字段)。我们是否需要在 jason 字符串上使用 antisamy 应用 XSS 解决方案,或者 jason 数据已经免受 XSS 攻击,并且类似的东西已经作为文本存在于 jason 中?对于 json 案例,我应该在哪里解决这个问题?
java - Antisamy 是否可以防止 Sql 注入
在遇到允许您配置和防止 XSS 攻击的 antisamy 项目之前,我试图编写自己的过滤器。但我只是想知道是否可以使用相同的方法来防止 sql 注入攻击?
任何实施了反反法以防止 sql 注入攻击的人都可以告诉我我们该如何前进。