jjzjj

sanitization

全部标签

java - 使用 JSON Sanitizer 清理来自 Spring MVC Controller 的响应 JSON?

我想拦截从SpringMVCRestController发回的JSON,并通过一个确保其有效且HTML转义任何狡猾字符的清理器来运行它。(可能是OWASPJSONSanitizer)我们使用JacksonHTTP消息转换器将@ResponseBody转换为JSON,据我所知,一旦我将对象作为@ResponseBody返回,我就失去了对它的控制。有没有一种明智的方法可以将JSON拦截为字符串以在其上运行清理代码?我目前正在研究三种途径:编写过滤器和ResponseWrapper,在将JSON发送回客户端之前对其进行清理。以某种方式扩展JSONMapper以提供经过净化的JSON。编写处理

java - 在使用正则表达式之前如何清理输入?

我正在制作一个使用正则表达式解析用户输入的Java程序。例如,如果用户输入/meeats,它应该匹配/me并将其替换为.但是,Java没有正确匹配,因为/是正则表达式的特殊字符。如何使用转义符自动替换所有各种特殊的Java正则表达式字符?例如:/me变成\/me*变成\*[变成\[等等...之前它被放入Pattern.compile.这不是命令系统。我允许用户指定如何表示角色扮演Action。如果有帮助,这里是用户如何指定他们认为角色扮演Action的模型: 最佳答案 Supuhstar,我相信这就是您正在寻找的单线(请参阅onli

java - 哪些字符可以安全地不使用 CSS 值上下文进行转义?

我有一个来自用户的字符串,然后使用CSS解析器将其插入到一个大的CSSblock中。CSS转义可以通过\C(其中C是一个字符)、\HexOfC(带空格)或\6DigitHexOfC完成.通常,所有字符都可以安全地转义,CSS仍会按预期运行。以下作品:div{background:\23f66;}Test但是,我仍然希望CSS属性尽可能“干净”,因为我希望能够使用检查器干净地查看URL和规则。有些Angular色显然是坏的。{};\*应该全部转义,因为它们可以用来打破当前规则。我正在管理字符的白名单(所有内容都被转义,除了允许的内容)(与允许所有内容的黑名单相反,除了不允许的内容)。我目

java - 在 java 字符串中转义 % 符号以应用 String.format

在我的项目(Java/Play框架)中,我有一个错误处理路由,它检查来自Web服务的响应,如果响应是错误代码,我们会显示相应的错误消息,说明用户输入的问题,该服务检查用户输入的有效性。当用户输入一个%符号时,这个逻辑就中断了,因为错误显示逻辑使用了String.format(message,messageArgs);它插入messageArgs并在它找到%的地方引入消息字符串,如果messageArgs也包含%,我会得到一个异常。在显示消息之前,我需要清理、转义或以其他方式从用户输入中删除%。消息:请求的电子邮件地址%s无效messageArgs:orlybg%@gmail.com关于

java - 如何使用 OWASP HTML Sanitizer 允许特定字符?

我正在使用OWASPHtmlSanitizer来防止对我的网络应用程序进行XSS攻击。对于许多应该是纯文本的字段,Sanitizer的表现超出了我的预期。例如:HtmlPolicyBuilderhtmlPolicyBuilder=newHtmlPolicyBuilder();stripAllTagsPolicy=htmlPolicyBuilder.toFactory();stripAllTagsPolicy.sanitize('a+b');//returna+bstripAllTagsPolicy.sanitize('foo@example.com');//returnfoo&

Java:Owasp AntiSamy 与 Owasp-java-html-sanitize

我现在正在寻找html净化器库。而且我发现有两个“owasp”库。首先是https://code.google.com/p/owasp-java-html-sanitizer/第二个是https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project.我的问题是-比较它们的优缺点是什么。 最佳答案 OWASPjavahtmlsanitizer是比antisamy更新的项目。这些项目的目标是相同的——清理HTML以防止XSS并过滤掉其他不需要的内容。然而他们的方法是不同的。每

c++ - GCC Address Sanitizer - 将库函数列入黑名单(特别是 boost::test)

我所有的单元测试代码都基于boost::test。我刚刚尝试了GCCAddresssanitizer,它报告了boost::test的一些问题:==25309==ERROR:AddressSanitizer:heap-use-after-freeonaddress0xf5801344atpc0x8259412bp0xff9966c8sp0xff9966bcREADofsize4at0xf5801344threadT0#00x8259411inboost::unit_test::framework::run(unsignedlong,bool)../common/lib/boost/bo

c++ - 地址 sanitizer : "SEGV on unknown adress" when using throw-catch and printf

当我扔东西时,例如一个int或一个charconst*,并使用printf检查错误,我得到一个AddressSanitizerError。我无法在网上找到任何类似的东西,而且我的代码示例非常基础,以至于我真的不明白它怎么可能会产生错误。精简代码示例:#includeintmain(){try{throw42;}catch(intmsg){printf("%d\n",msg);}return0;}运行代码时的控制台输出:ASAN:SIGSEGV===================================================================16533=

c++ - 如何在 clang-sanitizer 发现错误时终止 clang-instrumented 程序?

假设我有以下程序:#includefloatfoo(floatf){return(f/0);}intmain(void){foo(1.0f);std::cout如果我调用clang++-fsanitize=undefinedmain.cpp&&./a.out那么它将输出:main.cpp:4:32:runtimeerror:divisionbyzerohello有没有办法在检测到错误时立即终止a.out?IE。以这样的方式显示:main.cpp:4:32:runtimeerror:divisionbyzero不在下一行显示hello?(因为它会在之前终止)

c++ - Thread Sanitizer 是否可用?

我想尝试线程清洁剂(http://code.google.com/p/data-race-test/wiki/ThreadSanitizer#Using_ThreadSanitizer)所以我做了一个简单的程序:#include#include#include#include#include#includeusingnamespacestd;intviolated=0;mutexmtx;voidviolator(){lock_guardlg(mtx);violated++;}intmain(){threadt1(violator);t1.join();threadt2(violator